Seedance 2.0 Save API
Seedance 2.0 Save API provides the standard Seedance workflows for products, environments and fictional subjects without support for real human faces.
Seedance 2.0 Save is an APINEED routing variant, not a separate ByteDance release. It uses the standard Seedance 2.0 task contract while excluding prompts and references that require a real human face. Choose the standard route for real-person work.
Playground
Generate with Seedance 2.0 Save, review the output, and use the same request shape in your application.
Request preview
{
"model": "seedance-2.0:save",
"workflow": "text_to_video",
"input": {
"prompt": "A cinematic product shot with deliberate camera movement, natural lighting, and a clear beginning and end."
},
"output": {
"duration_seconds": 1
}
}Providers
ByteDance documents the broader model capability. APINEED separately defines the model ID, endpoint, parameter whitelist, authentication, and billing behavior shown on this page.
Discount
Compare the published baseline with APINEED pricing for Seedance 2.0 Save API. Final generation cost follows completed server usage. [3]
Availability
APINEED monitors Seedance 2.0 Save API availability. Applications should preserve request and task IDs and handle upstream failures explicitly.
Product and environment video
Use the route for product reveals, object motion, landscapes, architecture, abstract scenes, and other work that does not rely on a real person's identity. [3]
Fictional and stylized subjects
Illustrated, animated, synthetic, or otherwise fictional characters remain appropriate when the prompt does not request a real human face. [3]
Seedance family generation
The underlying family is documented for complex motion, multimodal references, editing, continuation, multi-shot output, and synchronized sound. [1][2]
Same asynchronous API
The Save model ID changes routing, but creation, polling, seconds, resolution, ratio, audio, and watermark fields follow the standard APINEED contract. [3]
Prompts for eligible Save workflows
Choose an eligible subject. Describe products, places, objects, abstract visuals, or clearly fictional characters.
Avoid identity requests. Do not ask the model to reproduce, preserve, or transform a real person's face.
Use standard for real people. Move the request to Seedance 2.0 when a real face is necessary to the scene.
Quick Start
Call Seedance 2.0 Save with the verified APINEED endpoint and model-specific request shape.
Create an API key
Store your APINEED key server-side as API_NEED_API_KEY.
export API_NEED_API_KEY=sk-apineed-v1-...Send the request
Use seedance-2.0:save with POST /v1/media/generations.
curl https://apineed.com/v1/media/generations \
-H "Authorization: Bearer $API_NEED_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0:save",
"workflow": "text_to_video",
"input": {
"prompt": "A cinematic product shot with deliberate camera movement, natural lighting, and a clear beginning and end."
},
"output": {
"duration_seconds": 1
}
}'Poll the task
Save id, then poll GET /v1/media/generations/{id} every few seconds until the task is succeeded or failed.
curl https://apineed.com/v1/media/generations/$TASK_ID -H "Authorization: Bearer $API_NEED_API_KEY"Seedance 2.0 Save API Endpoint
Create an asynchronous video task, then use its task ID to retrieve status and direct object-storage output URLs.
/v1/media/generations- Authorization
- Bearer $API_NEED_API_KEY
- Content-Type
- application/json
- HTTP-Referer
- optional - your site URL, for rankings
- Model
- seedance-2.0:save
/v1/media/generations/{id}- Authorization
- Bearer $API_NEED_API_KEY
- Content-Type
- application/json
- HTTP-Referer
- optional - your site URL, for rankings
- Model
- seedance-2.0:save
Parameters
These controls follow APINEED's current DTO and adapter behavior. Unsupported upstream-only fields are intentionally omitted.
| Name | Type | Values | Description |
|---|---|---|---|
model | string | Required | Use seedance-2.0:save. |
workflow | string | text_to_video, image_to_video, video_reference | Selects a workflow published by the APINEED model catalog. |
input.prompt | string | Required | Describe the scene, motion, camera, lighting, and ending state. |
input.assets | array | Up to 2 | Temporary media URLs with the verified first-frame, last-frame, or reference-video role. |
output.duration_seconds | integer | 1-3600 | Verified duration seconds control published by the APINEED model catalog. |
Seedance 2.0 Save API questions
Practical answers for choosing, integrating, pricing, and operating the Seedance 2.0 Save API on APINEED.
Is Seedance 2.0 Save an official ByteDance model name?
No. Save is an APINEED routing variant built around the Seedance 2.0 integration contract and its real-face restriction. [1][3]
What can I generate with Seedance 2.0 Save API?
Use it for products, environments, objects, abstract visuals, animation, and fictional characters that do not require a real human face. [3]
When should I switch to standard Seedance 2.0?
Use the standard route whenever a prompt, start image, or video reference requires a real person's face or identity. [3]
Does Save use a different endpoint?
No. Submit model seedance-2.0:save to POST /v1/videos and poll the same GET /v1/videos/{task_id} endpoint. [3]
Does Save retain Seedance family capabilities?
It uses the same APINEED request structure, while ByteDance's official family documentation supplies the broader motion, reference, editing, continuation, and audio capability context. [1][2][3]
Can local references be generated in this playground?
Yes. Files are uploaded directly to temporary private object storage and submitted as short-lived URLs after the page verifies the upload. [3]
How to deploy Seedance 2.0 Save
Connect Seedance 2.0 Save to your application through the APINEED media API.
Add credits
Add APINEED credits before submitting a billable generation.
Create an API key
Create and securely store an APINEED API key.
Configure the endpoint
Send seedance-2.0:save requests to /v1/media/generations.
Track the task
Poll the returned task ID and store the completed video URL from outputs[].
