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 hemen hazır gelir; video uzun sürer (ö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)2,0 kr/harf · v3: 3,0 kr/harf/tts?id=IDTTS durumunu / sesini sorgulaücretsiz/imageGörsel üret (senkron, image_url döner)pakete göre/voicesKullanılabilir ses kataloğuücretsiz/voice-cloneSes klonu oluştur (multipart/form-data)ü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 modeli. Değerler: standard-video, reference-video, quick-video, advanced-video veya hd-video. Boş bırakırsan Standart kullanılır. |
| resolution | string | ops. · vars. 720p | Çözünürlük: standart/gelişmiş/HD için 720p veya 1080p; hızlı video için 480p veya 720p. |
| aspect_ratio | string | ops. · vars. 16:9 | Yalnızca 16:9 yatay video desteklenir. |
| duration | number | ops. · vars. 8 | Süre saniye. Standart/Gelişmiş/HD 8 sn; Referans 4/6/8; Hızlı 6 veya 10 sn üretir. |
| image_url | url | opsiyonel | Videonun ilk karesi olacak görselin internet adresi (herkese açık http/https link). |
| end_frame_url | url | opsiyonel | Videonun son karesi olacak görselin internet adresi (http/https). |
| ref_images | url[] (≤4) | opsiyonel | Stil/konu örneği olarak en fazla 4 görsel adresi. reference_image_urls ve reference_images de kabul edilir. |
Kalite Seviyeleri ve Kredi
| Seviye | model = | Kredi | Notlar |
|---|---|---|---|
| Standart varsayılan | standard-video | 16.000 | Sadece 16:9 · 720p · 8 sn |
| Standart | standard-video | 24.000 | Sadece 16:9 · 1080p · 8 sn |
| Referans | reference-video | 20.625 | Sadece 16:9 · 4 sn |
| Referans | reference-video | 27.500 | Sadece 16:9 · 6 sn |
| Referans | reference-video | 34.375 | Sadece 16:9 · 8 sn |
| Hızlı | quick-video | 6.600 | Sadece 16:9 · 480p · 6 sn |
| Hızlı | quick-video | 8.800 | Sadece 16:9 · 720p · 6 sn |
| Hızlı | quick-video | 11.000 | Sadece 16:9 · 480p · 10 sn |
| Hızlı | quick-video | 12.100 | Sadece 16:9 · 720p · 10 sn |
| Gelişmiş | advanced-video | 18.000 | Sadece 16:9 · 720p · 8 sn |
| Gelişmiş | advanced-video | 27.000 | Sadece 16:9 · 1080p · 8 sn |
| HD | hd-video | 11.500 | Sadece 16:9 · 720p · 8 sn |
| HD | hd-video | 17.250 | Sadece 16:9 · 1080p · 8 sn |
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. Geçici bakım nedeniyle üretimde yalnız voice-natural açıktır. Diğer ses paketleri 503 FEATURE_MAINTENANCE döner.
| Alan | Tip | Durum | Açıklama |
|---|---|---|---|
| text | string (1–50000) | 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 | Şu an yalnız voice-natural üretime açık. Diğer ses paketleri bakımdayken 503 FEATURE_MAINTENANCE döner. |
| 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 /image
Senkron — image_url anında döner (~10–30 sn).
| Alan | Tip | Durum | Açıklama |
|---|---|---|---|
| prompt | string (1–4000) | zorunlu | Görselde ne olsun? Serbestçe anlat (Türkçe de yazabilirsin). |
| image_package | string | ops. · vars. image-standard | Kalite paketi — aşağıdaki “Görsel Paketleri” kutusundaki koddan birini yaz (örn. image-standard). |
| aspect_ratio | string | opsiyonel | Ekran oranı: 1:1 (kare), 16:9, 9:16, 4:3, 3:4, 21:9, 3:2, 2:3. |
Görsel Paketleri
image-economyEkonomik1.150 krimage-standardStandart6.900 krimage-fastYüksek kalite1.725 krimage-1k1K6.900 krimage-4k4K13.800 krSes 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 20 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. |
Kod Örnekleri
# Temel auth kontrolü
curl https://seslab.com.tr/api/v1/me \
-H "Authorization: Bearer sk_YOUR_API_KEY"
# Video başlat — Yatay video (16:9, varsayılan)
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 başlat — Yatay 16:9 Gelişmiş (18000 kredi)
curl -X POST https://seslab.com.tr/api/v1/video \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Cinematic product showcase, wide shot",
"aspect_ratio": "16:9",
"model": "advanced-video",
"resolution": "720p"
}'
# Video başlat — Referans Video 4 sn (20625 kredi)
curl -X POST https://seslab.com.tr/api/v1/video \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Cinematic product reveal with fast camera movement",
"aspect_ratio": "16:9",
"model": "reference-video",
"duration": 4,
"ref_images": ["https://example.com/reference.png"]
}'
# Video başlat — Hızlı Video 480p 6 sn (6600 kredi)
curl -X POST https://seslab.com.tr/api/v1/video \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A premium product shot with dramatic blue lighting",
"aspect_ratio": "16:9",
"model": "quick-video",
"resolution": "480p",
"duration": 6
}'
# 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 (senkron — image_url anında döner)
curl -X POST https://seslab.com.tr/api/v1/image \
-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",
"image_package": "image-standard"
}'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.