İçerik Üretim API (Video / Görsel / Ses / Müzik)
Onysoft AI Gateway ile video, görsel, ses (TTS) ve müzik üretimi. Tek bir asenkron backend üzerinden Veo, Sora 2, Runway, Kling, Wan, Hailuo, Seedream, Flux, GPT Image, Imagen, Nano Banana, Ideogram, Grok Imagine, ElevenLabs ve Suno gibi 40+ sağlayıcı modelini kullanın.
5 endpoint, 1 ortak backend
Üretim akışı için 5 endpoint adı vardır ve hepsi aynı backend'e bağlanır. Hangisini kullanacağınız tamamen anlamsaldır — kodunuzu daha okunabilir kılmak içindir. Üretilen task_id hepsinde aynı şekilde sorgulanır.
Endpoint Adları (Alias'lar)
Aşağıdaki 5 endpoint tamamen eşdeğerdir. Hangisini gönderirseniz gönderin, aynı backend çalışır ve aynı task_id formatı döner. Anlamsal netlik için, modelinizin türüne uygun olanı tercih edin.
| Endpoint | Önerilen Kullanım | Örnek Modeller |
|---|---|---|
POST /v1/video/generate |
Video üretimi | veo3, sora-2, runway, kling, wan, hailuo |
POST /v1/image/generate |
Görsel üretimi | seedream, flux, imagen, nano-banana, ideogram, grok-imagine, gpt-image |
POST /v1/audio/generate |
Ses üretimi (genel) | elevenlabs/text-to-speech, sound-effect, audio-isolation, speech-to-text |
POST /v1/voice/generate |
Konuşma üretimi (TTS) | elevenlabs/text-to-speech-multilingual-v2, turbo-2-5, v3-text-to-dialogue |
POST /v1/music/generate |
Müzik üretimi | suno-v4, ai-music-api/generate, mashup, extend, sounds |
Durum Sorgulama Endpoint'leri
Üretim için hangi alias'ı kullandıysanız, durum sorgulama için aynı alias'ı kullanabilirsiniz (ya da herhangi birini — task_id global'dir).
GET /v1/video/status/{task_id}GET /v1/image/status/{task_id}GET /v1/audio/status/{task_id}GET /v1/voice/status/{task_id}GET /v1/music/status/{task_id}
Asenkron Yapı
Bu endpoint'lerin hepsi asenkron çalışır. İstek gönderdiğinizde bir task_id alırsınız (HTTP 202). Bu ID ile üretim durumunu sorgulayarak içeriğinizin hazır olup olmadığını kontrol edersiniz. Tipik süre: görsel 10-30sn, video 30-180sn, TTS 5-15sn, müzik 30-90sn.
Text/Chat İstisnası
Text/chat modelleri için /v1/chat/completions kullanılır (senkron, streaming destekli — bkz. Chat Completions). Özel durum: Google Gemini görsel modelleri (gemini-*-image) chat completions endpoint'i üzerinden çağrılır (multimodal cevap).
Video Oluşturma
/v1/video/generate
Yeni bir video, görsel veya müzik üretim görevi başlatır.
Parametreler
Video modeli. Örnek: veo3_fast, kling-2.5, runway_gen4_turbo
Video açıklaması (İngilizce önerilir). Detaylı ve açıklayıcı promptlar daha iyi sonuç verir.
En-boy oranı: "16:9", "9:16", "1:1". Varsayılan: "16:9"
Video süresi (saniye). Varsayılan: 5. Modele göre 5, 6, 8 veya 10 saniye desteklenir.
Kaynak görsel. Image-to-video ve image-to-image modelleri için zorunludur. Public HTTP URL veya base64 data URI olabilir.
image_url alternatifi. Base64 encoded görsel. Sistem bunu otomatik temp dosyaya kaydeder ve public URL üretir.
Çözünürlük. Modele göre farklı değerler destekler: "720p", "1080p" (video), "1K", "2K", "4K" (görsel). Backend otomatik doğru değeri seçer.
Kalite seviyesi. "high", "standard", "low". Sadece gpt-image ve seedream modellerinde kullanılır.
İstenmeyen öğeler. Hangi nesne/stil/renk üretilmek istenmediğini belirtin.
Örnek İstekler
Video Üretimi (Text-to-Video)
curl -X POST https://api.onysoft.com/v1/video/generate \
-H "Authorization: Bearer sk-ony-YOUR-KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "veo3_fast",
"prompt": "A golden retriever running through a field of sunflowers at sunset",
"aspect_ratio": "16:9",
"duration": 5
}'
Görsel Üretimi (Text-to-Image)
curl -X POST https://api.onysoft.com/v1/video/generate \
-H "Authorization: Bearer sk-ony-YOUR-KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/imagen4",
"prompt": "A beautiful sunset over mountains, photorealistic, 4K",
"aspect_ratio": "16:9"
}'
Görsel Düzenleme (Image-to-Image)
curl -X POST https://api.onysoft.com/v1/video/generate \
-H "Authorization: Bearer sk-ony-YOUR-KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream/4.5-edit",
"prompt": "Change background to a futuristic city",
"image_url": "https://example.com/input.jpg",
"aspect_ratio": "1:1"
}'
Müzik Üretimi
curl -X POST https://api.onysoft.com/v1/video/generate \
-H "Authorization: Bearer sk-ony-YOUR-KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v4",
"prompt": "Upbeat electronic dance music with catchy female vocals about summer"
}'
Örnek Yanıt
{
"success": true,
"data": {
"task_id": "vid_abc123...",
"status": "pending",
"model": "veo3_fast",
"estimated_cost": {
"amount": 0.60,
"currency": "USD"
}
}
}
Durum Sorgulama
/v1/video/status/{task_id}
Video üretim durumunu sorgular.
Durum Değerleri
| Durum | Açıklama |
|---|---|
pending | İstek alındı, sıraya eklendi |
processing | Video üretimi devam ediyor |
completed | Video hazır, URL mevcut |
failed | Üretim başarısız oldu |
Örnek İstek
curl https://api.onysoft.com/v1/video/status/vid_abc123 \
-H "Authorization: Bearer sk-ony-YOUR-KEY"
Örnek Yanıt (Tamamlandı)
{
"success": true,
"data": {
"task_id": "vid_abc123...",
"status": "completed",
"video_url": "https://...",
"thumbnail_url": "https://...",
"duration": 5,
"model": "veo3_fast"
}
}
Video Listesi
/v1/video/list
Oluşturulmuş videoların listesini döndürür.
Query Parametreleri
Sayfa numarası. Varsayılan: 1
Sayfa başına kayıt sayısı. Varsayılan: 20, Maksimum: 100
Desteklenen Modeller
Sistem, KieAI'nin 200+ modeline erişim sağlar. Model listesi dinamiktir ve admin panelinden senkronize edilir. Güncel model listesi ve fiyatlar için Modeller sayfasını veya GET /v1/models endpoint'ini kullanın.
Video Modelleri (Öne Çıkanlar)
| Model | Sağlayıcı | Tür | Açıklama |
|---|---|---|---|
veo3 | Video | Veo 3.1 - En yüksek kalite (t2v/i2v) | |
veo3_fast | Video | Veo 3.1 Fast - Hızlı üretim | |
sora-2-text-to-video | OpenAI | Video | Sora 2 metinden video |
sora-2-pro-text-to-video | OpenAI | Video | Sora 2 Pro - yüksek kalite |
runway_gen4_turbo | Runway | Video | Gen-4 Turbo |
runway_aleph | Runway | Video | Aleph (video-to-video) |
kling/v2-5-turbo-text-to-video-pro | Kling | Video | Kling 2.5 Turbo Pro |
kling-2.6/text-to-video | Kling | Video | Kling 2.6 |
wan/2-6-text-to-video | Alibaba | Video | Wan 2.6 |
hailuo/2-3-image-to-video-pro | Hailuo | Video | Hailuo 2.3 Pro (i2v) |
grok-imagine/text-to-video | xAI | Video | Grok Imagine Video |
Görsel Modelleri (Öne Çıkanlar)
| Model | Sağlayıcı | Tür | Açıklama |
|---|---|---|---|
grok-imagine/text-to-image | xAI | t2i | Grok Imagine (en uyumlu) |
google/imagen4 | t2i | Imagen 4 Standart | |
google/imagen4-fast | t2i | Imagen 4 Fast | |
google/imagen4-ultra | t2i | Imagen 4 Ultra - En yüksek kalite | |
google/nano-banana-2 | t2i | Nano Banana 2 (1K/2K/4K) | |
ideogram/v3-text-to-image | Ideogram | t2i | Ideogram V3 (metinden görsel) |
ideogram/v3-edit | Ideogram | i2i | Ideogram V3 Edit |
flux-2/pro-text-to-image | Flux | t2i | Flux 2 Pro |
flux-2/flex-text-to-image | Flux | t2i | Flux 2 Flex |
seedream/4.5-text-to-image | ByteDance | t2i | Seedream 4.5 (metinden) |
seedream/4.5-edit | ByteDance | i2i | Seedream 4.5 Edit (görselden) |
gpt-image/1.5-text-to-image | OpenAI | t2i | GPT Image 1.5 |
wan/2-7-image-pro | Alibaba | t2i | Wan 2.7 Image Pro |
Ses Modelleri (TTS / Sound Effect / Speech)
ElevenLabs sağlayıcısı üzerinden ses üretimi. Önerilen endpoint: POST /v1/audio/generate veya POST /v1/voice/generate.
| Model | Tür | Açıklama | Fiyat (USD) |
|---|---|---|---|
elevenlabs/text-to-speech-multilingual-v2 | TTS | Çok dilli TTS (Türkçe dahil 29 dil). Önerilen. | $0.060 |
elevenlabs/text-to-speech-turbo-2-5 | TTS | Düşük gecikme TTS (sadece İngilizce ağırlık). Şu an provider tarafında "internal error" sorunu var. | $0.030 |
elevenlabs/v3-text-to-dialogue | TTS Diyalog | Çok karakterli diyalog üretimi (V3 model) | $0.070 |
elevenlabs/sound-effect-v2 | SFX | Ses efekti üretimi (prompt → ses) | $0.001 |
elevenlabs/audio-isolation | Audio Filter | Vocal/enstrüman izolasyonu | $0.001 |
elevenlabs/speech-to-text | STT | Sesten metin (transcription) | $0.0175 |
TTS Parametreleri
| Parametre | Tip | Default | Açıklama |
|---|---|---|---|
prompt | string | — | Seslendirilecek metin (zorunlu) |
voice | string | "Rachel" | Ses kimliği. Aşağıdaki listeden bir değer (case-sensitive). |
stability | float | 0.5 | Ses tutarlılığı (0.0 - 1.0). Yüksek = monoton, düşük = duygusal. |
similarity_boost | float | 0.75 | Ses benzerliği (0.0 - 1.0). |
style | float | 0.0 | Stil yoğunluğu (0.0 - 1.0). Yüksek = daha karakterli. |
Desteklenen Voice Listesi (ElevenLabs)
KieAI üzerinden ElevenLabs entegrasyonunda sadece aşağıdaki 20 ses kullanılabilir. Değerler case-sensitive'dir — ilk harf büyük yazılmalıdır. Liste dışı bir voice gönderirseniz KieAI "This voice is not within the range of allowed options" hatası döner.
| Kadın | Erkek |
|---|---|
Rachel (default), Alice, Aria, Charlotte, Jessica, Laura, Lily, Matilda, Sarah |
Brian, Bill, Callum, Charlie, Chris, Daniel, Eric, George, Liam, Roger, Will |
Türkçe TTS için
elevenlabs/text-to-speech-multilingual-v2 modelini kullanın — Türkçe dahil 29 dilde doğal seslendirme yapar. turbo-2-5 modeli sadece İngilizce ağırlıklıdır ve şu an provider tarafında geçici sorun yaşıyor.
TTS Örneği (Türkçe, multilingual-v2)
curl -X POST https://api.onysoft.com/v1/voice/generate \
-H "Authorization: Bearer sk-ony-YOUR-KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "elevenlabs/text-to-speech-multilingual-v2",
"prompt": "Merhaba, ben Rachel. Onysoft AI üzerinden konuşuyorum.",
"voice": "Rachel",
"stability": 0.6,
"similarity_boost": 0.8,
"style": 0.1
}'
Sound Effect Parametreleri
| Parametre | Tip | Default | Açıklama |
|---|---|---|---|
prompt | string | — | Ses efekti açıklaması (örn: "rain on metal roof") |
duration_seconds | float | 5.0 | Üretim süresi (saniye). 1.0 - 22.0 arası. |
prompt_influence | float | 0.3 | Prompt'a sadakat (0.0 - 1.0). |
Sound Effect Örneği
curl -X POST https://api.onysoft.com/v1/audio/generate \
-H "Authorization: Bearer sk-ony-YOUR-KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "elevenlabs/sound-effect-v2",
"prompt": "thunder rolling in distant mountains, heavy rain",
"duration_seconds": 8.0,
"prompt_influence": 0.5
}'
Müzik Modelleri
Şarkı/müzik üretimi için Suno ve KieAI ai-music-api modelleri. Önerilen endpoint: POST /v1/music/generate.
| Model | Sağlayıcı | Açıklama |
|---|---|---|
suno-v4 | Suno | Suno V4 — Şarkı üretimi (sözsüz/sözlü, çoklu tür) |
ai-music-api/generate | KieAI | Yeni şarkı oluşturma (Suno arka planda) |
ai-music-api/extend | KieAI | Var olan şarkıyı uzat |
ai-music-api/mashup | KieAI | 2 şarkıyı birleştir |
ai-music-api/sounds | KieAI | Ses efektleri |
ai-music-api/upload-and-cover-audio | KieAI | Var olan sese cover üret |
ai-music-api/separate-vocals | KieAI | Vokal/enstrüman ayırma |
ai-music-api/create-music-video | KieAI | Müzik için görsel video üret |
ai-music-api/add-instrumental | KieAI | Mevcut vocal'a enstrüman ekle |
ai-music-api/convert-to-wav-format | KieAI | MP3 → WAV dönüşüm |
suno-add-vocals | KieAI | Enstrümantal'e vokal ekle |
suno-extend-music | KieAI | Suno track uzatma |
suno-generate-lyrics | KieAI | Şarkı sözü üretimi |
Güncel Fiyatlar
Fiyatlar KieAI API'den dinamik çekilir. Projenize/müşterinize uygulanan markup oranıyla gösterilir. Güncel fiyat için: GET /v1/models çağrısı yapın veya modeller sayfasına bakın.
Model Bazlı Zorunlu Parametreler
Her sağlayıcı farklı parametreler ister. Aşağıdaki tablo, her model ailesi için gerekli olan parametreleri gösterir. Bu parametreler backend tarafında otomatik doldurulur — siz sadece prompt ve opsiyonel olarak aspect_ratio göndermeniz yeterlidir.
| Sağlayıcı | Model Ailesi | Otomatik Dolan Parametreler |
|---|---|---|
| imagen4 / imagen4-fast / imagen4-ultra | prompt (sadece) | |
| xAI | grok-imagine/* | aspect_ratio |
| Ideogram | ideogram/v3-text-to-image | prompt (sadece) |
| Ideogram | ideogram/v3-edit, v3-remix | prompt + image_url (i2i) |
| Ideogram | ideogram/character* | reference_image_urls (i2i) |
| Flux | flux-2/* | aspect_ratio, resolution (1K/2K) |
| ByteDance | seedream/* | quality, n, response_format, size, resolution (2K), aspect_ratio, background |
| OpenAI | gpt-image/* | quality, n, response_format, size, resolution, aspect_ratio, background |
| Alibaba | wan/2-7-image-* | aspect_ratio, resolution (2K/4K) |
| Alibaba | wan video modelleri | duration, resolution (720p/1080p) |
| nano-banana-edit | image_urls (i2i - görsel zorunlu) |
i2i / i2v (image-to-image / image-to-video) Modelleri
Görsel veya video üretiminde kaynak görsel gönderirken aşağıdaki kuralı izleyin:
- Tek görsel:
image_url(string) gönderin - Çoklu görsel (referans):
image_urls(array) gönderin - Backend her sağlayıcının beklediği gerçek parametre adına otomatik çevirir (
imageUrl,input_urls,first_frame_url,image_input, vb.) - Değer olarak Public HTTP URL (
https://...) veya base64 data URI (data:image/jpeg;base64,...) — base64 ise sistem otomatik public URL'ye çevirir - Maksimum toplam istek boyutu: 10 MB
Sağlayıcı Parametre Eşleştirme Matrisi
Aşağıdaki tablo, ileri seviye kullanım için her sağlayıcının beklediği iç parametre adlarını gösterir. Normal kullanımda bu detayı bilmeniz gerekmez — image_url veya image_urls göndermeniz yeterlidir, backend otomatik dönüştürür.
| Model Ailesi | Beklenen Parametre | Tip | Not |
|---|---|---|---|
seedream/*-edit | image_urls | array | Çoklu referans destekli |
flux-2/*-image-to-image | input_urls | array | Resolution 1K/2K destekli |
gpt-image-2-image-to-image | input_urls | array | aspect_ratio + resolution gerekli |
google/nano-banana-edit | image_urls | array | output_format (png/jpg) + image_size |
google/nano-banana-2 / pro | image_input | array | Boş array da gönderilebilir (t2i mode) |
ideogram/v3-edit / remix | image_url | string | + mask_url (opsiyonel) |
ideogram/character* | reference_image_urls | array | Karakter referansı için |
grok-imagine/image-to-image | image_urls | array | nsfw_checker desteği |
grok-imagine/image-to-video | image_urls | array | + duration, resolution, mode |
kling-*/image-to-video | image_url | string | + aspect_ratio, duration |
hailuo/*-image-to-video | image_url | string | + duration (6/10) |
sora-2-image-to-video | image_urls | array | + n_frames, aspect_ratio (landscape/portrait) |
wan/2-7-image-to-video | first_frame_url | string | + last_frame_url (opsiyonel kapanış kare) |
wan/2-6-flash-image-to-video | image_urls | array | + audio (bool, zorunlu) |
runway_* | imageUrl | string (camelCase) | Runway iç formatı |
veo3* reference-to-video | imageUrls | array (camelCase) | + generationType="REFERENCE_2_VIDEO" |
topaz/* | image_url | string | + scale (2/4) — upscaler |
elevenlabs/audio-isolation | audio_url | string | Görsel değil, ses |
elevenlabs/speech-to-text | audio_url | string | Görsel değil, ses |
Sora 2 (OpenAI) Modelleri
OpenAI'ın yeni Sora 2 video üretim modelleri. Yüksek kalite, doğal hareket, ses ile birlikte.
| Model | Tür | Açıklama |
|---|---|---|
sora-2-text-to-video | t2v | Metinden video (standart kalite) |
sora-2-image-to-video | i2v | Başlangıç görselinden video |
sora-2-pro-text-to-video | t2v | Sora 2 Pro — yüksek kalite t2v |
sora-2-pro-image-to-video | i2v | Sora 2 Pro — yüksek kalite i2v |
Sora 2 Parametreleri
| Parametre | Default | Açıklama |
|---|---|---|
aspect_ratio | "landscape" | "landscape" veya "portrait" |
n_frames | "10" | Saniye/frame sayısı (string) |
size | "high" | Sadece Pro varyantı: "standard" veya "high" |
remove_watermark | false | Watermark kaldırma |
character_id_list | — | Karakter referans ID'leri (array) |
image_urls | — | i2v için zorunlu (array) |
Sora 2 Örneği (Pro, landscape)
curl -X POST https://api.onysoft.com/v1/video/generate \
-H "Authorization: Bearer sk-ony-YOUR-KEY" \
-d '{
"model": "sora-2-pro-text-to-video",
"prompt": "A drone shot of a serene mountain lake at sunrise, mist rising from water",
"aspect_ratio": "landscape",
"n_frames": "10",
"size": "high"
}'
Not: API'ye gönderdiğiniz fiyat, projenizin/müşterinizin markup oranı uygulanmış müşteri fiyatıdır. Ortalama markup: %50 (projeler) ve %30 (partner müşterileri).
Python Tam Örnek (Polling)
import time
import requests
API_KEY = "sk-ony-YOUR-KEY"
BASE = "https://api.onysoft.com/v1"
# 1. Video oluştur
resp = requests.post(f"{BASE}/video/generate",
headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
json={"model": "veo3_fast", "prompt": "A cat playing piano", "duration": 5}
)
task = resp.json()["data"]
task_id = task["task_id"]
print(f"Task: {task_id}, Status: {task['status']}")
# 2. Durum sorgula (polling)
while True:
resp = requests.get(f"{BASE}/video/status/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"})
data = resp.json()["data"]
print(f"Status: {data['status']}")
if data["status"] == "completed":
print(f"Video URL: {data['video_url']}")
break
elif data["status"] == "failed":
print(f"Hata: {data.get('error')}")
break
time.sleep(10) # 10 saniye bekle