content[] body, response fields, error envelope, and callback lifecycle. Material and real-person validation APIs continue to use their PascalCase Action contracts. The required migration is the host and authentication credential.
What Changes
AK/SK signing is the only intentional wire-level difference. A request that contains only an AK/SK signature returns the official four-field error envelope with
401 AuthenticationError and a Bearer-authentication message.
Choose A Request Shape
For task generation, replace the host and credential while keeping the official REST method, path, and JSON shape. Action aliases for task operations remain a legacy AI Sonar compatibility surface and are not part of the one-to-one official task contract.
Official Task Paths
REST clients can use these equivalent references:
- Create Task (Volc Compatible)
- Get Task (Volc Compatible)
- List Tasks (Volc Compatible)
- Cancel Task (Volc Compatible)
Request Body Rules
content[]acceptstext,image_url,video_url,audio_url, anddraft_taskitems.- For
image_url, omitroleor usefirst_framefor image-to-video. Uselast_frametogether with a first frame, orreference_imagefor reference-to-video. - A public material URI such as
asset://asset-YYYYMMDDHHMMSS-xxxxxcan be used where the selected Seedance workflow accepts that media role. - The REST body accepts only official fields, including
model,content,ratio,duration,resolution,generate_audio,watermark,return_last_frame,seed,execution_expires_after, andsafety_identifier.generate_audiodefaults tofalse. callback_urlaccepts a public HTTP(S) endpoint. AI Sonar sends the same query-task body forqueued,running,succeeded,failed, andexpired; onlysucceededandfaileduse the official five-second, three-retry behavior.
Minimal REST Example
cgt-... ID. Poll until status becomes succeeded, failed, cancelled, or expired; do not treat the create response as a completed video. If you provide callback_url, allow repeated succeeded or failed notifications and keep polling as a recovery path.
Keep v1 And v3 Types Separate
Do not reuse a/v1/tasks/{id} response struct for this endpoint. The unified v1 API reports pending, processing, completed, and failed; the Volc-compatible v3 API reports queued, running, succeeded, failed, cancelled, and expired. The official v3 response also represents duration as a JSON string and omits error on non-failed tasks.
For safe recovery after a create timeout or disconnect, add a unique Idempotency-Key to the REST create request. Retrying the same body with the same key returns the original cgt-... ID; the same key with a different body returns 409.
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: The second Action returns the verifiedGroupId. Use that ID with CreateAsset; a client cannot create a LivenessFace group directly.
Migration Checklist
- Replace the API host with
https://api.aisonar.dev. - Replace AK/SK signing with an AI Sonar Bearer API key.
- Keep the official REST task method, path, and request-body casing; keep Action and version only for material or validation operations.
- Keep the same
ProjectNameacross related material and verification requests. - Store AI Sonar task, group, and asset IDs instead of service-only identifiers.
- Verify one create, poll, list, and error response before moving production traffic.