Skip to main content
The Open API uses the JSON code field for business outcomes. HTTP status handles transport (for example 401 for auth failures), but success and failure semantics are defined by code.

Code reference

Response shape

  • Success: code === 200, payload in data
  • Failure: human-readable message for logs and support

Common cases

Returned when the same X-Idempotency-Key is reused on a mutating POST endpoint within the idempotency TTL. The response may include Retry-After: 2. See Idempotency.
Returned when a task cannot deduct project credits (TTS, translation, voice clone, media translation). See Pricing or add credits on vmeg.ai.
An upstream service failed or timed out. Poll GET /openapi/v1/tasks/detail with the taskId (your task list on vmeg.ai does not include Open API jobs). If a webhook is configured, wait for retries.
Returned when data[].voiceId fails batch rules. Common message patterns:
  • Unknown voiceIdvoiceId not found in system or clone voice library: data[0] ... Use POST /openapi/v1/assets/voice/basic/list for system voices or POST /openapi/v1/assets/voice/clone/list for clone voices.
  • Mixed voices in one batchall voiceId in one batch must share the same provider, but found multiple: S1, S2. Please use voices from the same provider, or split into separate requests.
  • timbreRefAudio with system presettimbreRefAudio requires a clone provider (V1-V5), but voiceId in this batch resolved to a system provider (S1). ...
See Text to speech and Supported clone methods.