generate speech
generate_speechCreate one independent billable Studio task. All creation tools use input with original model parameters, reference_files and explicit file_bindings. Read list_models.defaults for the default model of this tool, then get_model_schema for the complete schema. generate_task requires model; shortcuts may omit it. Explicit model selects that public task model. Set the documented mode in input; no mode, model fields, defaults or voice choices are inferred or injected. Flat model parameters and legacy reference_images/reference_audio are not accepted. Backend validation is authoritative. Use session_title for a new topic, session_id to continue, and session_id plus base_run_id for a version. Preserve returned model/task_id/session_id/run_id/media_type. Never automatically resubmit or change model/session after rejection or an unconfirmed submission. In user-facing replies, omit technical identifiers by default, including user/profile IDs, task_id, session_id, run_id, base_run_id, voice_id, and file IDs. Retain the exact returned identifiers for tool arguments, task queries, session continuation, version appends, and voice reuse; never redact, regenerate, or guess these references. Show an identifier only when the user explicitly asks for it or a specific troubleshooting step requires that exact value, and show only the reference needed. Prefer plain-language status, model names, result previews/download links, and Studio links built from the returned session_id. This changes reply presentation only; tool result fields remain available for the workflow.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Follow the complete get_model_schema.schema for model parameters, including nested objects and arrays. Values pass unchanged to backend validation; no plugin field or mode whitelist. Use direct media URLs or reference_files with explicit file_bindings, without mixing them. Routing, identity and session overrides are not model inputs. Metadata does not prove content or access. | |
| model | No | Omit to use this tool's default from list_models.defaults. Supply a canonical ID or exact slug to select another task model; read its complete schema first. | |
| session_id | No | Use a returned or user-provided Studio session ID to add related work to that project. Never guess a session ID. | |
| base_run_id | No | To revise a specific work, pass its returned run_id and the same session_id. Omit to create an independent work in the project. | |
| file_bindings | No | Use paths declared in schema.mcp.attachments. Replace [] with an explicit input array index, e.g. elements[0].image_urls; provide parent objects and their metadata in input. Bind every file once using zero-based file_indices in intended order. Never overwrite direct URLs or guess fields or ordering. | |
| session_title | No | Required for a new Studio topic: 1-255 characters after trimming. Ignored when session_id is provided. | |
| reference_files | No | ChatGPT files in original order. file_id is metadata, never a URL or permission proof. Temporary download URLs are used only in this call. Do not invent MIME, byte size, dimensions or duration. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | Yes | ||
| model | Yes | ||
| state | Yes | ||
| run_id | No | ||
| task_id | Yes | ||
| progress | Yes | ||
| voice_id | Yes | ||
| created_at | Yes | ||
| media_type | Yes | ||
| session_id | No | ||
| completed_at | Yes | ||
| preview_urls | Yes | ||
| text_outputs | No | ||
| download_urls | Yes |