{"openapi":"3.1.0","info":{"title":"Seedance 2.5 API — Cheaper Gen.","version":"1.0.0","description":"Seedance 2.5 is ByteDance's latest video model with stronger motion, prompt adherence and multi-reference control, generating up to 1080p clips with audio."},"servers":[{"url":"https://cheapergen.com/api/v1"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}},"schemas":{"Generation":{"type":"object","properties":{"id":{"type":"string"},"object":{"const":"generation"},"model":{"type":"string"},"endpoint":{"type":"string"},"status":{"enum":["queued","running","succeeded","failed","canceled"]},"output":{"type":["object","null"]},"error":{"type":["object","null"]},"cost":{"type":"object","properties":{"amount_usd":{"type":"number"},"official_usd":{"type":["number","null"]},"saved_usd":{"type":["number","null"]},"estimated":{"type":"boolean"}}},"created_at":{"type":"string","format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"}}}}},"paths":{"/run/bytedance/seedance-2.5/text-to-video":{"post":{"summary":"Seedance 2.5 — Text to Video","operationId":"bytedance_seedance_2_5_text_to_video","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["prompt"],"properties":{"prompt":{"title":"Prompt","description":"Describe the shot: subject, action, camera movement, lighting and style.","type":"string","maxLength":5000},"aspect_ratio":{"title":"Aspect ratio","description":"Output frame shape.","type":"string","enum":["16:9","9:16","1:1","4:3","3:4","21:9"],"default":"16:9"},"resolution":{"title":"Resolution","description":"Output resolution. Higher resolutions cost more per second.","type":"string","enum":["480p","720p","1080p"],"default":"720p"},"duration":{"title":"Duration","description":"Length of the generated clip in seconds (4–15s). You pay per second.","type":"integer","minimum":4,"maximum":15,"default":5},"generate_audio":{"title":"Generate audio","description":"Generate synchronized sound, ambience and dialogue. No extra cost.","type":"boolean","default":true},"seed":{"title":"Seed","description":"Use the same seed and settings to reproduce a result. Leave empty for random.","type":"integer","minimum":0,"maximum":2147483647},"webhook_url":{"type":"string","format":"uri","title":"Webhook URL","description":"Optional. We POST the finished generation here (signed)."}},"additionalProperties":false}}}},"responses":{"202":{"description":"Queued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Generation"}}}},"400":{"description":"Invalid request"},"402":{"description":"Insufficient balance"}}}},"/run/bytedance/seedance-2.5/image-to-video":{"post":{"summary":"Seedance 2.5 — Image to Video","operationId":"bytedance_seedance_2_5_image_to_video","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["prompt","image_url"],"properties":{"prompt":{"title":"Prompt","description":"Describe the shot: subject, action, camera movement, lighting and style.","type":"string","maxLength":5000},"image_url":{"title":"First frame","description":"Image used as the opening frame. JPG/PNG/WebP, URL or upload.","type":"string","format":"uri"},"end_image_url":{"title":"Last frame","description":"Optional closing frame — the model animates between the two.","type":"string","format":"uri"},"aspect_ratio":{"title":"Aspect ratio","description":"Output frame shape.","type":"string","enum":["16:9","9:16","1:1","4:3","3:4","21:9"],"default":"16:9"},"resolution":{"title":"Resolution","description":"Output resolution. Higher resolutions cost more per second.","type":"string","enum":["480p","720p","1080p"],"default":"720p"},"duration":{"title":"Duration","description":"Length of the generated clip in seconds (4–15s). You pay per second.","type":"integer","minimum":4,"maximum":15,"default":5},"generate_audio":{"title":"Generate audio","description":"Generate synchronized sound, ambience and dialogue. No extra cost.","type":"boolean","default":true},"seed":{"title":"Seed","description":"Use the same seed and settings to reproduce a result. Leave empty for random.","type":"integer","minimum":0,"maximum":2147483647},"webhook_url":{"type":"string","format":"uri","title":"Webhook URL","description":"Optional. We POST the finished generation here (signed)."}},"additionalProperties":false}}}},"responses":{"202":{"description":"Queued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Generation"}}}},"400":{"description":"Invalid request"},"402":{"description":"Insufficient balance"}}}},"/run/bytedance/seedance-2.5/reference-to-video":{"post":{"summary":"Seedance 2.5 — Reference to Video","operationId":"bytedance_seedance_2_5_reference_to_video","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["prompt"],"properties":{"prompt":{"title":"Prompt","description":"Describe the shot: subject, action, camera movement, lighting and style.","type":"string","maxLength":5000},"reference_image_urls":{"title":"Reference images","description":"Up to 30 images for characters, products, style or scene. Refer to them in the prompt as @Image1, @Image2…","type":"array","items":{"type":"string","format":"uri"},"maxItems":30},"reference_video_urls":{"title":"Reference videos","description":"Up to 10 MP4/MOV clips for motion, camera moves or effects (2–30 s each, 30 s in total, ≤ 200 MB each). Refer to them as @Video1, @Video2… Reference-video seconds are billed together with the output, at the lower with-video token rate.","type":"array","items":{"type":"string","format":"uri"},"maxItems":10,"x-media-limits":{"formats":["mp4","mov"],"min_seconds":2,"max_seconds":30,"max_total_seconds":30,"max_bytes":209715200,"min_pixels":407696,"max_pixels":8295044,"min_side_px":300,"max_side_px":6000,"min_aspect":0.4,"max_aspect":2.5,"min_fps":24,"max_fps":60}},"reference_audio_urls":{"title":"Reference audio","description":"Up to 10 MP3/WAV clips for voice, music or sound (2–30 s each, 30 s in total, ≤ 15 MB each). Refer to them as @Audio1, @Audio2…","type":"array","items":{"type":"string","format":"uri"},"maxItems":10,"x-media-limits":{"formats":["mp3","wav"],"min_seconds":2,"max_seconds":30,"max_total_seconds":30,"max_bytes":15728640}},"aspect_ratio":{"title":"Aspect ratio","description":"Output frame shape.","type":"string","enum":["16:9","9:16","1:1","4:3","3:4","21:9"],"default":"16:9"},"resolution":{"title":"Resolution","description":"Output resolution. Higher resolutions cost more per second.","type":"string","enum":["480p","720p","1080p"],"default":"720p"},"duration":{"title":"Duration","description":"Length of the generated clip in seconds (4–15s). You pay per second.","type":"integer","minimum":4,"maximum":15,"default":5},"generate_audio":{"title":"Generate audio","description":"Generate synchronized sound, ambience and dialogue. No extra cost.","type":"boolean","default":true},"seed":{"title":"Seed","description":"Use the same seed and settings to reproduce a result. Leave empty for random.","type":"integer","minimum":0,"maximum":2147483647},"webhook_url":{"type":"string","format":"uri","title":"Webhook URL","description":"Optional. We POST the finished generation here (signed)."}},"additionalProperties":false}}}},"responses":{"202":{"description":"Queued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Generation"}}}},"400":{"description":"Invalid request"},"402":{"description":"Insufficient balance"}}}},"/generations/{id}":{"get":{"summary":"Get a generation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Generation"}}}}}}}}}