İçeriğe geç
API Referansı
API Referansı

Fish Audio Metinden Konuşmaya

S2 Pro modelleri, anında ses klonlama ve mp3 veya wav çıktısıyla konuşma oluşturun.

01

Genel Bakış

Metinden konuşmaya uç noktasını kullanın ve sonucu aynı yanıttan okuyun.

Hızlı başlangıç

  1. Bir API anahtarı oluşturun ve RUNAPI_API_KEY olarak ayarlayın.
  2. Gövdesi istek şemasıyla eşleşen bir POST isteği gönderin.
  3. Sonucu başarılı yanıt gövdesinden okuyun.

Uç Nokta

POST /api/v1/fish_audio/text_to_speech
Temel URL
https://runapi.ai
API sürümü
v1
Kimlik doğrulama
Authorization: Bearer YOUR_API_TOKEN
02

Desteklenen modeller

Güncel fiyatlandırma, hız sınırları ve ticari kullanım ayrıntıları için bir model sayfası açın.

03

İstek şeması

JSON gövdesi

Yalnızca bu uç nokta için bildirilen alanları gönderin.

s19 alan
bitrate_kbpsinteger
İsteğe bağlı

MP3 bit hızı. WAV çıktısı için kabul edilmez.

İzin verilen değerler: 64, 128, 192 Varsayılan: 128
modelstring
Zorunlu

Model tanımlayıcısı.

output_formatstring
İsteğe bağlı

Çıktı ses biçimi.

İzin verilen değerler: mp3, wav Varsayılan: mp3
referencesarray
İsteğe bağlı

Geçici ses klonlama için tek örnek. voice_id ile birlikte kullanılamaz. Örnek yoksa alanı atlayın veya null ya da [] kullanın.

Öğe sınırı: 1
references[].audiostring
Zorunlu

Herkese açık HTTPS ses URL’si. Kuyrukta beklerken ve sağlayıcı tarafından okunurken geçerli kalmalıdır.

references[].textstring
Zorunlu

Referans sesle kelimesi kelimesine eşleşen tam transkript.

sample_rate_hzinteger
İsteğe bağlı

Çıktı örnek hızı. MP3, 32000 ve 44100 Hz'i destekler; WAV listelenen tüm değerleri destekler.

İzin verilen değerler: 8000, 16000, 24000, 32000, 44100 Varsayılan: 44100
textstring
Zorunlu
voice_idstring
İsteğe bağlı
s2-pro9 alan
bitrate_kbpsinteger
İsteğe bağlı

MP3 bit hızı. WAV çıktısı için kabul edilmez.

İzin verilen değerler: 64, 128, 192 Varsayılan: 128
modelstring
Zorunlu

Model tanımlayıcısı.

output_formatstring
İsteğe bağlı

Çıktı ses biçimi.

İzin verilen değerler: mp3, wav Varsayılan: mp3
referencesarray
İsteğe bağlı

Geçici ses klonlama için tek örnek. voice_id ile birlikte kullanılamaz. Örnek yoksa alanı atlayın veya null ya da [] kullanın.

Öğe sınırı: 1
references[].audiostring
Zorunlu

Herkese açık HTTPS ses URL’si. Kuyrukta beklerken ve sağlayıcı tarafından okunurken geçerli kalmalıdır.

references[].textstring
Zorunlu

Referans sesle kelimesi kelimesine eşleşen tam transkript.

sample_rate_hzinteger
İsteğe bağlı

Çıktı örnek hızı. MP3, 32000 ve 44100 Hz'i destekler; WAV listelenen tüm değerleri destekler.

İzin verilen değerler: 8000, 16000, 24000, 32000, 44100 Varsayılan: 44100
textstring
Zorunlu
voice_idstring
İsteğe bağlı
s2.1-pro9 alan
bitrate_kbpsinteger
İsteğe bağlı

MP3 bit hızı. WAV çıktısı için kabul edilmez.

İzin verilen değerler: 64, 128, 192 Varsayılan: 128
modelstring
Zorunlu

