Skip to main content
This quickstart uses production API host https://api.myvocal.ai and the accessKey request header.

Step 1: Get your API key

  1. Sign in to MyVocal account.
  2. Subscribe to a plan that includes API access.
  3. Copy your API key from Account Info.

Step 2: Get your user info and voices

Use these calls first to confirm your key is valid and to get a usable voiceId.

Step 3: Create TTS with the default model path

When modelId is omitted, the request uses the default model path.

Step 4: Create TTS with myvocal_v3

Set modelId to myvocal_v3 to explicitly request V3.
myvocal_v3 is publicly documented. If your request returns code = -1, verify voiceId, language, account plan, and current backend availability before retrying.

Step 5: Discover Accent-compatible voices

An Accent request must use a voice that is compatible with the Accent model. Ask for that list explicitly and pick a returned id as the voiceId for the next step.
The list includes your own compatible voices plus the prebuilt voices available to your API key. It is a selection aid: a voice appearing in it is not a guarantee that a later generation will succeed.

Step 6: Create TTS with the Accent model

Send the same request shape as the default path, with modelId set to myvocal_v3_accent_enhance. Use --output to save the returned audio to a file:
  • language: omit it, or send auto, to let the model detect the language. The Accent model accepts its own list of 40 language codes plus auto; see TTS Models & Migration. A plain V3 code the Accent model does not support (for example hmn) is rejected with code = 10004.
  • voiceSettings.stability: a value inside the legal range (0.1 to 1) is accepted for compatibility but has no effect on this model. An out-of-range value is rejected with code = 10006.
  • Streaming: POST /sound_clone/api/v1/tts/stream takes the same body.
Read Content-Type before trusting the body. On success the body is audio (Content-Type: audio/mpeg). When the request is rejected, or generation fails before any audio is sent, the service answers with HTTP 200 and a JSON envelope whose code is not a success code. HTTP 200 alone does not mean the request succeeded. If the connection is interrupted after audio has already started, the transfer simply ends rather than appending JSON, so treat a short file as a failed request.

Step 7: Query history and output URLs

  1. Query TTS list to get generated record IDs.
  2. Query URL endpoint with those IDs to get playable output URLs.
GET /sound_clone/api/v1/tts/list is a GET endpoint with two optional query parameters:
  • limit: 10 to 1000, default 10. A value outside that range is rejected with code = 10027.
  • startBeforeTTSId: cursor for older history. The row with that id is included in the page (id <= startBeforeTTSId), so pass the id of the oldest row you already have to continue further back. An id you cannot see is rejected with code = 10019.
The response contains list, hasMore and earliestHistoryItemId.

See full model details

Open TTS Models & Migration for the current public model list and migration guidance.

Step 8: Create music from a text brief

Text-to-Music does not need a voice or a browser session. Send a creative brief with an Idempotency-Key, then poll the project.
The response returns projectId and an ARRANGEMENT job. When projectStatus is ARRANGEMENT_READY, request a quote, then generate the song. The complete flow is in the Text-to-Music quickstart.

Step 9: Dub an audio or video file

Interpretation also uses only the accessKey header. Create a project, upload the file with a multipart upload, and let the service probe it.
The response returns projectId and settingsVersion. Quote and generate one target language at a time, then poll until each target is READY. The complete flow, including the presigned multipart upload, is in the Interpretation quickstart.
Both products are asynchronous and poll-based; they do not use callbacks. See Async jobs, polling and retries and Characters, quotes and billing.

Text-to-Music

Brief → arrangement → quote → generate → MP3.

Interpretation

Upload → probe → quote → generate → export.