Fish Audio Metinden Konuşmaya
S2 Pro modelleri, anında ses klonlama ve mp3 veya wav çıktısıyla konuşma oluşturun.
Genel Bakış
Metinden konuşmaya uç noktasını kullanın ve sonucu aynı yanıttan okuyun.
Hızlı başlangıç
- Bir API anahtarı oluşturun ve RUNAPI_API_KEY olarak ayarlayın.
- Gövdesi istek şemasıyla eşleşen bir POST isteği gönderin.
- Sonucu başarılı yanıt gövdesinden okuyun.
Uç Nokta
- Temel URL
https://runapi.ai- API sürümü
v1- Kimlik doğrulama
Authorization: Bearer YOUR_API_TOKEN
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.
İstek şeması
Yalnızca bu uç nokta için bildirilen alanları gönderin.
s19 alan
bitrate_kbpsintegerMP3 bit hızı. WAV çıktısı için kabul edilmez.
İzin verilen değerler:64, 128, 192
Varsayılan: 128
modelstringModel tanımlayıcısı.
output_formatstringÇıktı ses biçimi.
İzin verilen değerler:mp3, wav
Varsayılan: mp3
referencesarrayGeç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[].audiostringHerkese açık HTTPS ses URL’si. Kuyrukta beklerken ve sağlayıcı tarafından okunurken geçerli kalmalıdır.
references[].textstringReferans sesle kelimesi kelimesine eşleşen tam transkript.
sample_rate_hzintegerÇı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
textstringvoice_idstrings2-pro9 alan
bitrate_kbpsintegerMP3 bit hızı. WAV çıktısı için kabul edilmez.
İzin verilen değerler:64, 128, 192
Varsayılan: 128
modelstringModel tanımlayıcısı.
output_formatstringÇıktı ses biçimi.
İzin verilen değerler:mp3, wav
Varsayılan: mp3
referencesarrayGeç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[].audiostringHerkese açık HTTPS ses URL’si. Kuyrukta beklerken ve sağlayıcı tarafından okunurken geçerli kalmalıdır.
references[].textstringReferans sesle kelimesi kelimesine eşleşen tam transkript.
sample_rate_hzintegerÇı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
textstringvoice_idstrings2.1-pro9 alan
bitrate_kbpsintegerMP3 bit hızı. WAV çıktısı için kabul edilmez.
İzin verilen değerler:64, 128, 192
Varsayılan: 128
modelstringModel tanımlayıcısı.
output_formatstringÇıktı ses biçimi.
İzin verilen değerler:mp3, wav
Varsayılan: mp3
referencesarrayGeç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[].audiostringHerkese açık HTTPS ses URL’si. Kuyrukta beklerken ve sağlayıcı tarafından okunurken geçerli kalmalıdır.
references[].textstringReferans sesle kelimesi kelimesine eşleşen tam transkript.
sample_rate_hzintegerÇı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
textstringvoice_idstringKoşullu kurallar
Bu gereksinimler, listelenen tüm koşulların eşleştiği durumlarda uygulanır.
-
Şu durumlarda
references present- Gerekli
- Kabul edilmez
voice_id
-
Şu durumlarda
output_format = wav- Gerekli
- Kabul edilmez
bitrate_kbps
-
Şu durumlarda
output_format = mp3- Gerekli
- Kabul edilmez
-
Şu durumlarda
output_format absent- Gerekli
- Kabul edilmez
Başarılı yanıt
POST /api/v1/fish_audio/text_to_speech
Yanıt şeması
{
"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
{
"audios": [
{
"format": "mp3",
"mime_type": "audio/mpeg",
"size_bytes": 128,
"url": "https://file.runapi.ai/reference-audio.mp3"
}
],
"id": "tsk_reference_demo",
"status": "completed"
}
Hatalar
POST /api/v1/fish_audio/text_to_speech
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Authentication required"
}
Hatalar
POST /api/v1/fish_audio/text_to_speech
Yanıt şeması
{
"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
{
"error": "model must be one of: s1, s2-pro, s2.1-pro"
}
Hatalar
POST /api/v1/fish_audio/text_to_speech
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Insufficient balance"
}
Hatalar
POST /api/v1/fish_audio/text_to_speech
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "API key credit limit exceeded"
}
Hatalar
POST /api/v1/fish_audio/text_to_speech
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "The request uses features that are not supported for the selected model"
}
Hatalar
POST /api/v1/fish_audio/text_to_speech
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Rate limit reached. Please retry later."
}
Hatalar
POST /api/v1/fish_audio/text_to_speech
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Service under maintenance, please try again later"
}
Hatalar
POST /api/v1/fish_audio/text_to_speech
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "The request timed out"
}
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
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."
)