Zum Inhalt springen
API-Referenz
API-Referenz

Fish Audio Text zu Sprache

Verwenden Sie den Endpunkt „Text zu Sprache", um ein Ergebnis in derselben Antwort zu empfangen.

01

Übersicht

Verwenden Sie den Endpunkt „Text zu Sprache" und lesen Sie das Ergebnis aus derselben Antwort aus.

Schnellstart

  1. Erstellen Sie einen API-Schlüssel und setzen Sie ihn als RUNAPI_API_KEY.
  2. Eine POST-Anfrage senden, deren Körper dem Anfrage-Schema entspricht.
  3. Das Ergebnis aus dem erfolgreichen Antwortkörper lesen.

Endpunkt

POST /api/v1/fish_audio/text_to_speech
Basis-URL
https://runapi.ai
API-Version
v1
Authentifizierung
Authorization: Bearer YOUR_API_TOKEN
02

Unterstützte Modelle

Öffnen Sie eine Modellseite für aktuelle Preise, Ratenlimits und Details zur kommerziellen Nutzung.

03

Anfrage-Schema

JSON-Body

Nur die für diesen Endpunkt deklarierten Felder senden.

s19 Felder
bitrate_kbpsinteger
Optional

MP3-Bitrate. Wird für WAV-Ausgabe nicht akzeptiert.

Zulässige Werte: 64, 128, 192 Standard: 128
modelstring
Erforderlich

Modell-Slug.

output_formatstring
Optional

Ausgabe-Audioformat.

Zulässige Werte: mp3, wav Standard: mp3
referencesarray
Optional

Inline-Referenz-Audiosamples für diese Anfrage.

references[].audiostring
Erforderlich

Base64-kodierte rohe Audio-Bytes.

references[].textstring
Erforderlich

Exaktes Transkript des Referenzaudios.

sample_rate_hzinteger
Optional

Ausgabe-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
textstring
Erforderlich
voice_idstring
Optional
s2-pro9 Felder
bitrate_kbpsinteger
Optional

MP3-Bitrate. Wird für WAV-Ausgabe nicht akzeptiert.

Zulässige Werte: 64, 128, 192 Standard: 128
modelstring
Erforderlich

Modell-Slug.

output_formatstring
Optional

Ausgabe-Audioformat.

Zulässige Werte: mp3, wav Standard: mp3
referencesarray
Optional

Inline-Referenz-Audiosamples für diese Anfrage.

references[].audiostring
Erforderlich

Base64-kodierte rohe Audio-Bytes.

references[].textstring
Erforderlich

Exaktes Transkript des Referenzaudios.

sample_rate_hzinteger
Optional

Ausgabe-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
textstring
Erforderlich
voice_idstring
Optional
s2.1-pro9 Felder
bitrate_kbpsinteger
Optional

MP3-Bitrate. Wird für WAV-Ausgabe nicht akzeptiert.

Zulässige Werte: 64, 128, 192 Standard: 128
modelstring
Erforderlich

Modell-Slug.

output_formatstring
Optional

Ausgabe-Audioformat.

Zulässige Werte: mp3, wav Standard: mp3
referencesarray
Optional

Inline-Referenz-Audiosamples für diese Anfrage.

references[].audiostring
Erforderlich

Base64-kodierte rohe Audio-Bytes.

references[].textstring
Erforderlich

Exaktes Transkript des Referenzaudios.

sample_rate_hzinteger
Optional

Ausgabe-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
textstring
Erforderlich
voice_idstring
Optional

Bedingte Regeln

Diese Anforderungen gelten, wenn alle aufgeführten Bedingungen zutreffen.

  1. Wenn output_format = wav
    Erforderlich
    Nicht akzeptiert
    bitrate_kbps
  2. Wenn output_format = mp3
    Erforderlich
    Nicht akzeptiert
  3. Wenn output_format = {"present" => false}
    Erforderlich
    Nicht akzeptiert
04

Erfolgsantwort

HTTP 200

POST /api/v1/fish_audio/text_to_speech

Antwort-Schema
JSON
{
  "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

JSON
{
  "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"
}
05

Fehler

HTTP 401

POST /api/v1/fish_audio/text_to_speech

Antwort-Schema
JSON
{
  "properties": {
    "error": {
      "description": "Für Menschen lesbare Fehlermeldung.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Antwortbeispiel

JSON
{
  "error": "Authentication required"
}
06

Fehler

HTTP 400

POST /api/v1/fish_audio/text_to_speech

Antwort-Schema
JSON
{
  "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

JSON
{
  "error": "model must be one of: s1, s2-pro, s2.1-pro"
}
07

Fehler

HTTP 402

POST /api/v1/fish_audio/text_to_speech

Antwort-Schema
JSON
{
  "properties": {
    "error": {
      "description": "Für Menschen lesbare Fehlermeldung.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Antwortbeispiel

JSON
{
  "error": "Insufficient balance"
}
08

Fehler

HTTP 429

POST /api/v1/fish_audio/text_to_speech

Antwort-Schema
JSON
{
  "properties": {
    "error": {
      "description": "Für Menschen lesbare Fehlermeldung.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Antwortbeispiel

JSON
{
  "error": "API key credit limit exceeded"
}
09

Fehler

HTTP 409

POST /api/v1/fish_audio/text_to_speech

Antwort-Schema
JSON
{
  "properties": {
    "error": {
      "description": "Für Menschen lesbare Fehlermeldung.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Antwortbeispiel

JSON
{
  "error": "The request uses features that are not supported for the selected model"
}
10

Fehler

HTTP 429

POST /api/v1/fish_audio/text_to_speech

Antwort-Schema
JSON
{
  "properties": {
    "error": {
      "description": "Für Menschen lesbare Fehlermeldung.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Antwortbeispiel

JSON
{
  "error": "Rate limit reached. Please retry later."
}
11

Fehler

HTTP 503

POST /api/v1/fish_audio/text_to_speech

Antwort-Schema
JSON
{
  "properties": {
    "error": {
      "description": "Für Menschen lesbare Fehlermeldung.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Antwortbeispiel

JSON
{
  "error": "Service under maintenance, please try again later"
}
12

Fehler

HTTP 504

POST /api/v1/fish_audio/text_to_speech

Antwort-Schema
JSON
{
  "properties": {
    "error": {
      "description": "Für Menschen lesbare Fehlermeldung.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Antwortbeispiel

JSON
{
  "error": "The request timed out"
}
13

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

Shell
pip install runapi-fish-audio
PYTHON
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."
)