Seedance
Seedance
Section titled “Seedance”All requests use the standard HiPix video endpoints: submit to POST /v1/videos, poll GET /v1/videos/{id}, and download the finished file from GET /v1/videos/{id}/content.
Request fields checked against the API validator on November 7, 2026. Check the model directory for current availability and prices.
Model IDs
Section titled “Model IDs”| Model ID | Resolutions | Max duration | Reference images | Reference videos |
|---|---|---|---|---|
seedance-2.0 | 480p, 720p, 1080p, 4k | 15s | up to 9 | up to 3, 4–15s total |
seedance-2.0-fast | 480p, 720p | 15s | up to 9 | up to 3, 4–15s total |
seedance-2.0-mini | 480p, 720p | 15s | up to 9 | up to 3, 4–15s total |
seedance-2.5 | 480p, 720p, 1080p | 30s | up to 30 | up to 10, 4–30s total |
seedance-2.0-global | 480p, 720p, 1080p, 4k | 15s | up to 9 | up to 3, 4–15s total |
seedance-2.0-fast-global | 480p, 720p | 15s | up to 9 | up to 3, 4–15s total |
seedance-2.0-mini-global | 480p, 720p | 15s | up to 9 | up to 3, 4–15s total |
seedance-2.5-global | 480p, 720p, 1080p | 30s | up to 30 | up to 10, 4–30s total |
-global variants are served through the overseas route. Reference-media limits apply per request, not per clip; reference video duration limits are totals across all clips.
Reference image and video payload
Section titled “Reference image and video payload”All eight IDs use the same JSON structure. The model-specific limits above still apply. The public model value uses a dot (seedance-2.5), even though page URLs and Postman filenames use hyphens.
{ "model": "seedance-2.5", "prompt": "Animate the scene in @Image1 using the camera movement from @Video1", "seconds": 5, "metadata": { "resolution": "720p", "ratio": "16:9", "generate_audio": true, "media": [ {"type": "reference_image", "url": "https://example.com/scene.jpg"}, {"type": "reference_video", "url": "https://example.com/clip.mp4"} ] }}Replace the example URLs with public HTTPS files. Image formats are JPEG, PNG, or WebP (up to 30 MB each); video formats are MP4 or MOV. Prepare reference clips within the model’s duration limits; the API does not accept a client-reported reference duration field. Use @Image1, @Image2, and @Video1, @Video2 in the prompt to refer to entries in their order within each media type. For text-to-video, omit metadata.media; for image-to-video, keep only the image entries.
First and last frames
Section titled “First and last frames”Use a separate frame-guided payload instead of mixing frame roles with reference-image/video roles:
{ "model": "seedance-2.5", "prompt": "Move smoothly from the opening scene to the closing scene", "seconds": 5, "metadata": { "resolution": "720p", "generate_audio": false, "media": [ {"type": "first_frame", "url": "https://example.com/opening.jpg"}, {"type": "last_frame", "url": "https://example.com/closing.jpg"} ] }}Only one image of each frame role is accepted. A first frame can be used alone; a last frame requires a first frame. Output framing follows the input image, so the requested ratio may not control this mode. Returning a separate last-frame image (return_last_frame: true) is not supported.
metadata.generate_audio is a boolean for generated sound: set it to true for audio or false for silent output. It is not an audio input. These eight endpoints currently reject reference-audio inputs (reference_audio, audio_url); do not label an audio file as an image or video. Audio assets cannot be registered through the asset API.
Pricing
Section titled “Pricing”Prices are quoted per billing-equivalent second, not per literal second of output. Final billing converts measured completion-token usage using the task’s frozen conversion basis and price. Resolution, aspect ratio, reference-video input, and applicable minimum usage can change the number of billable equivalent seconds.
The reservation is an estimate and is adjusted on settlement. Reference-video reservations include an input-duration allowance; that allowance is not an additional fixed charge. See Pricing & Billing and the model directory for current rates, and account usage logs for the settled amount.
Real-person reference assets
Section titled “Real-person reference assets”Reference media containing real human faces must first be registered through the asset library and then referenced by handle (asset://…) instead of a plain URL. Ordinary reference media uses public HTTPS URLs directly.
curl https://api.apimart.cc/v1/media/assets \ -H "Authorization: Bearer $HIPIX_API_KEY" \ -H "Content-Type: application/json" \ --data-raw '{"model": "seedance-2.5", "url": "https://example.com/real-person-clip.mp4", "asset_type": "Video"}'The same request body as it appears in the Postman collections:
{ "model": "seedance-2.5", "url": "https://example.com/real-person-clip.mp4", "asset_type": "Video"}For a real-person photo, use "asset_type": "Image" with the image URL.
The response returns { "success": true, "data": { "ref": "asset://mva-…", "provider_id": "mva-…", "status": "…" } } immediately with the provider’s current state — commonly Processing. Registration does not wait; poll GET /v1/media/assets/{provider_id}/status?model=seedance-2.5 from your own code (for example every few seconds) while the status is Processing. Use the reference only when status is Active; stop on Failed — that query still returns HTTP 200 with the Failed status in the body.
Keep the registration and generation model consistent. For an image use asset_type: "Image" and type: "reference_image" (or an image frame role); for a video use asset_type: "Video" and type: "reference_video". Put the returned handle in the media entry:
{ "type": "reference_image", "url": "asset://mva-…" }HiPix accepts a URL rather than uploading or staging your source media bytes. The serving system fetches that URL during registration or processing. Registration is free; generation charges apply when a handle is used in a task. Registration does not guarantee content approval or cross-channel portability of a handle.
Postman collections
Section titled “Postman collections”Each of these eight model pages links its own Postman collection. Set api_key, replace the example media URLs, and replace each task/asset path ID with the value returned by the corresponding request. The collections ship without credentials and include generated-audio, image, and video examples.
Next steps
Section titled “Next steps”- Submit a Task — request body and headers
- Poll Results — status lifecycle and completion
- Errors & Recovery — failure, timeout, and reconciliation behavior