Quick Example
When You Need Transcoding
| Scenario | Transcode? | Why |
|---|---|---|
| MOV, MKV, AVI input | Yes | Convert to MP4/HLS for playback |
| 4K source → 720p delivery | Yes | Reduce size and bandwidth |
| High framerate (120fps) → 30fps | Yes | Normalize for web |
| Custom aspect ratio | Yes | Crop or letterbox |
| MP4 already in target format | No | Upload directly |
| Already optimized for web | No | Save processing cost |
Input Limits
| Capability | Limit |
|---|---|
| Max Resolution | 4K (3840 × 2160) |
| Max Frame Rate | 100 fps |
| Max File Size | 8 GB |
| Audio Support | AAC, MP3, or mute |
Processing Modes
Choose based on your latency and cost requirements:| Mode | Best For | Trade-off |
|---|---|---|
lightning | Real-time workflows | Faster, higher cost |
economy | Batch processing | Slower, lower cost |
Job Lifecycle
- Submit Job -
conn.transcode()→ Status:pending - Processing - Fetch & encode → Status:
processing - Complete - Webhook triggers with output URL
Check Status
Webhook Callbacks
Success
Failure
Error Codes
| Code | Meaning | Fix |
|---|---|---|
invalid_video_config | Resolution/FPS/CRF error | Check ≤4K, ≤100 fps |
invalid_audio_config | Conflicting audio params | Adjust audio config |
invalid_source | URL not accessible | Check URL permissions |
invalid_media | Unsupported format | Convert to supported format |
internal_server_error | Unexpected error | Retry or contact support |