ActionOpenAIUpdated September 2026
How do I convert text to speech with OpenAI?
Short answer: You can generate speech (tts) in OpenAI by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the OpenAI Generate Speech (TTS) action to a workflow, map its 4 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.
Inputs
The fields this action accepts.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Text input | string | Required | Text |
Model model | options | Required | Model. Options: TTS-1, TTS-1 HD |
Voice voice | options | Required | Voice. Options: Alloy, Echo, Fable, Onyx, Nova, Shimmer |
Format response_format | options | Optional | Format. Options: MP3, Opus, AAC, FLAC |
Sample request
{"input": "{{trigger.input}}","model": "{{trigger.model}}","voice": "{{trigger.voice}}","response_format": "{{trigger.response_format}}"}
Returns
{"success": true}
Use these fields in downstream nodes for routing, logging, or error handling.
Triggered by
Apps that pair well as the trigger for Generate Speech (TTS).
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about Generate Speech (TTS).
What does the Generate Speech (TTS) action do in OpenAI?
Converts text to speech audio using OpenAI's TTS models, returning audio bytes (mp3 by default). Supports multiple voices (alloy, echo, fable, onyx, nova, shimmer).
What inputs does Generate Speech (TTS) require?
Required: Text, Model, Voice. Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if OpenAI returns an error?
The run history shows the failed step with its input and the error message OpenAI returned, so you can fix the input and run the workflow again. Automatic retries are built into HTTP steps only, where you can also set your own retry count and delay.
Does Generate Speech (TTS) support batch operations?
Run Generate Speech (TTS) inside a loop to process each item in an array. TinyCommand does not throttle calls for you, so for large arrays add a Delay step if you need to stay within OpenAI's rate limits.
More actions
Other OpenAI actions.
Action
Analyze Image
Analyzes an image using GPT-4o vision, accepting a URL or base64-encoded image plus a text prompt. Use for OCR, chart extraction, alt-text generation, or visual QA.
ActionChat Completion
Sends a message and gets a response from an OpenAI chat model (gpt-4o, gpt-4o-mini, o-series, etc.). The standard chat-completion action; supports system prompts, temperature, and stop sequences.
ActionChat with Tools
Chat completion with tool/function calling enabled. The model may return tool_calls instead of (or in addition to) text; you execute them and feed results back as tool messages for the next turn.
ActionCreate Batch
Submits a batch of OpenAI requests at a 50% cost discount with a 24-hour SLA. Requires an uploaded JSONL file id with one request per line. Perfect for bulk classification or embedding jobs.
ActionCreate Embedding
Generates vector embeddings for text using text-embedding-3-small or text-embedding-3-large. The de-facto embeddings default for RAG and semantic search.
ActionCreate Image (DALL-E)
Generates images from a text prompt using DALL-E (or gpt-image-1). Supports size, quality, and style controls; returns a URL or base64-encoded image.