# VMEG Open API ## Docs - [Abort multipart upload](https://docs.vmeg.ai/api-reference/assets--materials/abort-multipart-upload.md): Cancel an in-progress multipart upload. Requires [`X-Idempotency-Key`](/guides/idempotency). See [Material upload](/guides/assets/material-upload). - [Complete single-file upload](https://docs.vmeg.ai/api-reference/assets/materials/complete-upload.md): Single-file upload **step 3**: register the file after CDN PUT. Requires [`X-Idempotency-Key`](/guides/idempotency). Flow: [Material upload](/guides/assets/material-upload). - [Delete material](https://docs.vmeg.ai/api-reference/assets/materials/delete-material.md): Logical delete of a material. Requires [`X-Idempotency-Key`](/guides/idempotency). See [Materials](/guides/assets/materials). - [Generate presigned upload URL](https://docs.vmeg.ai/api-reference/assets/materials/gen-upload-url.md): Single-file upload **step 1**: get a presigned PUT URL and `materialId`. Upload the file to the URL, then call **Complete single-file upload**. Required before **Create translate and dub job**. See [Material upload](/guides/assets/material-upload). - [List materials](https://docs.vmeg.ai/api-reference/assets/materials/list-materials.md): Paginated library of video/audio files you uploaded for translate-and-dub jobs. Pass `materialId` to **Create translate and dub job**. See [Materials](/guides/assets/materials). - [Complete multipart upload](https://docs.vmeg.ai/api-reference/assets/materials/multipart-complete.md): Multipart upload **final step**: commit parts and register the material. Requires [`X-Idempotency-Key`](/guides/idempotency). Flow: [Material upload](/guides/assets/material-upload). - [Initiate multipart upload](https://docs.vmeg.ai/api-reference/assets/materials/multipart-initiate.md): Multipart upload **step 1**: start upload and get `materialId` / `uploadId`. Requires [`X-Idempotency-Key`](/guides/idempotency). Flow: [Material upload](/guides/assets/material-upload). - [Presign multipart parts](https://docs.vmeg.ai/api-reference/assets/materials/multipart-presign-parts.md): Multipart upload **step 2**: presigned URL per part. Requires [`X-Idempotency-Key`](/guides/idempotency). Flow: [Material upload](/guides/assets/material-upload). - [Delete cloned voice](https://docs.vmeg.ai/api-reference/assets/voices/delete-cloned-voice.md): Logical delete of a cloned voice. Requires [`X-Idempotency-Key`](/guides/idempotency). See [Voices](/guides/assets/voices). - [List cloned voices](https://docs.vmeg.ai/api-reference/assets/voices/list-cloned-voices.md): List cloned voices created by [Voice clone](/guides/products/voice-clone). See [Voices](/guides/assets/voices). - [List system voices](https://docs.vmeg.ai/api-reference/assets/voices/list-system-voices.md): List read-only preset voices for **Synthesize speech** requests. Pick a `voiceId` from the response. See [Voices](/guides/assets/voices). - [Rename cloned voice](https://docs.vmeg.ai/api-reference/assets/voices/rename-cloned-voice.md): Rename a cloned voice display name. Requires [`X-Idempotency-Key`](/guides/idempotency). See [Voices](/guides/assets/voices). - [API overview](https://docs.vmeg.ai/api-reference/introduction.md): What VMEG Open API does and how endpoints are organized - [Create translate and dub job](https://docs.vmeg.ai/api-reference/media-translation/create-media-translation-async.md): Start an async **translate and dub** pipeline for uploaded video or audio: transcribe speech → translate script → generate AI dubbing (voice clone or presets) → render dubbed output. Optional subtitles and lip sync via `options`. The HTTP response only confirms acceptance (`taskId`). Dubbed video/au… - [Delete an API job](https://docs.vmeg.ai/api-reference/tasks/delete-task.md): Delete a task record. Requires [`X-Idempotency-Key`](/guides/idempotency). See [Products overview](/guides/products/overview). - [Query job status and results](https://docs.vmeg.ai/api-reference/tasks/get-task-detail.md): Poll status and `result` for one `taskId` — use after any `create-async`, or when webhooks are unavailable. For translate-and-dub jobs, `result` includes dubbed media CDN URLs when `status` is complete. Scoped to your **API Key**. - [List API jobs](https://docs.vmeg.ai/api-reference/tasks/list-tasks.md): Paginated list of jobs you submitted (translate-and-dub, TTS, text translation, voice clone). Filter by `taskType` and `status`. Scoped to your **API Key**. Async deliverables still arrive via [Webhooks](/guides/webhooks) — use this endpoint to browse history or reconcile missed callbacks. - [Translate text segments (async)](https://docs.vmeg.ai/api-reference/text-translation/create-text-translation-async.md): Submit a batch text translation job. The HTTP response only confirms acceptance (`taskId`). Translated segments arrive in your [Webhook](/guides/webhooks) callback (`event`: `openapi-translate`). - [Translate text segments (sync)](https://docs.vmeg.ai/api-reference/text-translation/create-text-translation-sync.md): Translate plain text segments in one request. Translated strings are returned immediately in the HTTP `data` payload. Does **not** process video or audio — use **Create translate and dub job** for media. - [Synthesize speech (async)](https://docs.vmeg.ai/api-reference/tts/synthesize-speech-async.md): Submit a long or batch TTS job. The HTTP response only confirms acceptance (`taskId`). Finished audio arrives in your [Webhook](/guides/webhooks) callback (`event`: `openapi-tts`). - [Synthesize speech (sync)](https://docs.vmeg.ai/api-reference/tts/synthesize-speech-sync.md): Convert text to speech in one request. Audio URLs are returned immediately in the HTTP `data` payload — no webhook required. - [Clone voice from sample audio (async)](https://docs.vmeg.ai/api-reference/voice-clone/clone-voice-from-sample-audio-async.md): Submit a voice cloning job. The HTTP response only confirms acceptance (`taskId`). The new `voiceId` arrives in your [Webhook](/guides/webhooks) callback (`event`: `openapi-clone-voice`). - [Clone voice from sample audio (sync)](https://docs.vmeg.ai/api-reference/voice-clone/clone-voice-from-sample-audio-sync.md): Clone a speaker from a short reference recording in one request. On success, returns `voiceId` — reuse it in TTS or translate-and-dub jobs. - [Material upload](https://docs.vmeg.ai/guides/assets/material-upload.md): Presigned and multipart CDN upload - [Materials](https://docs.vmeg.ai/guides/assets/materials.md): Video and audio assets for Open API tasks - [Assets overview](https://docs.vmeg.ai/guides/assets/overview.md): API-scoped materials and voices - [Voices](https://docs.vmeg.ai/guides/assets/voices.md): System and cloned voices for TTS - [API Key](https://docs.vmeg.ai/guides/authentication.md): Authenticate Open API requests with an API Key - [Error codes](https://docs.vmeg.ai/guides/errors.md): Business codes in Open API responses - [Idempotency key](https://docs.vmeg.ai/guides/idempotency.md): Prevent duplicate writes with X-Idempotency-Key on POST requests - [VMEG Open API](https://docs.vmeg.ai/guides/introduction.md): Integrate TTS, translation, media localization, voice cloning, and asset management - [Overview](https://docs.vmeg.ai/guides/mcp/overview.md): Connect MCP-compatible AI agents to VMEG media translation - [Setup](https://docs.vmeg.ai/guides/mcp/setup.md): Manually connect VMEG Remote MCP with an API Key and endpoint URL - [Tools reference](https://docs.vmeg.ai/guides/mcp/tools.md): All VMEG Remote MCP tools exposed at /api/mcp - [Pricing](https://docs.vmeg.ai/guides/pricing.md): Credits, paid access, and API billing - [Media translation](https://docs.vmeg.ai/guides/products/media-translation.md): Async video and audio localization - [Products overview](https://docs.vmeg.ai/guides/products/overview.md): Tasks, sync vs async, and unified task APIs - [Text to speech](https://docs.vmeg.ai/guides/products/text-to-speech.md): Synthesize speech from text - [Text translation](https://docs.vmeg.ai/guides/products/text-translation.md): Dubbing-oriented segment translation with precise context, scenes, and speaker metadata - [Voice clone](https://docs.vmeg.ai/guides/products/voice-clone.md): Clone a voice from sample audio - [Quickstart](https://docs.vmeg.ai/guides/quickstart.md): Make your first synchronous TTS request - [Request ID](https://docs.vmeg.ai/guides/request-id.md): Correlate Open API calls with req_id for logging and support - [Supported clone methods](https://docs.vmeg.ai/guides/supported-clone-methods.md): Voice provider codes and clone engines V1–V5 - [Supported languages](https://docs.vmeg.ai/guides/supported-languages.md): Source and target locale codes for Open API products - [Usage limits](https://docs.vmeg.ai/guides/usage-limits.md): Technical quotas and payload limits - [Webhook request body](https://docs.vmeg.ai/guides/webhook-request.md): Callback envelope, event field, and per-product payloads - [Webhook verification](https://docs.vmeg.ai/guides/webhook-verification.md): Verify callbacks with HMAC-SHA256 - [Webhooks](https://docs.vmeg.ai/guides/webhooks.md): Configure async task callbacks - [Claude Code](https://docs.vmeg.ai/mcp/claude-code.md): Connect VMEG Remote MCP in Claude Code from the terminal - [Claude](https://docs.vmeg.ai/mcp/claude-web.md): Connect VMEG Remote MCP in Claude via custom connector - [Cursor](https://docs.vmeg.ai/mcp/cursor.md): Add VMEG Remote MCP to Cursor manually - [Gemini CLI](https://docs.vmeg.ai/mcp/gemini-cli.md): Connect VMEG Remote MCP in Gemini CLI - [Manus](https://docs.vmeg.ai/mcp/manus.md): Connect VMEG Remote MCP in Manus agents - [ChatGPT](https://docs.vmeg.ai/mcp/open-ai.md): VMEG on ChatGPT — coming soon - [Quick start](https://docs.vmeg.ai/mcp/quickstart.md): Connect AI agents to VMEG media translation via Remote MCP ## OpenAPI Specs - [openapi](https://docs.vmeg.ai/api-reference/openapi.json)