Naar inhoud springen
API-referentie
API-referentie

Fish Audio tekst naar spraak

Gebruik het eindpunt voor tekst naar spraak om een resultaat in dezelfde respons te ontvangen.

01

Overzicht

Gebruik het eindpunt voor tekst naar spraak en lees het resultaat uit dezelfde respons.

Snelstart

  1. Maak een API-sleutel aan en stel deze in als RUNAPI_API_KEY.
  2. Stuur een POST-verzoek waarvan de body overeenkomt met het verzoekschema.
  3. Lees het resultaat uit de body van de geslaagde respons.

Eindpunt

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

Ondersteunde modellen

Open een modelpagina voor actuele prijzen, snelheidslimieten en details over commercieel gebruik.

03

Verzoekschema

JSON-body

Stuur alleen de velden die voor dit eindpunt zijn gedeclareerd.

s19 velden
bitrate_kbpsinteger
Optioneel

MP3-bitrate. Niet geaccepteerd voor WAV-uitvoer.

Toegestane waarden: 64, 128, 192 Standaard: 128
modelstring
Verplicht

Model-slug.

output_formatstring
Optioneel

Uitvoer-audioformaat.

Toegestane waarden: mp3, wav Standaard: mp3
referencesarray
Optioneel

Inline referentieaudiofragmenten voor deze aanvraag.

references[].audiostring
Verplicht

Met Base64 gecodeerde ruwe audiobytes.

references[].textstring
Verplicht

Exact transcript van de referentieaudio.

sample_rate_hzinteger
Optioneel

Uitvoer samplefrequentie. MP3 ondersteunt 32000 en 44100 Hz; WAV ondersteunt alle vermelde waarden.

Toegestane waarden: 8000, 16000, 24000, 32000, 44100 Standaard: 44100
textstring
Verplicht
voice_idstring
Optioneel
s2-pro9 velden
bitrate_kbpsinteger
Optioneel

MP3-bitrate. Niet geaccepteerd voor WAV-uitvoer.

Toegestane waarden: 64, 128, 192 Standaard: 128
modelstring
Verplicht

Model-slug.

output_formatstring
Optioneel

Uitvoer-audioformaat.

Toegestane waarden: mp3, wav Standaard: mp3
referencesarray
Optioneel

Inline referentieaudiofragmenten voor deze aanvraag.

references[].audiostring
Verplicht

Met Base64 gecodeerde ruwe audiobytes.

references[].textstring
Verplicht

Exact transcript van de referentieaudio.

sample_rate_hzinteger
Optioneel

Uitvoer samplefrequentie. MP3 ondersteunt 32000 en 44100 Hz; WAV ondersteunt alle vermelde waarden.

Toegestane waarden: 8000, 16000, 24000, 32000, 44100 Standaard: 44100
textstring
Verplicht
voice_idstring
Optioneel
s2.1-pro9 velden
bitrate_kbpsinteger
Optioneel

MP3-bitrate. Niet geaccepteerd voor WAV-uitvoer.

Toegestane waarden: 64, 128, 192 Standaard: 128
modelstring
Verplicht

Model-slug.

output_formatstring
Optioneel

Uitvoer-audioformaat.

Toegestane waarden: mp3, wav Standaard: mp3
referencesarray
Optioneel

Inline referentieaudiofragmenten voor deze aanvraag.

references[].audiostring
Verplicht

Met Base64 gecodeerde ruwe audiobytes.

references[].textstring
Verplicht

Exact transcript van de referentieaudio.

sample_rate_hzinteger
Optioneel

Uitvoer samplefrequentie. MP3 ondersteunt 32000 en 44100 Hz; WAV ondersteunt alle vermelde waarden.

Toegestane waarden: 8000, 16000, 24000, 32000, 44100 Standaard: 44100
textstring
Verplicht
voice_idstring
Optioneel

Voorwaardelijke regels

Deze vereisten zijn van toepassing wanneer alle vermelde voorwaarden overeenkomen.

  1. Wanneer output_format = wav
    Vereist
    Niet geaccepteerd
    bitrate_kbps
  2. Wanneer output_format = mp3
    Vereist
    Niet geaccepteerd
  3. Wanneer output_format = {"present" => false}
    Vereist
    Niet geaccepteerd
04

Succesvol antwoord

HTTP 200

POST /api/v1/fish_audio/text_to_speech

Responsschema
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
}

Responsvoorbeeld

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

Fouten

HTTP 401

POST /api/v1/fish_audio/text_to_speech

Responsschema
JSON
{
  "properties": {
    "error": {
      "description": "Leesbare foutmelding.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Responsvoorbeeld

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

Fouten

HTTP 400

POST /api/v1/fish_audio/text_to_speech

Responsschema
JSON
{
  "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

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

Fouten

HTTP 402

POST /api/v1/fish_audio/text_to_speech

Responsschema
JSON
{
  "properties": {
    "error": {
      "description": "Leesbare foutmelding.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Responsvoorbeeld

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

Fouten

HTTP 429

POST /api/v1/fish_audio/text_to_speech

Responsschema
JSON
{
  "properties": {
    "error": {
      "description": "Leesbare foutmelding.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Responsvoorbeeld

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

Fouten

HTTP 409

POST /api/v1/fish_audio/text_to_speech

Responsschema
JSON
{
  "properties": {
    "error": {
      "description": "Leesbare foutmelding.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Responsvoorbeeld

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

Fouten

HTTP 429

POST /api/v1/fish_audio/text_to_speech

Responsschema
JSON
{
  "properties": {
    "error": {
      "description": "Leesbare foutmelding.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Responsvoorbeeld

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

Fouten

HTTP 503

POST /api/v1/fish_audio/text_to_speech

Responsschema
JSON
{
  "properties": {
    "error": {
      "description": "Leesbare foutmelding.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Responsvoorbeeld

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

Fouten

HTTP 504

POST /api/v1/fish_audio/text_to_speech

Responsschema
JSON
{
  "properties": {
    "error": {
      "description": "Leesbare foutmelding.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Responsvoorbeeld

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

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

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."
)