Model tanımlayıcısı.

output_formatstring
İsteğe bağlı

Çıktı ses biçimi.

İzin verilen değerler: mp3, wav Varsayılan: mp3
referencesarray
İsteğe bağlı

Geçici ses klonlama için tek örnek. voice_id ile birlikte kullanılamaz. Örnek yoksa alanı atlayın veya null ya da [] kullanın.

Öğe sınırı: 1
references[].audiostring
Zorunlu

Herkese açık HTTPS ses URL’si. Kuyrukta beklerken ve sağlayıcı tarafından okunurken geçerli kalmalıdır.

references[].textstring
Zorunlu

Referans sesle kelimesi kelimesine eşleşen tam transkript.

sample_rate_hzinteger
İsteğe bağlı

Çıktı örnek hızı. MP3, 32000 ve 44100 Hz'i destekler; WAV listelenen tüm değerleri destekler.

İzin verilen değerler: 8000, 16000, 24000, 32000, 44100 Varsayılan: 44100
textstring
Zorunlu
voice_idstring
İsteğe bağlı

Koşullu kurallar

Bu gereksinimler, listelenen tüm koşulların eşleştiği durumlarda uygulanır.

  1. Şu durumlarda references present
    Gerekli
    Kabul edilmez
    voice_id
  2. Şu durumlarda output_format = wav
    Gerekli
    Kabul edilmez
    bitrate_kbps
  3. Şu durumlarda output_format = mp3
    Gerekli
    Kabul edilmez
  4. Şu durumlarda output_format absent
    Gerekli
    Kabul edilmez
04

Başarılı yanıt

HTTP 200

POST /api/v1/fish_audio/text_to_speech

Yanıt şeması
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"
    },
    "id": {
      "type": "string"
    },
    "status": {
      "enum": [
        "completed"
      ],
      "type": "string"
    }
  },
  "required": [
    "id",
    "status",
    "audios"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

JSON
{
  "audios": [
    {
      "format": "mp3",
      "mime_type": "audio/mpeg",
      "size_bytes": 128,
      "url": "https://file.runapi.ai/reference-audio.mp3"
    }
  ],
  "id": "tsk_reference_demo",
  "status": "completed"
}
05

Hatalar

HTTP 401

POST /api/v1/fish_audio/text_to_speech

Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

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

Hatalar

HTTP 400

POST /api/v1/fish_audio/text_to_speech

Yanıt şeması
JSON
{
  "oneOf": [
    {
      "properties": {
        "error": {
          "description": "İnsan tarafından okunabilir hata mesajı.",
          "type": "string"
        }
      },
      "required": [
        "error"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    {
      "properties": {
        "error": {
          "description": "İnsan tarafından okunabilir doğrulama özeti.",
          "type": "string"
        },
        "errors": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "Herkese açık istek alanına göre anahtarlanan doğrulama mesajları; her alan için insan tarafından okunabilir dizelerden oluşan bir dizi içerir.",
          "type": "object"
        }
      },
      "required": [
        "error",
        "errors"
      ],
      "type": "object",
      "unevaluatedProperties": false
    }
  ]
}

Yanıt örneği

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

Hatalar

HTTP 402

POST /api/v1/fish_audio/text_to_speech

Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

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

Hatalar

HTTP 429

POST /api/v1/fish_audio/text_to_speech

Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

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

Hatalar

HTTP 409

POST /api/v1/fish_audio/text_to_speech

Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

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

Hatalar

HTTP 429

POST /api/v1/fish_audio/text_to_speech

Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

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

Hatalar

HTTP 503

POST /api/v1/fish_audio/text_to_speech

Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

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

Hatalar

HTTP 504

POST /api/v1/fish_audio/text_to_speech

Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

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

Oluşturulan Kod Örnekleri

Doğrudan cURL kullanın veya diliniz için bir SDK yükleyin. Her örnek, bu başvuruda gösterilen doğrulanmış isteği gönderir.

Yükle

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