Skip to content

Seedance 2.0 — Volcano / Ark Native Entry ​

Besides the OpenAI-compatible /v1/video/generations path, Seedance 2.0 also exposes Volcano Ark / BytePlus-native entry points so clients already written against Ark docs or the BytePlus SDK can integrate with zero protocol changes.

This entry uses the same EZModel API key, account, and billing rules as /v1/video/generations; only the request and response shapes differ.

Equivalent paths ​

The three prefixes below behave identically; pick any one:

OperationMethod/api/v3 (official Ark path)/v3 (common shorthand)/ark/api/v3
Create video taskPOST/api/v3/contents/generations/tasks/v3/contents/generations/tasks/ark/api/v3/contents/generations/tasks
Query task statusGET/api/v3/contents/generations/tasks/{task_id}/v3/contents/generations/tasks/{task_id}/ark/api/v3/contents/generations/tasks/{task_id}
Upload assetPOST/api/v3/sd/assets/v3/sd/assets/ark/api/v3/sd/assets
Query assetGET/api/v3/sd/assets/{asset_id}/v3/sd/assets/{asset_id}/ark/api/v3/sd/assets/{asset_id}

About /v3

Partner questionnaires often write /v3/contents/generations/tasks (dropping /api). This platform mounts both /v3 and /api/v3. Unmatched /v3/* paths return an API 404 JSON, not the SPA HTML page.

Authentication ​

http
Authorization: Bearer YOUR_EZMODEL_API_KEY
Content-Type: application/json

Use an EZModel token; it is shared with /v1/video/generations.

Base URL ​

text
https://www.ezmodel.cloud
# or
https://api.ezmodel.cloud

Example: POST https://www.ezmodel.cloud/v3/contents/generations/tasks

Create video — request body ​

Follows the Ark content-generations-tasks schema:

FieldTypeRequiredDescription
modelstringYesModel name, e.g. dreamina-seedance-2-0-hc; use GET /v1/models to list currently available models
contentarrayYesContent items (see below)
durationintegerNoDuration in seconds
resolutionstringNo480p / 720p / 1080p / 4k (Seedance 2.0 Base supports 4K; Fast/Mini: 480p/720p only)
ratiostringNoAspect ratio. Supports adaptive, 16:9, 9:16, 1:1, and other model-supported values. For image-to-video, adaptive follows the reference image's aspect ratio
generate_audiobooleanNoWhether to generate audio
watermarkbooleanNoWhether to add a watermark
return_last_framebooleanNoReturn the last frame for continuation
execution_expires_afterintegerNoTask execution timeout in seconds
callback_urlstringNoCompletion callback URL

content[] item types:

typeFieldsDescription
texttextPrompt text (multiple items are joined with newlines)
image_urlimage_url.url + roleReference image, first frame, or last frame (HTTP(S) or asset://)
video_urlvideo_url.url + roleReference video
audio_urlaudio_url.url + roleReference audio for speech, singing, or lip sync; include an image or video reference as well

Roles: reference_image, first_frame, last_frame, reference_video, and reference_audio.

Model capabilities depend on configuration

Available models and their supported resolutions, durations, ratios, and input types may differ. Check GET /v1/models first; unsupported combinations are rejected when the task is submitted.

Real Person / Avatar with Reference Audio ​

Upload the person image first, then use an HC model with the returned asset:// reference:

json
{
  "model": "dreamina-seedance-2-0-hc",
  "content": [
    {"type": "text", "text": "Keep the identity and sing the reference audio naturally"},
    {"type": "image_url", "image_url": {"url": "asset://mva-0123456789abcdef"}, "role": "reference_image"},
    {"type": "audio_url", "audio_url": {"url": "https://example.com/vocal.mp3"}, "role": "reference_audio"}
  ],
  "duration": 5,
  "resolution": "480p",
  "ratio": "9:16",
  "generate_audio": true
}

First/Last Frame and Continuation ​

json
{
  "model": "dreamina-seedance-2-0-hc",
  "content": [
    {"type": "text", "text": "Transition smoothly from day to night"},
    {"type": "image_url", "image_url": {"url": "https://example.com/day.jpg"}, "role": "first_frame"},
    {"type": "image_url", "image_url": {"url": "https://example.com/night.jpg"}, "role": "last_frame"}
  ],
  "duration": 4,
  "resolution": "720p",
  "return_last_frame": true,
  "execution_expires_after": 3600,
  "callback_url": "https://example.com/callbacks/seedance"
}

return_last_frame is forwarded to the generation service. When the upstream returns a final frame, the completed task response includes a top-level last_frame_url; it can be reused as first_frame in a continuation request.

Reference Video and Video Modification ​

There is no separate edit endpoint. Submit the source video as reference_video in a new task:

json
{
  "model": "dreamina-seedance-2-0-hc",
  "content": [
    {"type": "text", "text": "Keep the person and motion; change the background to a rainy night street"},
    {"type": "video_url", "video_url": {"url": "https://example.com/source.mp4"}, "role": "reference_video"}
  ],
  "duration": 5,
  "resolution": "720p",
  "ratio": "16:9"
}

The video can also be uploaded with AssetType: "Video" and referenced through asset://.

Text-to-video example ​

bash
curl https://www.ezmodel.cloud/v3/contents/generations/tasks \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dreamina-seedance-2-0-260128",
    "content": [
      {"type": "text", "text": "A cinematic shot of a glass perfume bottle on a marble table, slow camera push in"}
    ],
    "duration": 4,
    "resolution": "720p",
    "ratio": "16:9"
  }'

Response (Ark shape):

json
{
  "id": "mvt-512d4ffd9ce54256",
  "status": "queued"
}

Asset library (private avatar / real-person) ​

Virtual-avatar and real-person assets share one asset API. AssetType is the media type (Image / Video / Audio), not a person category. Use any *-hc model (-hc / -fast-hc / -mini-hc) when generating with real-person / avatar references.

EZModel uses the SD direct-upload flow and does not require an Asset Group. The historical /v1/asset-groups + /v1/assets flow is retired. Doubao's /v1/doubao-sd-1/assets flow is not exposed. GroupId may be null.

Upload ​

bash
curl https://www.ezmodel.cloud/v3/sd/assets \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "URL": "https://example.com/avatar_front.jpg",
    "Name": "avatar_front",
    "AssetType": "Image"
  }'

Query ​

bash
curl https://www.ezmodel.cloud/v3/sd/assets/mva-0123456789abcdef \
  -H "Authorization: Bearer $YOUR_API_KEY"

Assets are isolated by account. Accessing another account's asset returns 404 asset not found.

Generate with an asset (hc) ​

bash
curl https://www.ezmodel.cloud/v3/contents/generations/tasks \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dreamina-seedance-2-0-hc",
    "content": [
      {"type": "text", "text": "The man in a black suit looks confidently at the camera and nods"},
      {"type": "image_url", "image_url": {"url": "asset://mva-0123456789abcdef"}}
    ],
    "duration": 5,
    "resolution": "480p",
    "ratio": "9:16"
  }'

Query task status ​

bash
curl https://www.ezmodel.cloud/v3/contents/generations/tasks/mvt-512d4ffd9ce54256 \
  -H "Authorization: Bearer $YOUR_API_KEY"

On success, read the video URL from content.video_url.

Query fields ​

Query responses preserve the following fields submitted when the task was created: model, duration, resolution, ratio, generate_audio, watermark, return_last_frame, and execution_expires_after.

Boolean false values are preserved. Optional fields without an actual response or submitted value are omitted.

Status mapping: queued / processing / succeeded / failed.

Only single-task lookup is exposed; GET /v1/video/tasks listing is not. callback_url is forwarded to the generation service. Use a public HTTPS endpoint that responds 2xx quickly and handles retries idempotently, then query the task once to confirm the final video URL and usage.

Relation to the OpenAI-compatible entry ​

Both entries share the same API key, account, and billing rules. task_id values are interchangeable across entries (mind path and response shape differences). Asset paths /v1/sd/assets and /v3/sd/assets (plus /api/v3/sd, /ark/api/v3/sd) are equivalent.

Notes ​

  • Prefer the dreamina-seedance-* names returned by GET /v1/models.
  • Real-person / avatar images and asset:// references require any *-hc model.
  • Seedance 2.0 Base supports 4k; Fast / Mini support 480p / 720p only. Other model families follow their currently available capabilities.
  • Fast models support only 480p and 720p.
  • Only actual video input (an HTTP(S) video_url or an asset:// reference to a video asset) selects with_ref. Text-only, image-reference, and audio-reference requests select no_ref. See the Seedance 2.0 main doc.
  • New uploads normally return an mva-* ID. Historical asset-* IDs remain compatible and can still be queried and referenced.
  • Asset upload itself is free.
  • All *-ep models are retired and must not be configured or requested.

企业合作联系:service@ezmodel.cloud