Voice Generation
Voice generation APIs turn text or runtime speech content into voice output for voice-enabled flows and telephony integrations.
Key concepts
Section titled “Key concepts”| Term | Definition |
|---|---|
| Voice generation | Producing an audio response from text or runtime prompt content. |
| Voice settings | The workflow or request-level settings that select voice, language, and speech behavior. |
| Voice interaction | A phone or voice-channel conversation that can include generated audio and recordings. |
| Recording URL | A presigned URL used to retrieve a stored voice interaction recording when available. |
What you can do
Section titled “What you can do”| Action | Endpoint |
|---|---|
| Generate voice | POST /llm-chain/voice/generate |
| Retrieve a recording URL | GET /telephony/recordings/:id/presigned-url |
Generate voice
Section titled “Generate voice”curl -X POST "$OCTO_BASE_URL/llm-chain/voice/generate" \ -H "Authorization: Bearer $OCTO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Thanks for calling. I can help with that.", "context": { "spaceId": "space_123", "language": "en-US" } }'Voice settings are normally configured on the AI Workflow version under language, voice, and phone settings. Use the API when a trusted integration needs to generate speech outside a normal entry-point call flow.
Retrieve a recording URL
Section titled “Retrieve a recording URL”Voice interactions can expose recordings in the Interactions UI when recording is enabled. Integrations can request a presigned URL for a recording by ID.
curl "$OCTO_BASE_URL/telephony/recordings/recording_123/presigned-url" \ -H "Authorization: Bearer $OCTO_API_KEY"Treat presigned URLs as temporary sensitive links. Do not store them permanently or expose them outside approved support and compliance workflows.
Operational checks
Section titled “Operational checks”| Situation | What to check |
|---|---|
| No audio generated | Confirm text input, voice settings, language, and provider availability. |
| Recording missing | Confirm recording was enabled on the workflow phone settings before the interaction. |
| Recording URL expired | Request a fresh presigned URL. |
| Voice call not reaching workflow | Check the phone number, voice entry point, and published workflow version. |
Should I generate voice directly for every phone call? No. Voice entry points and workflow phone settings handle normal call audio. Use this API for trusted integration paths.
Are recording URLs permanent? No. Treat them as temporary access links and request a new URL when needed.
Related pages
Section titled “Related pages”- Phone Numbers - purchase and assign inbound voice numbers
- Entry Points - route phone calls to published workflows
- Interactions - listen to call recordings and inspect transcripts