REST API

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)

1
API anahtarını al

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.

2
İlk isteğini gönder

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.

3
Sonucu al

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

POST
/videoVideo üretimini başlat (asenkron, 202 + id)seviyeye göre
GET
/video?id=IDVideo durumunu / sonucunu sorgulaücretsiz
POST
/ttsMetni sese çevir (≤45 sn hazırsa senkron, değilse 202 + id)2,0 kr/harf · v3: 3,0 kr/harf
GET
/tts?id=IDTTS durumunu / sesini sorgulaücretsiz
POST
/imageGörsel üret (senkron, image_url döner)pakete göre
GET
/voicesKullanılabilir ses kataloğuücretsiz
POST
/voice-cloneSes klonu oluştur (multipart/form-data)ücretsiz
GET
/meHesap bilgisi ve bakiyeücretsiz
GET
/creditsKredi bakiyesiücretsiz
GET
/statusSistem durumu (auth gerekmez)ücretsiz
POST
/desktop/auth/tokenMasaüstü uygulama için sk_ anahtarını kısa süreli dsk_ tokena çevirücretsiz

Video Üretimi

POST /video

202 döner (asenkron). Sonucu GET /video?id= ile poll et. Başarısız işlemlerde kredi otomatik iade edilir.

AlanTipDurumAçıklama
promptstring (10–1000)
zorunlu
Videoda ne görmek istediğini yaz. İngilizce açıklama genelde daha iyi sonuç verir.
modelstring
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.
resolutionstring
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_ratiostring
ops. · vars. 16:9
Yalnızca 16:9 yatay video desteklenir.
durationnumber
ops. · vars. 8
Süre saniye. Standart/Gelişmiş/HD 8 sn; Referans 4/6/8; Hızlı 6 veya 10 sn üretir.
image_urlurl
opsiyonel
Videonun ilk karesi olacak görselin internet adresi (herkese açık http/https link).
end_frame_urlurl
opsiyonel
Videonun son karesi olacak görselin internet adresi (http/https).
ref_imagesurl[] (≤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

Seviyemodel =KrediNotlar
Standart
varsayılan
standard-video16.000Sadece 16:9 · 720p · 8 sn
Standartstandard-video24.000Sadece 16:9 · 1080p · 8 sn
Referansreference-video20.625Sadece 16:9 · 4 sn
Referansreference-video27.500Sadece 16:9 · 6 sn
Referansreference-video34.375Sadece 16:9 · 8 sn
Hızlıquick-video6.600Sadece 16:9 · 480p · 6 sn
Hızlıquick-video8.800Sadece 16:9 · 720p · 6 sn
Hızlıquick-video11.000Sadece 16:9 · 480p · 10 sn
Hızlıquick-video12.100Sadece 16:9 · 720p · 10 sn
Gelişmişadvanced-video18.000Sadece 16:9 · 720p · 8 sn
Gelişmişadvanced-video27.000Sadece 16:9 · 1080p · 8 sn
HDhd-video11.500Sadece 16:9 · 720p · 8 sn
HDhd-video17.250Sadece 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.

AlanTipDurumAçıklama
textstring (1–50000)
zorunlu
Sese dönüştürülecek metin.
voice_idstring
zorunlu
Hangi sesle okunacağı. Ses listesini GET /voices ile alıp oradaki id'yi buraya yaz.
voice_packagestring
ops. · vars. voice-natural
Şu an yalnız voice-natural üretime açık. Diğer ses paketleri bakımdayken 503 FEATURE_MAINTENANCE döner.
languagestring
opsiyonel
Metnin dili, örn. tr (Türkçe). Yalnızca voice-natural ve voice-fast için geçerli.
voice_settingsobject
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).

AlanTipDurumAçıklama
promptstring (1–4000)
zorunlu
Görselde ne olsun? Serbestçe anlat (Türkçe de yazabilirsin).
image_packagestring
ops. · vars. image-standard
Kalite paketi — aşağıdaki “Görsel Paketleri” kutusundaki koddan birini yaz (örn. image-standard).
aspect_ratiostring
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 kr
image-standardStandart6.900 kr
varsayılan
image-fastYüksek kalite1.725 kr
image-1k1K6.900 kr
image-4k4K13.800 kr

Ses Klonlama

POST /voice-clone — multipart/form-data

Ücretsiz. voice_id döner — TTS çağrılarında kullanılır.

AlanTipDurumAçıklama
filedosya
zorunlu
Klonlanacak ses örneği — MP3/M4A/WAV/OGG/FLAC, en fazla 20 MB (10 saniye–5 dakika temiz kayıt).
voice_namestring (≤100)
zorunlu
Klona vereceğin isim (sende görünecek).
language_tagstring
ops. · vars. Turkish
Sesin dili, örn. Turkish.
gender_tagstring
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.

WhatsApp Destek