Format Conversion
Convert Gaussian Splat files between formats for optimal delivery and compatibility.
Supported Formats
| Format | Extension | Best For | File Size |
|---|---|---|---|
| SOG | .sog |
Web delivery | Smallest |
| Compressed PLY | .ply |
Balanced | Medium |
| Standard PLY | .ply |
Maximum quality | Largest |
| SPLAT | .splat |
Legacy support | Medium |
Using the Desktop App
Single File Conversion
- Open Convert tab
- Drag and drop your file
- Select output format
- Click Convert
Batch Conversion
- Open Convert tab
- Drag multiple files or a folder
- Select output format
- Configure options:
- Output directory
- File naming pattern
- Click Convert All
Conversion Options
| Option | Description |
|---|---|
| Output Format | Target format (SOG, PLY, etc.) |
| Quality | Compression level (SOG only) |
| Preserve Original | Keep source files after conversion |
| Output Directory | Where to save converted files |
Using the CLI
Basic Conversion
# PLY to SOG
splat-tools convert input.ply output.sog
# SOG to PLY
splat-tools convert input.sog output.ply
Batch Conversion
# Convert all PLY files in a directory to SOG
splat-tools convert ./splats/*.ply --output-dir ./converted --format sog
# Convert with specific quality
splat-tools convert input.ply output.sog --quality high
CLI Options
splat-tools convert <input> [output] [options]
Options:
--format, -f Output format (sog, ply, splat)
--quality, -q Quality level (low, medium, high)
--output-dir, -o Output directory for batch conversion
--overwrite Overwrite existing files
--verbose Show detailed progress
Programmatic Usage
import { convert } from '@storysplat/splat-tools';
// Single file
const result = await convert({
input: 'path/to/input.ply',
output: 'path/to/output.sog',
format: 'sog',
quality: 'high',
});
// Batch conversion
const results = await convert({
input: 'path/to/splats/*.ply',
outputDir: 'path/to/converted',
format: 'sog',
});
console.log(`Converted ${results.length} files`);
Format Details
SOG Format
StorySplat Optimized Gaussian - Our custom format optimized for web delivery.
Advantages: - 60-80% smaller than standard PLY - Fast streaming with progressive loading - Optimized for WebGL/WebGPU rendering
Compressed PLY
Standard PLY with internal compression.
Advantages: - Widely compatible - Good compression ratio - Preserves all gaussian data
Standard PLY
Uncompressed PLY format.
Advantages: - Maximum compatibility - No quality loss - Easy to inspect/modify
Quality Settings
SOG Quality Levels
| Level | Compression | Use Case |
|---|---|---|
low |
Aggressive | Mobile, low bandwidth |
medium |
Balanced | General web use |
high |
Minimal | High-quality displays |
Quality Comparison
Original PLY: 100 MB
SOG (low): 15 MB (85% reduction)
SOG (medium): 25 MB (75% reduction)
SOG (high): 40 MB (60% reduction)
Compressed PLY: 45 MB (55% reduction)
Best Practices
For Web Delivery
- Use SOG format for smallest file sizes
- Use medium quality for most cases
- Consider low quality for mobile-first sites
For Archival
- Use standard PLY for long-term storage
- Keep original files as backup
- Document conversion settings used
For 4DGS Frames
- Use SOG format for frame sequences
- Consistent quality across all frames
- Balance file size vs. visual quality
Troubleshooting
"Conversion failed"
- Check input file isn't corrupted
- Ensure enough disk space
- Verify file permissions
"Output file larger than input"
- Some format conversions may increase size
- Try different quality settings
- SOG from uncompressed PLY should always be smaller
"Quality looks degraded"
- Increase quality setting
- Use
highquality for important scenes - Compare with original to verify
Next Steps
- Image to Splat - Create splats from images
- Video to 4DGS - Create volumetric video
- CLI Reference - Full command reference