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 indata - Failure: human-readable
messagefor logs and support
Common cases
409 Idempotency conflict
409 Idempotency conflict
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.402 Insufficient quota
402 Insufficient quota
Returned when a task cannot deduct project credits (TTS, translation, voice clone, media translation). See Pricing or add credits on vmeg.ai.
502 Upstream failure
502 Upstream failure
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.TTS voice validation (400)
TTS voice validation (400)
Returned when
data[].voiceId fails batch rules. Common message patterns:- Unknown voiceId —
voiceId 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 batch —
all 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. timbreRefAudiowith system preset —timbreRefAudio requires a clone provider (V1-V5), but voiceId in this batch resolved to a system provider (S1). ...

