{ "keyframe": { "model": "openai/gpt-image-2/edit", "model_first_aerial_without_photos": "openai/gpt-image-2", "input": { "quality": "high", "num_images": 1, "output_format": "jpeg" }, "image_sizes": { "9:16": { "width": 864, "height": 1536 }, "16:9": { "width": 1536, "height": 864 }, "9:16-1080p": { "width": 1152, "height": 2048 }, "16:9-1080p": { "width": 2048, "height": 1152 } }, "max_references": 3, "approx_cost_per_image": { "without_references": 0.25, "with_references": 0.27 } }, "video": { "draft": { "model": "bytedance/seedance-2.0/mini/image-to-video", "input": { "resolution": "480p", "duration": "4", "aspect_ratio": "auto", "generate_audio": false }, "approx_cost_per_second": 0.0721 }, "final": { "model": "bytedance/seedance-2.5/image-to-video", "input": { "resolution": "720p", "duration": "4", "aspect_ratio": "auto", "generate_audio": true, "bitrate_mode": "high", "codec": "H264" }, "approx_cost_per_second": { "720p": 0.473, "1080p": 1.164 } }, "alternatives_for_faces_or_failures": { "note": "Seedance on fal refuses clearly visible realistic faces. Tested 2026-10-16 on one face-forward synthetic close-up: Kling accepted it and held the face for 3 s; Veo accepted it but the face drifted within 4 s. Test one draft first; the look differs from Seedance.", "kling": { "model": "fal-ai/kling-video/v3/turbo/pro/image-to-video", "input": { "duration": "4" }, "fields": "prompt, image_url, duration \"3\"-\"15\", optional multi_prompt; no resolution, end_image_url, generate_audio, bitrate_mode or codec; returned 1920x1080 with a sound track", "approx_cost_per_second": 0.14 }, "veo": { "model": "fal-ai/veo3.1/image-to-video", "input": { "duration": "4s", "resolution": "720p", "generate_audio": false }, "fields": "prompt, image_url (16:9 or 9:16, 720p or more), duration \"4s\"/\"6s\"/\"8s\", resolution 720p/1080p, generate_audio, aspect_ratio, optional negative_prompt", "approx_cost_per_second": { "silent": 0.2, "with_audio": 0.4 } } } }, "defaults": { "aspect": "9:16", "shots": 5, "shot_seconds": 4, "final_resolution": "720p", "assembly": { "grain": 6, "bloom": "0.12 for blue-hour and night, 0.08 for daylight grades", "vignette": 0.3, "dissolve_seconds": 0.5, "fade_out_seconds": 0.5, "crf": 20, "preview_max_mb": 7.5, "fps": 24 } }, "cost_note": "fal list prices checked 2026-10-16. A 5-shot 720p teaser is about $12-16 including drafts and a re-roll: keyframes ~$1.35, drafts ~$1.45, finals ~$9.46. Seedance bills per video token (width x height x 24 x seconds / 1024). Ask before every paid step." }