Back to Comparison Hub/Turbo First-Last Frames Pricing
Image to Video

Turbo First-Last Frames API Pricing

Vidu Q3 Turbo First-Last Frames interpolates a quick, cost-efficient transition between two key images — your start frame and end frame — guided by a text prompt. Great for transformation reveals, transitions, and short-form storytelling at scale.

Savings Alert-100% ↓Cheaper than Fal.ai

About Turbo First-Last Frames

Vidu Q3 Turbo First-Last Frames interpolates a quick, cost-efficient transition between two key images — your start frame (`image_url`) and end frame (`last_image`) — guided by a text prompt. Great for transformation reveals, transitions, and short-form storytelling at scale.

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

$600.00

$0.06 per second at 720p ($0.30 per 5s clip)
Fal.ai Cost

$300.00

Not available
Estimated Monthly Savings$-300.00
Annual Savings$-3600.00

Detailed Pricing Breakdown

ProviderEstimated RateNotes
muapiapp$0.06 per second at 720p ($0.30 per 5s clip)Per-second pricing — 360p $0.035/s, 540p $0.04/s, 720p $0.06/s, 1080p $0.08/s.
Fal.aiNot availableVidu Q3 Turbo first-last frames is not listed on Fal.ai at this time.
ReplicateNot availableVidu Q3 Turbo first-last frames is not listed on Replicate at this time.

Developer Integration Snippets

1import requests 2import time 3import json 4 5api_key = "YOUR_API_KEY" 6url = "https://api.muapi.ai/workflow/run/vidu-q3-turbo-first-last-frames" 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 "image_url", 32 "last_image", 33 "resolution", 34 "aspect_ratio", 35 "duration", 36 "audio" 37 ], 38 "type": "object", 39 "properties": { 40 "prompt": { 41 "examples": [ 42 "Dark smoke begins leaking from the woman’s body and rapidly expands outward. Her form dissolves into swirling vapor while glowing eyes emerge from the smoke cloud. The alley fills with violent rotating smoke as the camera circles aggressively around the transformation." 43 ], 44 "description": "Text prompt describing the transition.", 45 "type": "string", 46 "title": "Prompt", 47 "name": "prompt" 48 }, 49 "image_url": { 50 "examples": [ 51 "https://d3adwkbyhxyrtq.cloudfront.net/webassets/videomodels/vidu-q3-turbo-first-last-frames-1.jpg" 52 ], 53 "description": "URL of the starting (first) frame image.", 54 "field": "image", 55 "type": "string", 56 "title": "First Image URL", 57 "name": "image_url" 58 }, 59 "last_image": { 60 "examples": [ 61 "https://d3adwkbyhxyrtq.cloudfront.net/webassets/videomodels/vidu-q3-turbo-first-last-frames-2.jpg" 62 ], 63 "description": "URL of the ending (last) frame image.", 64 "field": "image", 65 "type": "string", 66 "title": "Last Image URL", 67 "name": "last_image" 68 }, 69 "resolution": { 70 "enum": [ 71 "360p", 72 "540p", 73 "720p", 74 "1080p" 75 ], 76 "title": "Resolution", 77 "name": "resolution", 78 "type": "string", 79 "description": "The resolution of the generated video.", 80 "default": "720p" 81 }, 82 "aspect_ratio": { 83 "enum": [ 84 "16:9", 85 "9:16", 86 "4:3", 87 "3:4", 88 "1:1" 89 ], 90 "title": "Aspect Ratio", 91 "name": "aspect_ratio", 92 "type": "string", 93 "description": "Aspect ratio of the output video.", 94 "default": "16:9" 95 }, 96 "duration": { 97 "title": "Duration", 98 "name": "duration", 99 "type": "int", 100 "description": "The duration of the generated video in seconds.", 101 "default": 5, 102 "minValue": 1, 103 "maxValue": 16, 104 "step": 1 105 }, 106 "audio": { 107 "type": "boolean", 108 "title": "Audio", 109 "name": "audio", 110 "description": "Whether to generate audio for the video.", 111 "default": false 112 } 113 }, 114 "title": "BaseInput", 115 "required": [ 116 "prompt", 117 "image_url", 118 "last_image" 119 ], 120 "endpoint_url": "vidu-q3-turbo-first-last-frames" 121 }, 122 "output_data": { 123 "x-fal-order-properties": [ 124 "video" 125 ], 126 "type": "object", 127 "properties": { 128 "video": { 129 "examples": [ 130 "https://d3adwkbyhxyrtq.cloudfront.net/webassets/videomodels/vidu-q3-turbo-first-last-frames.mp4" 131 ], 132 "description": "The generated video", 133 "title": "Video", 134 "comparison": false 135 } 136 }, 137 "title": "ViduQ3TurboFlf", 138 "required": [ 139 "video" 140 ] 141 } 142 } 143} 144 145headers = { 146 "Content-Type": "application/json", 147 "x-api-key": f"{api_key}", 148} 149 150response = requests.post(url, json=data, headers=headers) 151 152result = response.json() 153print("Queued:", result) 154 155outputs = poll_for_result(result["run_id"]) 156print("Completed:", outputs) 157

Model FAQ

Ready to scale your production?

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