Back to Comparison Hub/Omni Reference Pricing
Text to Video

Omni Reference API Pricing

Seedance 2 Mini Omni Reference generates video from a text prompt with optional image, video, and audio references. Cost-efficient mini-tier model for reference-driven workflows.

Savings Alert-400% ↓Cheaper than Fal.ai

About Omni Reference

Seedance 2 Mini Omni Reference is the most flexible mini-tier generation mode, accepting up to 9 reference images, 3 reference video clips, and 3 reference audio files alongside your text prompt. Reference each asset in your prompt with @image1–@image9, @video1–@video3, and @audio1–@audio3 for precise creative control.

Interactive Savings Calculator

Estimate monthly API spend and compare absolute developer savings.

Monthly API Generations10,000 runs
50025,00050,00075,000100,000+
MuAPI Monthly Cost

$1500.00

$0.15/sec at 720p + video surcharge, $0.08/sec at 480p + video surcharge
Fal.ai Cost

$300.00

Not available
Estimated Monthly Savings$-1200.00
Annual Savings$-14400.00

Detailed Pricing Breakdown

ProviderEstimated RateNotes
muapiapp$0.15/sec at 720p + video surcharge, $0.08/sec at 480p + video surchargeVideo reference surcharge: 30% of rate × total input video seconds.
Fal.aiNot availableSeedance 2 Mini Omni Reference not available via Fal.ai.
ReplicateNot availableSeedance 2 Mini Omni Reference not available via Replicate.

Developer Integration Snippets

1import requests 2import time 3import json 4 5api_key = "YOUR_API_KEY" 6url = "https://api.muapi.ai/workflow/run/seedance-2-mini-omni-reference" 7 8def poll_for_result(run_id): 9 url = f"https://api.muapi.ai/workflow/run/{run_id}/api-outputs" 10 headers = { 11 "Content-Type": "application/json", 12 "x-api-key": f"{api_key}", 13 } 14 while True: 15 response = requests.get(url, headers=headers) 16 result = response.json() 17 18 if result['status'] == 'completed': 19 return json.loads(result['outputs']) 20 21 if result['status'] == 'failed': 22 raise Exception(result.get('error', 'Generation failed')) 23 24 time.sleep(5) 25 26data = { 27 "schemas": { 28 "input_data": { 29 "x-order-properties": [ 30 "prompt", 31 "images_list", 32 "video_files", 33 "audio_files", 34 "aspect_ratio", 35 "duration", 36 "resolution", 37 "generate_audio", 38 "high_bitrate" 39 ], 40 "type": "object", 41 "properties": { 42 "prompt": { 43 "examples": [ 44 "The character walks forward confidently in a sunny meadow, camera follows from behind." 45 ], 46 "description": "Text prompt. Reference images with @image1..@image9, videos with @video1..@video3, audio with @audio1..@audio3.", 47 "type": "string", 48 "title": "Prompt", 49 "name": "prompt" 50 }, 51 "images_list": { 52 "examples": [ 53 "https://d3adwkbyhxyrtq.cloudfront.net/webassets/videomodels/seedance-v1.5-pro-i2v.jpg" 54 ], 55 "description": "Up to 9 reference images (JPEG/PNG/WebP). Referenced in prompt via @image1..@image9.", 56 "field": "images_list", 57 "type": "array", 58 "items": { 59 "type": "string" 60 }, 61 "title": "Reference Images", 62 "name": "images_list", 63 "maxItems": 9 64 }, 65 "video_files": { 66 "examples": [ 67 "" 68 ], 69 "description": "Up to 3 reference video clips (MP4, total max 15s). Referenced in prompt via @video1..@video3.", 70 "field": "videos_list", 71 "type": "array", 72 "items": { 73 "type": "string" 74 }, 75 "title": "Reference Videos", 76 "name": "video_files", 77 "maxItems": 3 78 }, 79 "audio_files": { 80 "examples": [ 81 "" 82 ], 83 "description": "Up to 3 reference audio files (MP3/WAV, total max 15s). Referenced in prompt via @audio1..@audio3.", 84 "field": "audios_list", 85 "type": "array", 86 "items": { 87 "type": "string" 88 }, 89 "title": "Reference Audio", 90 "name": "audio_files", 91 "maxItems": 3 92 }, 93 "aspect_ratio": { 94 "enum": [ 95 "16:9", 96 "9:16", 97 "1:1", 98 "3:4", 99 "4:3", 100 "21:9" 101 ], 102 "title": "Aspect Ratio", 103 "name": "aspect_ratio", 104 "type": "string", 105 "description": "Aspect ratio of the output video.", 106 "default": "16:9" 107 }, 108 "resolution": { 109 "enum": [ 110 "480p", 111 "720p" 112 ], 113 "title": "Resolution", 114 "name": "resolution", 115 "type": "string", 116 "description": "Output video resolution.", 117 "default": "720p" 118 }, 119 "duration": { 120 "title": "Duration", 121 "name": "duration", 122 "type": "int", 123 "description": "Video duration in seconds.", 124 "default": 5, 125 "minValue": 4, 126 "maxValue": 15, 127 "step": 1 128 }, 129 "generate_audio": { 130 "type": "boolean", 131 "title": "Generate Audio", 132 "name": "generate_audio", 133 "description": "Whether to generate AI audio synchronized with the video.", 134 "default": true 135 }, 136 "high_bitrate": { 137 "type": "boolean", 138 "title": "High Bitrate", 139 "name": "high_bitrate", 140 "description": "Enable high bitrate mode for better visual fidelity. Produces larger files.", 141 "default": false 142 } 143 }, 144 "title": "BaseInput", 145 "required": [ 146 "prompt" 147 ], 148 "endpoint_url": "seedance-2-mini-omni-reference" 149 }, 150 "output_data": { 151 "type": "object", 152 "properties": { 153 "video": { 154 "examples": [ 155 "https://d3adwkbyhxyrtq.cloudfront.net/webassets/videomodels/seedance-v1.5-pro-t2v.mp4" 156 ], 157 "description": "The generated video.", 158 "title": "Video", 159 "comparison": false 160 } 161 }, 162 "title": "Seedance2MiniOmni", 163 "required": [ 164 "video" 165 ] 166 } 167 } 168} 169 170headers = { 171 "Content-Type": "application/json", 172 "x-api-key": f"{api_key}", 173} 174 175response = requests.post(url, json=data, headers=headers) 176 177result = response.json() 178print("Queued:", result) 179 180outputs = poll_for_result(result["run_id"]) 181print("Completed:", outputs) 182

Model FAQ

Ready to scale your production?

Get instant access to developer keys. Integrate high-speed dynamic models in minutes with our robust SDKs.