Skip to main content
Seedance 2.0 supports text-to-video, image-to-video, start/end-frame video, reference-to-video, video editing, and video extension. Use model IDs such as seedance-2.0, seedance-2.0-fast, and seedance-2.0-mini, then choose the workflow with operation.

Model Choice

seedance-2.0-fast and seedance-2.0-mini reject 1080p and 4k requests. Audio can be used only in supported reference workflows; pure audio-only and text-plus-audio-only Seedance requests are not supported.

Supported Operations

Volc-Compatible Seedance Endpoint

Use this endpoint when your existing system already builds Seedance requests with Volc-style content[], REST task paths, or Action names, and you want to change the base URL and authentication without rewriting the request shape. For new cross-model video integrations, prefer AI Sonar’s unified /v1/videos/generations API.

Migration Flow

  1. Authenticate with Authorization: Bearer <API_KEY>. Volc AK/SK signatures are not accepted in this version.
  2. Create with REST POST /api/v3/contents/generations/tasks, or with Action POST /api/v3?Action=CreateContentsGenerationsTasks&Version=2024-01-01.
  3. Store the returned cgt-... task ID and poll the task endpoint until status is succeeded, failed, cancelled, or expired.
  4. callback_url is rejected for now, so do not rely on completion callbacks for this endpoint.

Request Body Notes

  • content[] accepts text, image_url, video_url, audio_url, and draft_task items.
  • For image_url, omit role or use first_frame for image-to-video; use last_frame together with a first frame; use reference_image for reference-to-video.
  • Image URLs are prepared as reusable AI Sonar materials when the selected Seedance model needs material references. If preparation takes longer than 60 seconds, the create request returns a retryable material-preparing error.
  • Common generation fields include model, ratio, duration, resolution, generate_audio, watermark, return_last_frame, seed, priority, execution_expires_after, and safety_identifier.

Reference Pages

Material Concepts

Seedance materials are reusable, organization-scoped references that can be selected later during video generation. Keep group_id and material asset id separate. group_id is for organizing uploads; material asset id is for video generation. If a video request returns Seedance material asset not found or not accessible, confirm that you passed a material asset id, not a group_id, and that the asset belongs to the same organization, is not deleted, and has status: "ACTIVE".

Automatic Image Materials

When the selected Seedance model can use the AI Sonar material library, you may send image URLs or supported inline data URLs directly in image, image_url, image_urls, reference_images, start_image, or end_image. AI Sonar imports those images into the organization default virtual-avatar material group and keeps their role as first frame, last frame, or reference image. If the material assets become ACTIVE within 60 seconds, generation continues in the same request. If not, the API returns 409 seedance_material_preparing with auto_material_asset_ids; list or get those assets until they are ACTIVE, then retry with material_asset_id or material_asset_ids. If the selected model cannot use the material library, ordinary image URL or data URL inputs stay on the regular image path; explicit material IDs return a material availability error. Existing virtual-avatar and real-person material IDs are used as-is and are not imported again.

Real-Person Material Verification

Use real-person material verification when your product needs consent and face verification before a real person can be used as a reusable Seedance reference.
  1. Call Create Visual Validation Session with CallbackURL and save the returned Result.BytedToken.
  2. Open Result.H5Link for the person being verified. Append lng to the H5 link when you need a specific language.
  3. After the H5 flow completes, the browser opens Result.CallbackURL with official query names such as bytedToken and resultCode.
  4. Poll Get Visual Validation Result with BytedToken until Result.GroupId is returned.
  5. Store GroupId; pass it as group_id when creating liveness_face material assets.
BytedToken is valid for 30 minutes. Use the same ProjectName in both Action requests. Authentication uses Authorization: Bearer <API_KEY>; Volc AK/SK signing is not accepted. Optional: use the test console to verify your request and callback flow, inspect material groups, and review verification history. Your production integration should call the APIs directly.

Creating Material Groups

Use Create Material Asset Group for aigc_avatar groups. New real-person groups are created through the verification flow so the verified person and the material group stay linked. Use List Material Asset Groups, Get Material Asset Group, Update Material Asset Group, and Delete Material Asset Group to manage groups after they exist. Deleting a material group also deletes the AI Sonar materials inside it and cannot be undone. If the AI Sonar material library cannot complete the deletion because the current authorization state does not allow it, AI Sonar returns a neutral material-library error.

Uploading Materials

Use Create Material Asset to import one publicly reachable source URL at a time. For aigc_avatar, group_id is optional; AI Sonar uses or creates the organization default virtual-avatar group. For liveness_face, group_id is required and must be the group returned by Get Visual Validation Result. AI Sonar validates the source URL, declared or detected media format, and file-size limit. Dimensions, aspect ratio, duration, resolution, total pixels, and FPS are passed through on a best-effort basis; the selected video service makes the final media eligibility decision. Material ingestion is asynchronous. Poll Get Material Asset until status becomes ACTIVE. A successful HTTP response only means the request was accepted; always read the business status. If the status is FAILED, inspect error_message, fix the source material, and create a new asset. In create-material requests, asset_url is only the import source. AI Sonar returns a material asset id; use that id for generation instead of reusing the original URL. Asset and group IDs use Volcengine-compatible shapes such as asset-20260720123456-qn7wr and group-20260720123456-vrt01, while remaining AI Sonar-owned mappings. AI Sonar keeps material assets in your organization material library until you delete the asset or its material group. For real-person material groups, one group maps to one real person. Uploads are checked against the verified face. Assets with multiple faces or a face that does not match the verified person can fail. For best results, upload both a full-body front reference image and a front-facing close-up where the face is clear.

Using Materials In Video Generation

After an asset is ACTIVE, pass the returned AI Sonar asset id as material_asset_id, or include it in material_asset_ids, when calling Create Video. Material assets count toward Seedance reference limits.

API Examples

Create a virtual-avatar group, upload an image, poll until it is active, then use the material asset ID in a video request.
For a real-person material group, create a visual validation session and get its result before uploading materials.

Pricing And Async Results

Seedance 2.0 pricing depends on output resolution, input type, and model. Use the Pricing API or Models API before hard-coding product UI. Video generation is asynchronous. Follow the poll_url returned by create requests, or use Get Task Status with the returned task ID.