İçerik Üretim API (Video / Görsel / Müzik)

Onysoft AI Gateway ile video, görsel ve müzik üretimi. Tek bir endpoint üzerinden Veo, Runway, Kling, Wan, Seedream, Flux, GPT Image, Imagen, Ideogram, Grok Imagine, Suno ve 40+ sağlayıcı modelini kullanın.

info

Asenkron Yapı

Video, görsel ve müzik üretimi asenkron çalışır. İstek gönderdiğinizde bir task_id alırsınız. Bu ID ile üretim durumunu sorgulayarak içeriğinizin hazır olup olmadığını kontrol edersiniz.

bolt

Hangi Endpoint Hangi Model?

Text/chat modelleri için /v1/chat/completions kullanılır (senkron, streaming destekli). Video, görsel ve müzik modelleri için /v1/video/generate kullanılır (asenkron). İstisna: Google Gemini görsel üretim modelleri (gemini-*-image) chat completions endpoint'i üzerinden çağrılır.

Video Oluşturma

POST /v1/video/generate

Yeni bir video, görsel veya müzik üretim görevi başlatır.

Parametreler

model string zorunlu

Video modeli. Örnek: veo3_fast, kling-2.5, runway_gen4_turbo

prompt string zorunlu

Video açıklaması (İngilizce önerilir). Detaylı ve açıklayıcı promptlar daha iyi sonuç verir.

aspect_ratio string opsiyonel

En-boy oranı: "16:9", "9:16", "1:1". Varsayılan: "16:9"

duration integer opsiyonel

Video süresi (saniye). Varsayılan: 5. Modele göre 5, 6, 8 veya 10 saniye desteklenir.

image_url string i2v/i2i için zorunlu

Kaynak görsel. Image-to-video ve image-to-image modelleri için zorunludur. Public HTTP URL veya base64 data URI olabilir.

image string opsiyonel

image_url alternatifi. Base64 encoded görsel. Sistem bunu otomatik temp dosyaya kaydeder ve public URL üretir.

resolution string opsiyonel

Çö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.

quality string opsiyonel

Kalite seviyesi. "high", "standard", "low". Sadece gpt-image ve seedream modellerinde kullanılır.

negative_prompt string opsiyonel

İstenmeyen öğeler. Hangi nesne/stil/renk üretilmek istenmediğini belirtin.

Örnek İstekler

Video Üretimi (Text-to-Video)

cURL
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
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
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
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

JSON Response
{
  "success": true,
  "data": {
    "task_id": "vid_abc123...",
    "status": "pending",
    "model": "veo3_fast",
    "estimated_cost": {
      "amount": 0.60,
      "currency": "USD"
    }
  }
}

Durum Sorgulama

GET /v1/video/status/{task_id}

Video üretim durumunu sorgular.

Durum Değerleri

DurumAçıklama
pendingİstek alındı, sıraya eklendi
processingVideo üretimi devam ediyor
completedVideo hazır, URL mevcut
failedÜretim başarısız oldu

Örnek İstek

cURL
curl https://api.onysoft.com/v1/video/status/vid_abc123 \
  -H "Authorization: Bearer sk-ony-YOUR-KEY"

Örnek Yanıt (Tamamlandı)

JSON Response
{
  "success": true,
  "data": {
    "task_id": "vid_abc123...",
    "status": "completed",
    "video_url": "https://...",
    "thumbnail_url": "https://...",
    "duration": 5,
    "model": "veo3_fast"
  }
}

Video Listesi

GET /v1/video/list

Oluşturulmuş videoların listesini döndürür.

Query Parametreleri

page integer opsiyonel

Sayfa numarası. Varsayılan: 1

per_page integer opsiyonel

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)

ModelSağlayıcıTürAçıklama
veo3GoogleVideoVeo 3.1 - En yüksek kalite (t2v/i2v)
veo3_fastGoogleVideoVeo 3.1 Fast - Hızlı üretim
sora-2-text-to-videoOpenAIVideoSora 2 metinden video
sora-2-pro-text-to-videoOpenAIVideoSora 2 Pro - yüksek kalite
runway_gen4_turboRunwayVideoGen-4 Turbo
runway_alephRunwayVideoAleph (video-to-video)
kling/v2-5-turbo-text-to-video-proKlingVideoKling 2.5 Turbo Pro
kling-2.6/text-to-videoKlingVideoKling 2.6
wan/2-6-text-to-videoAlibabaVideoWan 2.6
hailuo/2-3-image-to-video-proHailuoVideoHailuo 2.3 Pro (i2v)
grok-imagine/text-to-videoxAIVideoGrok Imagine Video

Görsel Modelleri (Öne Çıkanlar)

ModelSağlayıcıTürAçıklama
grok-imagine/text-to-imagexAIt2iGrok Imagine (en uyumlu)
google/imagen4Googlet2iImagen 4 Standart
google/imagen4-fastGooglet2iImagen 4 Fast
google/imagen4-ultraGooglet2iImagen 4 Ultra - En yüksek kalite
google/nano-banana-2Googlet2iNano Banana 2 (1K/2K/4K)
ideogram/v3-text-to-imageIdeogramt2iIdeogram V3 (metinden görsel)
ideogram/v3-editIdeogrami2iIdeogram V3 Edit
flux-2/pro-text-to-imageFluxt2iFlux 2 Pro
flux-2/flex-text-to-imageFluxt2iFlux 2 Flex
seedream/4.5-text-to-imageByteDancet2iSeedream 4.5 (metinden)
seedream/4.5-editByteDancei2iSeedream 4.5 Edit (görselden)
gpt-image/1.5-text-to-imageOpenAIt2iGPT Image 1.5
wan/2-7-image-proAlibabat2iWan 2.7 Image Pro

Müzik Modelleri

ModelSağlayıcıAçıklama
suno-v4SunoSuno V4 - Şarkı üretimi (sözsüz/sözlü)
elevenlabs/text-to-speechElevenLabsMetinden sese (TTS)
elevenlabs/sound-effect-v2ElevenLabsSes efekti üretimi
elevenlabs/audio-isolationElevenLabsSes izolasyonu
attach_money

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 AilesiOtomatik Dolan Parametreler
Googleimagen4 / imagen4-fast / imagen4-ultraprompt (sadece)
xAIgrok-imagine/*aspect_ratio
Ideogramideogram/v3-text-to-imageprompt (sadece)
Ideogramideogram/v3-edit, v3-remixprompt + image_url (i2i)
Ideogramideogram/character*reference_image_urls (i2i)
Fluxflux-2/*aspect_ratio, resolution (1K/2K)
ByteDanceseedream/*quality, n, response_format, size, resolution (2K), aspect_ratio, background
OpenAIgpt-image/*quality, n, response_format, size, resolution, aspect_ratio, background
Alibabawan/2-7-image-*aspect_ratio, resolution (2K/4K)
Alibabawan video modelleriduration, resolution (720p/1080p)
Googlenano-banana-editimage_urls (i2i - görsel zorunlu)
lightbulb

i2i (image-to-image) Modelleri

Görselden görsel dönüştüren modeller için image_url parametresi zorunludur. Değer olarak:

  • Public HTTP URL (https://...)
  • Veya base64 data URI (data:image/jpeg;base64,...) — sistem bunu otomatik public URL'ye dönüştürür
  • Maksimum toplam istek boyutu: 10 MB

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)

Python
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
Size uygun modeli bulmanıza yardımcı olayım mı?