Skip to main content
Use this guide when your application already sends Volcengine-style Seedance requests. You can retain Action names, Version=2024-01-01, content[], PascalCase material bodies, and the Volcengine response envelope. The required migration is the endpoint and authentication method.

What Changes

AK/SK signing is the only intentionally unsupported part. A request that contains only an AK/SK signature returns 401 InvalidCredential with a Bearer-authentication message.

Choose A Request Shape

The API root produces the smallest change for an Action client: replace the host and authentication, then keep the Action query and JSON body. The /api/v3 Action endpoint remains available for existing TokenLab integrations.

Task Actions

REST clients can use these equivalent references:

Request Body Rules

  • 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, or reference_image for reference-to-video.
  • A public material URI such as asset://asset-YYYYMMDDHHMMSS-xxxxx can be used where the selected Seedance workflow accepts that media role.
  • Common fields include model, ratio, duration, resolution, generate_audio, watermark, return_last_frame, seed, priority, execution_expires_after, and safety_identifier.
  • callback_url is not supported on the task-compatibility endpoint. Poll the returned task instead.

Minimal Action Example

Store the returned cgt-... ID. Poll until status becomes succeeded, failed, cancelled, or expired; do not treat the create response as a completed video.

Materials And Real-Person Verification

The same Action endpoint also supports the 10 material and material-group operations. See Material Actions (Volc Compatible) for their exact PascalCase bodies, filters, paging, response envelope, and 12-hour material URLs. Real-person materials add two Actions before upload:
  1. Create Visual Validation Session
  2. Get Visual Validation Result
The second Action returns the verified GroupId. Use that ID with CreateAsset; a client cannot create a LivenessFace group directly.

Migration Checklist

  1. Replace the API host with https://api.tokenlab.sh.
  2. Replace AK/SK signing with a TokenLab Bearer API key.
  3. Keep the existing Action, version, and request-body casing.
  4. Keep the same ProjectName across related material and verification requests.
  5. Store TokenLab task, group, and asset IDs instead of upstream-only identifiers.
  6. Verify one create, poll, list, and error response before moving production traffic.