Skip to content

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

  1. Open Convert tab
  2. Drag and drop your file
  3. Select output format
  4. Click Convert

Batch Conversion

  1. Open Convert tab
  2. Drag multiple files or a folder
  3. Select output format
  4. Configure options:
  5. Output directory
  6. File naming pattern
  7. 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

# Convert to SOG with high quality
splat-tools convert scene.ply scene.sog --quality high

Compressed PLY

Standard PLY with internal compression.

Advantages: - Widely compatible - Good compression ratio - Preserves all gaussian data

# Convert to compressed PLY
splat-tools convert scene.sog scene_compressed.ply --compress

Standard PLY

Uncompressed PLY format.

Advantages: - Maximum compatibility - No quality loss - Easy to inspect/modify

# Convert to standard PLY (no compression)
splat-tools convert scene.sog scene.ply --no-compress

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 high quality for important scenes
  • Compare with original to verify

Next Steps