Skip to content
DashboardGet API Key
Getting Started

Introduction

CHAMELAION API documentation for AI lip sync and end-to-end video translation, covering dubbing, speaker voices, subtitles, and content localization at scale.

CHAMELAION offers two asynchronous APIs for localizing video:

  • Lip Sync takes a video and a new audio track and regenerates the speaker’s lip movements to match it. Send a video of someone speaking English with an audio track in Japanese, and CHAMELAION returns a video where the speaker’s lips move naturally to the Japanese audio.
  • Video Translate takes a single video and returns it translated into up to 10 languages per request. It transcribes and translates the speech, voices each speaker, keeps the background audio, and lip-syncs the result. Each target language produces a video, an audio track, and an SRT subtitle file.
Base URLhttps://api.chamelaion.com/api
AuthenticationBearer token or x-api-key header
Lip Sync inputVideo and audio (e.g. MP4, WAV, MP3), via URL or direct upload
Video Translate inputOne video via URL or direct upload (max 2 GiB), with optional SRT files
Video Translate languages84 source and 91 target languages
Max concurrent jobsLip Sync: depends on plan. Video Translate: limited per account
Rate limitsPer API token: 10 generation requests and 100 read requests per 10 s
SDKsPython 3.9+, TypeScript/Node.js 20+, and Go 1.22+
Active speaker detectionAutomatic for Lip Sync (can be disabled per request)
WebhooksCompletion webhooks for Video Translate
  • AI Lip Sync: State-of-the-art lip sync model that preserves the speaker’s identity, speaking style, and expressions while matching lip movements to new audio.
  • Video Translate: Translate one video into up to 10 languages per request, with background audio and lip sync enabled by default.
  • Custom subtitles and voices: Supply your own source or translated SRT files and assign a voice to each speaker.
  • URL-based or direct upload: Pass publicly accessible media URLs, or upload files via multipart form-data.
  • Active speaker detection (Lip Sync): Automatically detects and syncs the active speaker in multi-person scenes.
  • Request tracking: Every job returns a request_id. Poll for status, receive a webhook, or look up requests by your own reference_id.
  • Pagination and filters: List your request history with limit and offset. Filter by reference_id, and for Video Translate also by status, language, or creation time.

CHAMELAION fits anywhere a video needs to speak a new language or a new script:

  • Video translation and dubbing: Translate videos into multiple languages with natural voices and lip-synced results in one API call.
  • AI avatars: Make avatars speak with realistic, lip-synced articulation.
  • UGC and creative ads: Adapt and scale UGC and ad creatives by changing the message inside existing videos, without re-recording.
  • Dialogue replacement and personalization: Replace words or full lines in finished videos without re-shooting.

Get from zero to your first result in three steps:

  1. Get your API key: Create one from the Dashboard.
  2. Authenticate: Pass your key as a Bearer token or x-api-key header. See the Authentication guide.
  3. Start a job: Follow the Quickstart to generate a lip sync, or the Video Translate guide to translate a video.
EndpointMethodDescription
/v1/lipsync/generatePOSTStart a lip sync job from video and audio URLs
/v1/lipsync/generate-with-mediaPOSTStart a lip sync job from uploaded files
/v1/lipsync/requests/{id}GETGet the status and result of a lip sync request
/v1/lipsync/requestsGETList your lip sync requests
/v1/video-translate/generatePOSTStart a video translation from a video URL
/v1/video-translate/generate-with-mediaPOSTStart a video translation from an uploaded video
/v1/video-translate/requests/{id}GETGet the status and outputs of a video translation
/v1/video-translate/requestsGETList your video translations with filters
/v1/video-translate/voicesGETList voices you can assign to speakers
/v1/users/meGETVerify your API token identity
/healthGETService health check (no auth required)
What media formats does CHAMELAION support?

Lip Sync accepts common video and audio formats such as MP4, WAV, and MP3. Video Translate accepts a single video file up to 2 GiB, plus optional SRT subtitles. Provide media through publicly accessible URLs or upload files directly with multipart form-data.

How long does a job take?

Lip sync time depends on video length and queue depth. Most videos under 60 seconds complete within 1–3 minutes. Video translations take longer because the video is transcribed, then translated, voiced, and lip-synced for each target language. Poll the request or use a webhook to know when it finishes.

Which languages does Video Translate support?

Video Translate supports 84 source languages and 91 target languages with the default Expressive speech model. The Classic model supports a smaller legacy target set. See the complete language and model support. The source language is detected automatically when you omit source_language.

Can CHAMELAION handle multi-person videos?

Yes. Lip Sync includes active speaker detection, which identifies and syncs the person who is speaking. For single-speaker videos, set disable_active_speaker_detection: true for faster processing. Video Translate detects speakers automatically; to choose a voice per speaker, supply a source_srt with Speaker N: labels and map them to voices.

How does authentication work?

Send your API token as a Bearer token in the Authorization header or in the x-api-key header. Both methods work for every endpoint. See the Authentication guide for details.

What happens if my job fails?

Invalid input, such as an inaccessible URL or an unsupported format, is rejected immediately with a 400 error. If a job fails during processing, its status becomes failed and error_message explains what went wrong. See the Error Handling guide for troubleshooting.