.wav) and compressed (.mp3) formats for immediate use in your products or marketing materials.
Request body
prompt— Required narrative or sonic description.voice— Optional voice preset slug for speech synthesis.tempo— Optional beats per minute when generating music; ignored for spoken word.durationSeconds— Optional cap on clip length (up to 300); defaults to 60.webhookUrl— Optional HTTPS URL Horizon should call when the audio job finishes.
Sample request
Response
Returns202 Accepted with a jobId, statusUrl, and previews for each format. Completed jobs include waveform analysis (RMS, LUFS) so you can loudness-match clips programmatically.
Notes
- When you omit
voice, the generator auto-selects a voice that matches the prompt’s tone. - To get subtitles alongside speech, add
"includeCaptions": trueto the request body. - Poll
GET /jobs/{jobId}(same destination asstatusUrl) to check progress or retrieve the audio bundle later.
x402 flow
Audio rendering is likewise defended by Coinbase’s x402 protocol. When additional payment is required, Horizon returns a structured402 response:
- Send the challenge to your facilitator (see Client & server responsibilities) and call
/verifyand/settle. - Replay the request with the facilitator’s Base64 payload inside the standard
X-PAYMENTheader: - Horizon validates the proof (locally or via facilitator). Successful responses may include
X-PAYMENT-RESPONSEwith the settlement record.
Body
application/json
Response
Audio generation job accepted
Example:
"job_01hx9q9"
Available options:
queued, processing, completed, failed Canonical link to GET /jobs/{jobId} for this job.
Example:
"extract/pdf"
Present when the job completes synchronously.
Estimated seconds until completion.