{"openapi":"3.1.0","info":{"title":"Seedance 2.0 Mini API","version":"1.0.0","description":"Media inputs must be public HTTP(S) URLs. Upload bytes and credential-bearing URLs are not accepted.\nImages: JPEG, PNG, WebP, BMP, TIFF or GIF; below 30 MB; each side 300–6000 pixels; aspect ratio 0.4–2.5.\nVideos: MP4 or MOV; at most 50 MB per file; each clip 2–15 seconds and at most 15 seconds combined; 300–6000 pixels per side, aspect ratio 0.4–2.5, 24–60 fps.\nAudio: MP3 or WAV; at most 15 MB per file; each clip 2–15 seconds and at most 15 seconds combined. At least one reference image or video is required.\nRemote media size, encoding and duration are checked during processing; URL validation alone cannot guarantee that a file is usable.\nDraft-to-final rendering from an earlier task and arbitrary native task options are not exposed by this endpoint."},"servers":[{"url":"https://api.wanapi.app"}],"security":[{"bearerAuth":[]}],"paths":{"/v1/videos":{"post":{"summary":"Create a video","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"model":{"type":"string","const":"bytedance/seedance-2.0-mini"},"prompt":{"type":"string"},"image":{"anyOf":[{"type":"string","maxLength":8192},{"type":"object","properties":{"type":{"type":"string","const":"url"},"url":{"type":"string","maxLength":8192},"mediaType":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"frameImages":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"object","properties":{"image":{"anyOf":[{"type":"string","maxLength":8192},{"type":"object","properties":{"type":{"type":"string","const":"url"},"url":{"type":"string","maxLength":8192},"mediaType":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"frameType":{"type":"string","enum":["first_frame","last_frame"]}},"required":["image","frameType"],"additionalProperties":false}},"inputReferences":{"maxItems":15,"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"url"},"url":{"type":"string","maxLength":8192},"mediaType":{"type":"string"}},"required":["type","url","mediaType"],"additionalProperties":false},{"type":"object","properties":{"data":{"type":"string","maxLength":8192},"mediaType":{"type":"string"}},"required":["data","mediaType"],"additionalProperties":false}]}},"aspectRatio":{"type":"string","enum":["adaptive","16:9","4:3","1:1","3:4","9:16","21:9"]},"resolution":{"type":"string","enum":["480p","854x480","720p","1280x720"]},"duration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fps":{"type":"number","const":24},"seed":{"type":"integer","minimum":-1,"maximum":2147483647},"generateAudio":{"type":"boolean"},"n":{"type":"number","const":1},"providerOptions":{"type":"object","properties":{"bytedance":{"type":"object","properties":{"seed":{"type":"integer","minimum":-1,"maximum":2147483647},"draft":{"type":"boolean"},"referenceAudio":{"maxItems":3,"type":"array","items":{"type":"string","maxLength":8192}}},"additionalProperties":false}},"additionalProperties":false}},"required":["model"],"additionalProperties":false},"example":{"model":"bytedance/seedance-2.0-mini","prompt":"A paper boat floats through a sunlit stream. Slow tracking shot.","resolution":"720p","aspectRatio":"16:9","duration":4,"generateAudio":true}}}},"responses":{"200":{"description":"Video task accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"400":{"description":"Invalid parameters"},"401":{"description":"Authentication required"},"402":{"description":"Insufficient balance"}}}},"/v1/videos/{task_id}":{"get":{"summary":"Get a video task","parameters":[{"in":"path","name":"task_id","required":true,"schema":{"type":"string","pattern":"^task_[A-Za-z0-9]+$"}}],"responses":{"200":{"description":"Current task state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"404":{"description":"Task not found"},"410":{"description":"Video expired"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Task":{"type":"object","required":["id","model","status"],"properties":{"id":{"type":"string"},"model":{"type":"string"},"status":{"enum":["queued","in_progress","completed","failed"]},"created_at":{"type":"integer"},"updated_at":{"type":"integer"},"videos":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"mediaType":{"const":"video/mp4"}}}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}}