Fish Audio Text zu Sprache
Verwenden Sie den Endpunkt „Text zu Sprache", um ein Ergebnis in derselben Antwort zu empfangen.
Übersicht
Verwenden Sie den Endpunkt „Text zu Sprache" und lesen Sie das Ergebnis aus derselben Antwort aus.
Schnellstart
- Erstellen Sie einen API-Schlüssel und setzen Sie ihn als RUNAPI_API_KEY.
- Eine POST-Anfrage senden, deren Körper dem Anfrage-Schema entspricht.
- Das Ergebnis aus dem erfolgreichen Antwortkörper lesen.
Endpunkt
- Basis-URL
https://runapi.ai- API-Version
v1- Authentifizierung
Authorization: Bearer YOUR_API_TOKEN
Unterstützte Modelle
Öffnen Sie eine Modellseite für aktuelle Preise, Ratenlimits und Details zur kommerziellen Nutzung.
Anfrage-Schema
Nur die für diesen Endpunkt deklarierten Felder senden.
s19 Felder
bitrate_kbpsintegerMP3-Bitrate. Wird für WAV-Ausgabe nicht akzeptiert.
Zulässige Werte:64, 128, 192
Standard: 128
modelstringModell-Slug.
output_formatstringAusgabe-Audioformat.
Zulässige Werte:mp3, wav
Standard: mp3
referencesarrayInline-Referenz-Audiosamples für diese Anfrage.
references[].audiostringBase64-kodierte rohe Audio-Bytes.
references[].textstringExaktes Transkript des Referenzaudios.
sample_rate_hzintegerAusgabe-Abtastrate. MP3 unterstützt 32000 und 44100 Hz; WAV unterstützt jeden aufgeführten Wert.
Zulässige Werte:8000, 16000, 24000, 32000, 44100
Standard: 44100
textstringvoice_idstrings2-pro9 Felder
bitrate_kbpsintegerMP3-Bitrate. Wird für WAV-Ausgabe nicht akzeptiert.
Zulässige Werte:64, 128, 192
Standard: 128
modelstringModell-Slug.
output_formatstringAusgabe-Audioformat.
Zulässige Werte:mp3, wav
Standard: mp3
referencesarrayInline-Referenz-Audiosamples für diese Anfrage.
references[].audiostringBase64-kodierte rohe Audio-Bytes.
references[].textstringExaktes Transkript des Referenzaudios.
sample_rate_hzintegerAusgabe-Abtastrate. MP3 unterstützt 32000 und 44100 Hz; WAV unterstützt jeden aufgeführten Wert.
Zulässige Werte:8000, 16000, 24000, 32000, 44100
Standard: 44100
textstringvoice_idstrings2.1-pro9 Felder
bitrate_kbpsintegerMP3-Bitrate. Wird für WAV-Ausgabe nicht akzeptiert.
Zulässige Werte:64, 128, 192
Standard: 128
modelstringModell-Slug.
output_formatstringAusgabe-Audioformat.
Zulässige Werte:mp3, wav
Standard: mp3
referencesarrayInline-Referenz-Audiosamples für diese Anfrage.
references[].audiostringBase64-kodierte rohe Audio-Bytes.
references[].textstringExaktes Transkript des Referenzaudios.
sample_rate_hzintegerAusgabe-Abtastrate. MP3 unterstützt 32000 und 44100 Hz; WAV unterstützt jeden aufgeführten Wert.
Zulässige Werte:8000, 16000, 24000, 32000, 44100
Standard: 44100
textstringvoice_idstringBedingte Regeln
Diese Anforderungen gelten, wenn alle aufgeführten Bedingungen zutreffen.
-
Wenn
output_format = wav- Erforderlich
- Nicht akzeptiert
bitrate_kbps
-
Wenn
output_format = mp3- Erforderlich
- Nicht akzeptiert
-
Wenn
output_format = {"present" => false}- Erforderlich
- Nicht akzeptiert
Erfolgsantwort
POST /api/v1/fish_audio/text_to_speech
Antwort-Schema
{
"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
}
Antwortbeispiel
{
"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"
}
Fehler
POST /api/v1/fish_audio/text_to_speech
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Authentication required"
}
Fehler
POST /api/v1/fish_audio/text_to_speech
Antwort-Schema
{
"oneOf": [
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Menschenlesbare Validierungszusammenfassung.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Validierungsmeldungen nach öffentlichem Anforderungsfeld gegliedert, mit einem Array menschenlesbarer Zeichenketten für jedes Feld.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Antwortbeispiel
{
"error": "model must be one of: s1, s2-pro, s2.1-pro"
}
Fehler
POST /api/v1/fish_audio/text_to_speech
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Insufficient balance"
}
Fehler
POST /api/v1/fish_audio/text_to_speech
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "API key credit limit exceeded"
}
Fehler
POST /api/v1/fish_audio/text_to_speech
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "The request uses features that are not supported for the selected model"
}
Fehler
POST /api/v1/fish_audio/text_to_speech
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Rate limit reached. Please retry later."
}
Fehler
POST /api/v1/fish_audio/text_to_speech
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Service under maintenance, please try again later"
}
Fehler
POST /api/v1/fish_audio/text_to_speech
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "The request timed out"
}
Generierte Code-Beispiele
Verwende cURL direkt oder installiere ein SDK für deine Programmiersprache. Jedes Beispiel übermittelt die in dieser Referenz gezeigte validierte Anfrage.
Installieren
pip install runapi-fish-audio
import os
from runapi.fish_audio import FishAudioClient
client = FishAudioClient(api_key=os.environ["RUNAPI_API_KEY"])
result = client.text_to_speech.run(
model="s1",
text="Welcome to RunAPI."
)