API Dokümantasyonu
Video üretimi, ses sentezi, görsel üretimi ve ses klonlama. Tek API anahtarı, tek base URL: https://seslab.com.tr/api/v1
Başlarken (3 adım)
Hesabını aç, panelde “Anahtarlarım” sayfasından yeni bir anahtar üret. Anahtarın sk_ ile başlar (örn. sk_a1b2c3…) ve yalnızca bir kez gösterilir — kopyalayıp güvenli sakla.
Her isteğe Authorization: Bearer sk_… başlığını ekle ve veriyi JSON gönder. En kolay ilk istek: GET /me — hesabını ve bakiyeni döndürür.
Görsel ve video uzun sürebilir: önce id alır, sonra o id ile durumu sorarsın. Başarılı üretimde kredi düşer, başarısız olursa otomatik iade edilir.
Kimlik Doğrulama
Her isteğe Authorization: Bearer sk_… başlığı ekle. Anahtarı panelden üretirsin; geçersiz/eksik anahtar 401, çok sayıda başarısız deneme 429 döner. Geçerli anahtarda dakikalık istek limiti yoktur.
curl https://seslab.com.tr/api/v1/me \ -H "Authorization: Bearer sk_YOUR_API_KEY"
Masaüstü Uygulama Tokenı
Kural: sk_ yalnızca değiş tokuş için kullanılır; masaüstü uygulama içinde kalıcı saklanmaz. Masaüstü uygulama sk_ API anahtarını yalnızca ilk değiş tokuş isteğinde kullanır. POST /api/desktop/auth/token yanıtındaki dsk_ tokenı macOS Keychain veya Windows Credential Manager içinde güvenli sakla. SesLab veritabanında bu tokenın sadece hash değeri tutulur.
curl -X POST https://seslab.com.tr/api/desktop/auth/token \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"device_label":"Ufuk Mac M4","app_version":"1.0.0"}'
# Yanıt: { "desktop_token": "dsk_...", "expires_in": 2592000 }Endpoint’ler
/videoVideo üretimini başlat (asenkron, 202 + id)seviyeye göre/video?id=IDVideo durumunu / sonucunu sorgulaücretsiz/ttsMetni sese çevir (≤45 sn hazırsa senkron, değilse 202 + id)1,0 kr/harf · v3: 1,5 kr/harf/tts?id=IDTTS durumunu / sesini sorgulaücretsiz/api/image-generateGörsel üretimini başlat (asenkron, 202 + id)modele göre/api/image-generate/status?id=IDUzun süren görsel görevini sorgulaücretsiz/voicesKullanılabilir ses kataloğuücretsiz/voice-cloneSes klonu oluştur (multipart/form-data)ücretsiz/voice-cloneSes klonlarını ve voice_id’lerini listeleücretsiz/voice-clone?voice_id=IDSes klonunu silücretsiz/meHesap bilgisi ve bakiyeücretsiz/creditsKredi bakiyesiücretsiz/statusSistem durumu (auth gerekmez)ücretsiz/desktop/auth/tokenMasaüstü uygulama için sk_ anahtarını kısa süreli dsk_ tokena çevirücretsizVideo Üretimi
POST /video
202 döner (asenkron). Sonucu GET /video?id= ile poll et. Başarısız işlemlerde kredi otomatik iade edilir.
| Alan | Tip | Durum | Açıklama |
|---|---|---|---|
| prompt | string (10–1000) | zorunlu | Videoda ne görmek istediğini yaz. İngilizce açıklama genelde daha iyi sonuç verir. |
| model | string | ops. · vars. standard-video | Video paketi: standard-video (Hızlı) veya hd-video (Premium). Boş bırakırsan standard-video kullanılır. Eski paket adları kaldırıldı, gönderilirse ne kullanman gerektiğini söyleyen açık bir hata döner. |
| resolution | string | ops. · vars. 720p | Çözünürlük: 720p (varsayılan) veya 1080p. 1080p aynı pakette daha yüksek kredi tüketir. |
| aspect_ratio | string | ops. · vars. 16:9 | Yalnızca 16:9 yatay video desteklenir. |
| duration | number | ops. · vars. 8 | Süre sabittir: tüm video paketleri 8 sn üretir, gönderdiğin değer yok sayılır. |
Kalite Seviyeleri ve Kredi
| Seviye | model = | Kredi | Notlar |
|---|---|---|---|
| Hızlı varsayılan | standard-video | 19.500 | 16:9 · 720p · 8 sn |
| Hızlı (1080p) | standard-video | 29.250 | 16:9 · 1080p · 8 sn · resolution=1080p gönder |
| Premium | hd-video | 25.500 | 16:9 · 720p · 8 sn |
| Premium (1080p) | hd-video | 38.250 | 16:9 · 1080p · 8 sn · resolution=1080p gönder |
Not: Video endpointinde şu anda yalnızca 16:9 yatay üretim açıktır. aspect_ratio boş bırakılırsa 16:9 kullanılır.
Ses Sentezi (TTS)
POST /tts
≤45 saniyede hazırsa senkron audio_url döner. Uzun metinlerde 202 + id döner; GET /tts?id= ile poll et. ElevenLabs için voice-natural paketlerinden birini, ekonomik seçenek için voice-economy gönder.
| Alan | Tip | Durum | Açıklama |
|---|---|---|---|
| text | string (1–31000) | zorunlu | Sese dönüştürülecek metin. |
| voice_id | string | zorunlu | Hangi sesle okunacağı. Ses listesini GET /voices ile alıp oradaki id’yi buraya yaz. |
| voice_package | string | ops. · vars. voice-natural | ElevenLabs: voice-natural, voice-natural-fast, voice-natural-live veya voice-natural-latest. Ekonomik seçenek: voice-economy. |
| language | string | opsiyonel | Metnin dili, örn. tr (Türkçe). Yalnızca voice-natural ve voice-fast için geçerli. |
| voice_settings | object | opsiyonel | İnce ayar (yalnızca voice-natural): stability 0–100, similarity_boost 0–100, speed 0.7–1.2, style 0–100, use_speaker_boost: true/false. |
Görsel Üretimi
POST /api/image-generate
SesLab uyumlu endpoint. Şu anda yalnız kanıtlı aktif görsel modeli açıktır. 202 + id döner; sonucu status endpointiyle poll et. Başarısız olursa otomatik iade edilir.
| Alan | Tip | Durum | Açıklama |
|---|---|---|---|
| prompt | string (1–20000) | zorunlu | Görselde ne olsun? Serbestçe anlat (Türkçe de yazabilirsin). |
| model | string | zorunlu | Model ID: şu anda yalnız nano-banana-2-lite aktiftir. image-standard eski alias olarak kabul edilir. |
| aspect_ratio | string | opsiyonel | Aktif model için oran seçimi. |
| resolution | string | kapalı | Aktif model 1K native çalışır; ek çözünürlük seçimi kapalı. |
| mode | string | kapalı | Aktif olmayan görsel servisleri kapalıdır. |
| quality | string | kapalı | Aktif olmayan görsel servisleri kapalıdır. |
| image_input | string[] | opsiyonel | Referans görseller: base64 data URI veya http(s) URL. Alias: reference_images. Aktif modelde en fazla 4. |
| negative_prompt | string | opsiyonel | Kaçınılacak unsurlar. |
Görsel Modelleri
nano-banana-2-liteNano Banana 2 Lite2.000 krkanıtlı aktif model · 1K · 4 referansGET /api/image-generate/status?id=ID
Uzun süren görsel işleri için status, image_url, image_urls ve error alanlarını döndürür.
Ses Klonlama
POST /voice-clone — multipart/form-data
Ücretsiz. voice_id döner — TTS çağrılarında kullanılır.
| Alan | Tip | Durum | Açıklama |
|---|---|---|---|
| file | dosya | zorunlu | Klonlanacak ses örneği — MP3/M4A/WAV/OGG/FLAC, en fazla 10 MB (10 saniye–5 dakika temiz kayıt). |
| voice_name | string (≤100) | zorunlu | Klona vereceğin isim (sende görünecek). |
| language_tag | string | ops. · vars. Turkish | Sesin dili, örn. Turkish. |
| gender_tag | string | ops. · vars. female | Sesin cinsiyeti: female veya male. |
GET /voice-clone
Hesabındaki tüm ses klonlarını, en yeniden eskiye, voice_id alanlarıyla listeler. Parametre almaz.
{
"success": true,
"voices": [
{
"id": "b7c1e0a2-4f10-4a91-9c2e-1d5b7a0e33af",
"voice_id": "2630054",
"cloned_voice_id": "2630054",
"name": "Benim Sesim",
"created_at": "2026-08-12T09:14:22.000Z"
}
]
}Klonla seslendirme: buradan aldığın voice_id (ya da id) değerini POST /tts çağrısında voice_id olarak gönder — paket/model alanı gerekmez, klon seslerinde yok sayılır. Metin sınırı 5.000 karakterdir.
DELETE /voice-clone?voice_id=ID
Klonu siler. voice_id query parametresi zorunludur; klon bulunamazsa 404 döner.
Kod Örnekleri
# Temel auth kontrolü
curl https://seslab.com.tr/api/v1/me \
-H "Authorization: Bearer sk_YOUR_API_KEY"
# Video başlat — paketler: standard-video (Hızlı) / hd-video (Premium), 16:9, 720p|1080p, 8 sn
curl -X POST https://seslab.com.tr/api/v1/video \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Sinematik ürün tanıtımı, yumuşak kamera hareketi",
"aspect_ratio": "16:9",
"model": "standard-video",
"resolution": "720p"
}'
# Video durumunu sorgula (ücretsiz, tekrarlayarak poll et)
curl "https://seslab.com.tr/api/v1/video?id=VIDEO_ID" \
-H "Authorization: Bearer sk_YOUR_API_KEY"
# Metni sese çevir
curl -X POST https://seslab.com.tr/api/v1/tts \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Merhaba, bu Seslab ile üretilmiş bir sestir.",
"voice_id": "VOICE_ID",
"voice_package": "voice-natural",
"language": "tr"
}'
# Görsel üret — 202 + id döner, sonucu status endpointinden poll et
curl -X POST https://seslab.com.tr/api/image-generate \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Koyu arka planda mavi ışıklı premium ürün fotoğrafı",
"aspect_ratio": "1:1",
"model": "nano-banana-2-lite"
}'Hata Kodları
401UnauthorizedAuthorization başlığı eksik veya anahtar hatalı.402Insufficient CreditsYetersiz kredi. Panelden yükle.422Validation Errorİstek gövdesi hatalı veya desteklenmeyen değer.429Too Many AttemptsDakikada 10+ başarısız kimlik denemesi.404Not FoundSorgulanan üretim (id) bulunamadı.503Service Not ReadyÜretim servisi şu an aktif değil.500Server ErrorBeklenmeyen hata — tekrar dene, başarısız işlemde kredi iade edilir.Başlamaya hazır mısın?
Hesap aç, API anahtarını üret ve ilk isteğini dakikalar içinde gönder.