Voice Go API
Voice Go API ile metinlerinizi kendi uygulamanızdan, santralinizden ya da içerik sisteminizden doğrudan seslendirebilir, ses ve video kayıtlarınızı yazıya dökebilirsiniz. Stüdyodaki seslerin ve kotanın aynısını kullanır; tek bir HTTP isteğiyle MP3/WAV ses dosyası ya da zaman damgalı deşifre metni alırsınız.
Başlarken
Tüm istekler HTTPS üzerinden aşağıdaki adrese yapılır. İstek gövdeleri JSON'dur (deşifrede dosya yüklerken multipart/form-data); seslendirme yanıtı doğrudan ses dosyasıdır.
https://www.voicego.net/api/v1Kimlik doğrulama
Her istekte API anahtarınızı Authorization başlığında gönderin. Anahtarlar vg_live_ ile başlar. Alternatif olarak X-API-Key başlığı da kabul edilir.
Authorization: Bearer vg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMetni seslendirme
POST/api/v1/tts
Metni seçtiğiniz sesle seslendirir ve ses dosyasını döndürür. Başarılı her istek, metnin karakter sayısı kadar aylık kotanızdan düşer.
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
textzorunlu | string | Seslendirilecek metin. İstek başına en fazla 2500 karakter. Daha uzun metinleri cümle sonlarından bölerek gönderin. |
voicezorunlu | string | Ses kimliği, ör. yeliz, kemal. Tam liste için GET /voices. |
formatisteğe bağlı | string | Çıktı biçimi: mp3 (varsayılan), wav (44,1 kHz, 16 bit, mono) ya da wav_8k (8 kHz, 16 bit, mono — santraller için). |
speedisteğe bağlı | number | Okuma hızı, 0.5 ile 2 arasında. Varsayılan 1. |
emotionisteğe bağlı | string | Okuma tonu (yalnızca HD seslerde): warm, cheerful, excited, calm, serious, sad. |
instructionisteğe bağlı | string | Serbest metinle okuma talimatı (yalnızca HD seslerde), en fazla 160 karakter. Ör. "gülümseyerek, güven veren bir tonla". |
curl -X POST https://www.voicego.net/api/v1/tts \
-H "Authorization: Bearer $VOICEGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Şirketimizi aradığınız için teşekkür ederiz.",
"voice": "yeliz",
"format": "wav_8k"
}' \
--output anons.wavYanıt
Başarılı yanıt 200 durum koduyla ses dosyasının kendisidir (Content-Type: audio/mpeg ya da audio/wav). Yanıt başlıkları:
X-Characters— Bu istekte kotadan düşen karakter sayısıX-Quota-Limit · X-Quota-Used · X-Quota-Remaining— Aylık kota, bu ayki kullanım ve kalan karakter
Sesleri listeleme
GET/api/v1/voices
Kullanabileceğiniz seslerin listesini döndürür. expressive: true olan HD seslerde duygu, talimat ve etiketler desteklenir.
curl https://www.voicego.net/api/v1/voices -H "Authorization: Bearer $VOICEGO_API_KEY"{
"voices": [
{
"id": "yeliz",
"name": "Yeliz",
"names": { "en": "Amelia", "es": "Julia" },
"gender": "female",
"language": "tr-TR",
"quality": "hd",
"expressive": true
}
]
}| Kimlik | Ad | Cinsiyet | Kalite |
|---|---|---|---|
| aylin | Aylin | Kadın | HD · ifadeli |
| batu | Batu | Erkek | HD · ifadeli |
| buse | Buse | Kadın | HD · ifadeli |
| cihan | Cihan | Erkek | HD · ifadeli |
| damla-su | Damla Su | Kadın | HD · ifadeli |
| efe | Efe | Erkek | HD · ifadeli |
| egemen | Egemen | Erkek | HD · ifadeli |
| ela | Ela | Kadın | HD · ifadeli |
| eren | Eren | Erkek | HD · ifadeli |
| esra | Esra | Kadın | HD · ifadeli |
| eylul | Eylül | Kadın | HD · ifadeli |
| ezgi | Ezgi | Kadın | HD · ifadeli |
| fatih | Fatih | Erkek | HD · ifadeli |
| gorkem | Görkem | Erkek | HD · ifadeli |
| ismail | İsmail | Erkek | HD · ifadeli |
| kemal | Kemal | Erkek | HD · ifadeli |
| koray | Koray | Erkek | HD · ifadeli |
| kuzey | Kuzey | Erkek | HD · ifadeli |
| kubra | Kübra | Kadın | Standart |
| mehmet | Mehmet | Erkek | Standart |
| mina | Mina | Kadın | Standart |
| nesrin | Nesrin | Kadın | Standart |
| oguz | Oğuz | Erkek | HD · ifadeli |
| ozan | Ozan | Erkek | HD · ifadeli |
| pinar | Pınar | Kadın | HD · ifadeli |
| polat | Polat | Erkek | Standart |
| riza | Rıza | Erkek | HD · ifadeli |
| selen | Selen | Kadın | HD · ifadeli |
| sevgi | Sevgi | Kadın | HD · ifadeli |
| sinan | Sinan | Erkek | HD · ifadeli |
| sude | Sude | Kadın | HD · ifadeli |
| sule | Şule | Kadın | HD · ifadeli |
| yagmur | Yağmur | Kadın | HD · ifadeli |
| yavuz | Yavuz | Erkek | HD · ifadeli |
| yeliz | Yeliz | Kadın | HD · ifadeli |
Deşifre (ses → yazı)
POST/api/v1/transcribe
Ses ya da video kaydını yazıya döker; konuşmacıları ayırır ve her bölümün başlangıç ve bitiş zamanını verir. Başarılı her istek, kaydın süresi kadar (saniye, yukarı yuvarlanır) aylık deşifre sürenizden düşer.
Dosyayı iki şekilde gönderebilirsiniz: 4 MB'a kadar dosyaları multipart/form-data ile "file" alanında doğrudan yükleyin; daha büyük dosyalar için JSON gövdede "url" alanında dosyanın indirilebilir https adresini (ör. depolama servisinizin süreli/imzalı bağlantısı) verin. MP3, WAV, M4A, OGG, FLAC, MP4, MOV, WEBM gibi yaygın ses ve video biçimleri desteklenir.
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
fileisteğe bağlı | file | Ses ya da video dosyası (multipart/form-data), en fazla 4 MB. "file" ya da "url" alanlarından biri zorunludur. |
urlisteğe bağlı | string | Dosyanın indirilebilir https adresi (JSON gövde). Büyük kayıtlar için bunu kullanın. |
languageisteğe bağlı | string | Kaydın dili, ör. tr, en, de (ISO 639-1). Boş bırakılırsa otomatik algılanır; biliniyorsa belirtmek doğruluğu artırır. |
diarizeisteğe bağlı | boolean | Konuşmacıları ayır (true/false). Varsayılan true. |
speakersisteğe bağlı | integer | Kayıttaki konuşmacı sayısı (1–32). Biliniyorsa belirtmek konuşmacı ayrımını iyileştirir. |
audio_eventsisteğe bağlı | boolean | Gülme, alkış, müzik gibi sesleri metne (gülme) şeklinde işaretle. Varsayılan false. |
formatisteğe bağlı | string | Yanıt biçimi: json (varsayılan), txt (zaman ve konuşmacı etiketli düz metin) ya da srt (altyazı dosyası). |
# 4 MB'a kadar dosya: doğrudan yükleme
curl -X POST https://www.voicego.net/api/v1/transcribe \
-H "Authorization: Bearer $VOICEGO_API_KEY" \
-F "file=@gorusme.mp3" \
-F "language=tr" \
-F "speakers=2"
# Büyük dosya: indirilebilir adres, SRT altyazı olarak
curl -X POST https://www.voicego.net/api/v1/transcribe \
-H "Authorization: Bearer $VOICEGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://depo.ornek.com/egitim-videosu.mp4",
"language": "tr",
"format": "srt"
}' \
--output altyazi.srtYanıt
json biçiminde yanıt; txt ve srt biçimlerinde yanıt doğrudan metin dosyasıdır. Yanıt başlıkları:
X-Billed-Seconds— Bu istekte deşifre sürenizden düşen saniyeX-Transcription-Limit-Seconds · X-Transcription-Used-Seconds · X-Transcription-Remaining-Seconds— Aylık deşifre süresi, bu ayki kullanım ve kalan süre (saniye)
{
"text": "Merhaba, Voice Go'ya hoş geldiniz. Teşekkürler, sizi dinliyorum.",
"language": "tur",
"duration_seconds": 6.84,
"billed_seconds": 7,
"speakers": ["speaker_1", "speaker_2"],
"segments": [
{ "speaker": "speaker_1", "start": 0.12, "end": 2.9, "text": "Merhaba, Voice Go'ya hoş geldiniz." },
{ "speaker": "speaker_2", "start": 3.4, "end": 6.7, "text": "Teşekkürler, sizi dinliyorum." }
]
}Kalan süreniz olduğu sürece istek kabul edilir ve kaydın tamamı deşifre edilir; kayıt kalan sürenizden uzunsa aradaki fark da kullanıma yansır. Uzun kayıtlarda yanıt birkaç dakika sürebilir; istemcinizin zaman aşımını en az 5 dakika yapın.
Kullanım ve kota
GET/api/v1/usage
Bu ayki karakter kotanızı, deşifre sürenizi, kullanımınızı ve kotanın yenileneceği tarihi döndürür. Kotalar stüdyoyla ortaktır ve her ayın 1'inde (UTC) yenilenir.
{
"characters": { "limit": 500000, "used": 128450, "remaining": 371550 },
"transcription_seconds": { "limit": 36000, "used": 5420, "remaining": 30580 },
"period": { "resets_at": "2026-11-01T00:00:00.000Z" }
}Metin içi etiketler
HD seslerde metnin içine etiket ekleyerek okumaya duraklama, fısıltı ya da gülme gibi ifadeler katabilirsiniz. Desteklemeyen seslerde etiketler okunmadan çıkarılır.
[pause]Kısa duraklama[whispers]Fısıltı[laughs]Gülme[long pause]Uzun duraklama[sighs]İç çekme[laughs harder]Kahkaha[giggles]Kıkırdama[shouts]Yüksek ses[crying]Ağlamaklı[mischievously]Muzip[clears throat]Boğaz temizleme[gasps]Nefesi kesilme[exhales]Nefes alma[coughs]Öksürme[yawns]Esneme"text": "Kampanyamız başladı! [pause] Detaylar için bire basın."Hata kodları
Hatalar JSON olarak döner: { "error": { "code": "...", "message": "..." } }. Mesajlar İngilizcedir; kodu kullanarak kendi dilinizde gösterebilirsiniz.
{
"error": {
"code": "quota_exceeded",
"message": "Your monthly character quota has been used up."
}
}| Kod | HTTP | Anlamı |
|---|---|---|
| missing_api_key | 401 | Authorization başlığı yok. |
| invalid_api_key | 401 | Anahtar geçersiz ya da iptal edilmiş. |
| invalid_request | 400 | Gövde JSON değil ya da bir parametre hatalı. |
| text_too_long | 400 | Metin 2500 karakteri aşıyor. |
| unknown_voice | 400 | Ses kimliği bulunamadı. |
| no_quota | 402 | Hesaba henüz kota tanımlanmamış. |
| quota_exceeded | 402 | Aylık kota doldu. |
| rate_limited | 429 | Çok fazla istek; Retry-After başlığındaki süre kadar bekleyin. |
| generation_failed | 502 | Ses üretilemedi; isteği tekrar deneyin. |
| missing_audio | 400 | Deşifre için dosya (file) ya da adres (url) gönderilmedi. |
| invalid_url | 400 | Adres https değil ya da dosya oradan indirilemedi. |
| unsupported_audio | 400 | Dosya ses ya da video olarak okunamadı. |
| file_too_large | 413 | Doğrudan yüklenen dosya 4 MB'ı aşıyor; url ile gönderin. |
| audio_too_long | 413 | Kayıt tek istekte deşifre edilemeyecek kadar uzun ya da büyük. |
| no_speech | 422 | Kayıtta konuşma bulunamadı (kullanımdan düşülmez). |
| transcription_failed | 502 | Kayıt deşifre edilemedi; isteği tekrar deneyin. |
| service_unavailable | 503 | Servis geçici olarak kullanılamıyor. |
Limitler
- İstek başına en fazla 2500 karakter.
- Anahtar başına dakikada en fazla 60 seslendirme ve 10 deşifre isteği. Aşılırsa 429 döner.
- Deşifrede doğrudan yüklemeler en fazla 4 MB; daha büyük dosyalar url ile gönderilir.
- Aylık karakter kotası ve deşifre süresi hesabınıza tanımlıdır; stüdyo ve API kullanımı aynı kotadan düşer.
- Kotanızı artırmak için hesap temsilcinize ulaşın.
Güvenlik
- API anahtarınızı yalnızca sunucu tarafında kullanın; tarayıcı ya da mobil uygulama koduna koymayın.
- Anahtar sızdığını düşünüyorsanız bize bildirin; anahtarı hemen iptal edip yenisini veririz.
- Anahtarlar sistemimizde yalnızca şifrelenmiş özet olarak saklanır; biz de dahil kimse anahtarınızı göremez.
- Gönderdiğiniz metinler ve kayıtlar yalnızca ses üretmek ve deşifre etmek için işlenir, yapay zeka modellerini eğitmek için kullanılmaz.
- Deşifre için gönderilen kayıtlar ve deşifre sonuçları Voice Go sunucularında saklanmaz; sonuç yalnızca size yanıt olarak döner.
API erişimi için bize ulaşın
Kullanım hacminizi ve entegrasyon ihtiyacınızı anlatın; anahtarınızı ve kotanızı birlikte tanımlayalım.
Demo Talep Edin