Vocu Developers
🇺🇸 English
  • 🇺🇸 English
  • 🇨🇳 简体中文
Api Docs(Current)
User GuideBack To APP
Api Docs(Current)
User GuideBack To APP
🇺🇸 English
  • 🇺🇸 English
  • 🇨🇳 简体中文
🇺🇸 English
  • 🇺🇸 English
  • 🇨🇳 简体中文
  1. Synchronous
  • Overview
  • Authentication Method
  • Core
    • Voice Character
      • Manage
        • Get the list of voice characters for the current user
        • Get details of the voice character with the specified ID
        • Create a new voice character
        • Update a voice character's name and description
        • Upload avatar for the voice character with the specified ID
        • Delete Voice Character with the specified ID
      • Styles
        • Get the transcription of a style's reference audio
        • Add a style to the voice character with the specified ID
        • Correct the transcription of a style's reference audio
        • Update a style's name and description
        • Set a style as the default style
        • Reset a style and reprocess its reference audio
        • Delete Style of the specified ID for the Voice Character with the specified ID
    • Voice Generation
      • Async jobs
        • Get the list of asynchronous generation tasks for the current user
        • Get the details of an asynchronous generation task by ID
        • Create Asynchronous Voice Generation Task
        • Upload audio for voice conversion
        • Delete an asynchronous generation task by ID
      • Synchronous
        • List synthesis parameter presets
          GET
        • One-shot synthesis returning an MP3 stream directly
          GET
        • Synchronous real-time voice generation
          POST
  • Creative
    • Templates
      • Get User's Template List
      • Get Template Details with Specified ID
      • Create New Template
      • Update Template with Specified ID
      • Delete Template with Specified ID
  • Account
    • User
      • Get current user account information
  • Advanced
    • Splitter
      • List splitter configurations
      • Get splitter configuration details
      • Create a splitter configuration
      • Update a splitter configuration (diff mode)
      • Delete a splitter configuration
  • Schemas
    • Generation Template
    • Generation Task
    • Voice Character
    • General Generation Parameters (New)
    • ErrorResponse
  1. Synchronous

One-shot synthesis returning an MP3 stream directly

GET
https://v1.vocu.ai/api/tts/simple-generate.mp3
One-shot text-to-speech that returns audio bytes directly as an audio/mpeg stream, usable as <audio src> as-is.

Relationship to GET /api/tts/simple-generate#

Both share the same parameters, auth, billing, and response headers,
and both emit a byte stream with direct_stream: true. The .mp3 suffix exists purely so browsers, players, and download tools
recognize the content type by extension; there is no difference in response shape.
For a JSON response (to obtain streamUrl and fetch later) use POST /api/tts/simple-generate without direct_stream.

Preconditions#

Paying users only, otherwise TTS_PAID_ONLY
By default API Key calls only: a session JWT returns TTS_SESSION_TOKEN_NOT_ALLOWED
DANGER
Over-limit requests do not fail immediately; they may wait about 330 seconds before RATE_LIMIT_CONCURRENT. Set the client HTTP timeout above 330 seconds. See the "Text to speech" document.

Two synthesis modes#

TTS: pass text. When instruct_mode=true the emotion-controllable path is used,
supporting {{...}} control markers (billing and duration estimates are computed after stripping markers), and no SRT is produced
VC (voice conversion): pass input_audio. text and all TTS parameters are then ignored,
billed by input-audio duration; input_audio must be an address under this platform's /vc-input/ or /generate/ path,
or an authorized external address, otherwise TTS_INPUT_AUDIO_INVALID

Error semantics#

All errors are decided before response headers are sent, so failures return a standard JSON error body (not an audio stream).
Once bytes start flowing, a mid-stream failure can only appear as an early end of the stream.
Synthesis failure is not billed; billing happens after audio is produced successfully.
INFO
See the Errors document for the full code reference. Always use the X-Vocu-App-Request-Id response header when troubleshooting.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Query Params

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://v1.vocu.ai/api/tts/simple-generate.mp3?voiceId=undefined&text=undefined&promptId=undefined&instruct_mode=undefined&reference_mode=undefined&preset=undefined&flash=undefined&srt=undefined&seed=undefined&speechRate=undefined&break_clone=undefined&infinite_mode=undefined&post_processing=undefined&input_audio=undefined&vc_mode=undefined&keep_prosody=undefined&cover_mode=undefined&high_quality=undefined' \
--header 'Authorization: Bearer <token>'

Responses

🟢200Success
audio/mpeg
MP3 audio byte stream. The response body is the audio itself. Accompanying metadata (audio ID, reusable stream URL, billing details) is sent as a JSON string in the X-Reecho-Response-Data response header.
Headers

Bodyaudio/mpeg

Example
{}
🟠400Bad request
🟠401Unauthorized
🟠403Forbidden
🟠404Not found
🟠409Conflict
🟠429Rate limited
🔴500Server error
🔴503Temporarily unavailable
Modified at 2026-08-23 09:24:46
Previous
List synthesis parameter presets
Next
Synchronous real-time voice generation