OpenAI TTS tekst naar spraak
Gebruik het eindpunt voor tekst naar spraak om een resultaat in dezelfde respons te ontvangen.
Overzicht
Gebruik het eindpunt voor tekst naar spraak en lees het resultaat uit dezelfde respons.
Snelstart
- Maak een API-sleutel aan en stel deze in als RUNAPI_API_KEY.
- Stuur een POST-verzoek waarvan de body overeenkomt met het verzoekschema.
- Lees het resultaat uit de body van de geslaagde respons.
Eindpunt
- Basis-URL
https://runapi.ai- API-versie
v1- Authenticatie
Authorization: Bearer YOUR_API_TOKEN
Ondersteunde modellen
Open een modelpagina voor actuele prijzen, snelheidslimieten en details over commercieel gebruik.
Verzoekschema
Stuur alleen de velden die voor dit eindpunt zijn gedeclareerd.
tts-12 velden
modelstringModel-slug.
textstring4096
tts-1-hd2 velden
modelstringModel-slug.
textstring4096
Succesvol antwoord
POST /api/v1/openai_tts/text_to_speech
Responsschema
{
"properties": {
"audios": {
"items": {
"properties": {
"format": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url",
"format",
"mime_type",
"size_bytes"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"audios",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"audios": [
{
"format": "mp3",
"mime_type": "audio/mpeg",
"size_bytes": 128,
"url": "https://file.runapi.ai/reference-audio.mp3"
}
],
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "completed"
}
Fouten
POST /api/v1/openai_tts/text_to_speech
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Authentication required"
}
Fouten
POST /api/v1/openai_tts/text_to_speech
Responsschema
{
"oneOf": [
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Leesbare validatiesamenvatting.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Validatieberichten gekoppeld aan het openbare aanvraagveld, met een reeks leesbare tekenreeksen per veld.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Responsvoorbeeld
{
"error": "model must be one of: tts-1, tts-1-hd"
}
Fouten
POST /api/v1/openai_tts/text_to_speech
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Insufficient balance"
}
Fouten
POST /api/v1/openai_tts/text_to_speech
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "API key credit limit exceeded"
}
Fouten
POST /api/v1/openai_tts/text_to_speech
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "The request uses features that are not supported for the selected model"
}
Fouten
POST /api/v1/openai_tts/text_to_speech
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Rate limit reached. Please retry later."
}
Fouten
POST /api/v1/openai_tts/text_to_speech
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Service under maintenance, please try again later"
}
Fouten
POST /api/v1/openai_tts/text_to_speech
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "The request timed out"
}
Gegenereerde codevoorbeelden
Gebruik cURL rechtstreeks, of installeer een SDK voor uw taal. Elk voorbeeld dient het gevalideerde verzoek in dat in deze referentie wordt getoond.
Installeren
pip install runapi-openai-tts
import os
from runapi.openai_tts import OpenaiTtsClient
client = OpenaiTtsClient(api_key=os.environ["RUNAPI_API_KEY"])
result = client.text_to_speech.run(
model="tts-1",
text="Welcome to RunAPI."
)