What This API Supports
Three REST Endpoints
Submit tasks with
POST /api/open/v1/video-compose/submit, then use GET /status and GET /list for polling and task history.Flexible Audio Input
Provide an uploaded audio file, a public audio URL, or plain text for TTS. Exactly one audio input method is required per task.
Flexible Character Input
Provide an uploaded image or video, a public media URL, or a trained
avatarId. Exactly one visual input method is required per task.Avatar-Based TTS
When using
textContent, the API reads the selected avatar’s bound provider and voice automatically. OpenAI, ElevenLabs, and Cartesia are supported.Asynchronous Workflow
Video generation runs as a background task. The submit endpoint returns a
taskId, and you poll for Processing, Published, or Fail.Public URLs in Responses
The
/status and /list responses return full public URLs for source audio, source video, thumbnails, and the final generated result.Authentication
This module uses the same authentication model as the other open APIs.- Recommended: pass your API key through the
licenserequest header - Compatible fallback: pass your API key as the
licensequery parameter
Input Rules
Each task must choose exactly one audio source and exactly one visual source.Audio source
audioFileaudioUrltextContent
Visual source
characterFilecharacterUrlavatarId
If you use
textContent, avatarId is required. This is because the API needs the avatar’s configured voice and provider to synthesize speech before video generation starts.Recommended Usage
- Use
avatarId + textContentwhen you want the cleanest TTS workflow and voice consistency. - Use
audioFile + avatarIdwhen you already have recorded speech and want to lip-sync it to a trained avatar. - Use
characterFileorcharacterUrlfor quick one-off synthesis without training an avatar first.
Next Steps
- Start with the Quick Start
- Review all request and response fields in the API Reference
- Learn how avatar-bound TTS works in Avatar Voice and TTS Providers