Create media translation (async)
Async media translation. If request taskType is at but the material is video, the server may run vt instead (see taskType in the acceptance response).
Documentation Index
Fetch the complete documentation index at: https://docs.vmeg.ai/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Send your API Key in the Authorization header (Bearer <api_key>). See Authentication.
Headers
Required on mutating POST requests that create tasks or change persisted data (max 64 characters). See Idempotency.
64Body
vt = video translation, at = audio translation. If at is used with a video material, the job may run as video translation
vt, at Input material for this translation job
Source and target locales for localization
Pipeline options: dubbing, ASR, translation, separation, lip sync, and captions
Optional client metadata on async submit; echoed in the completion webhook (extraData in callback body). Not used on sync create endpoints.
Callbacks
POSThttps://{yourWebhookUrl}taskCompleted
Body
Webhook callback request body for Media translation when event is openapi-media-translation. data.result with CDN deliverables. See Webhook request body and Create media translation (async) → Callbacks.
Task payload inside webhook data when event is openapi-media-translation. data.result with CDN deliverables.
Business outcome for this delivery
200
API version of the task (e.g. v1, v2). Matches the version in the request path (/openapi/v1/...).
"v1"
Which product completed. Route your handler by this value: openapi-tts (TTS), openapi-translate (text translation), openapi-clone-voice (voice clone), openapi-media-translation (media translation). Listed in Webhook request body.
openapi-tts, openapi-translate, openapi-clone-voice, openapi-media-translation "openapi-tts"
Stable ID for this async completion. Deduplicate webhook handling by this value — see Webhook request body.
"a1b2c3d4e5f6789012345678901234ab"
Detail when code is not success
Echo of extraData from your async submit request
Response
Return 2xx promptly to stop retries
Response
Acceptance only (taskId, taskType, status, createdAt). Final results are in the Webhook callback request body.

