This quickstart uses production API host
https://api.myvocal.ai and the accessKey request header.Step 1: Get your API key
- Sign in to MyVocal account.
- Subscribe to a plan that includes API access.
- 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 usablevoiceId.
Step 3: Create TTS with the default model path
WhenmodelId 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.
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 returnedid as the voiceId for the next step.
Step 6: Create TTS with the Accent model
Send the same request shape as the default path, withmodelId set to myvocal_v3_accent_enhance. Use
--output to save the returned audio to a file:
language: omit it, or sendauto, to let the model detect the language. The Accent model accepts its own list of 40 language codes plusauto; see TTS Models & Migration. A plain V3 code the Accent model does not support (for examplehmn) is rejected withcode = 10004.voiceSettings.stability: a value inside the legal range (0.1to1) is accepted for compatibility but has no effect on this model. An out-of-range value is rejected withcode = 10006.- Streaming:
POST /sound_clone/api/v1/tts/streamtakes the same body.
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
- Query TTS list to get generated record IDs.
- 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:10to1000, default10. A value outside that range is rejected withcode = 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 withcode = 10019.
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 anIdempotency-Key, then poll the project.
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 theaccessKey header. Create a project, upload the file with a multipart upload, and let the service probe it.
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.
