KozeKoze
Bloga dön
Eğitim videosu2026年6月28日·管理员

Video Oluşturma API Çağrısı Dokümantasyonu

Kozeai, OpenAI Sora ile uyumlu, eşzamansız görev modu kullanan bir video oluşturma arayüzü sunar: önce görevi göndererek `task_id`'yi alın, ardından görev durumunu kontrol edin ve tamamlandığında video içeriğini indirin.

Video Oluşturma API Çağrısı Dokümantasyonu

kozeai, OpenAI Sora ile uyumlu bir video oluşturma arayüzü sunar ve **eşzamansız görev** modunu kullanır: önce `task_id`'yi almak için görevi gönderin, ardından görev durumunu sorgulayın ve tamamlandığında video içeriğini indirin.

Kimlik Doğrulama

Tüm istekler `Authorization: Bearer ` kullanılarak kimlik doğrulaması yapılır.

Konsolda bir API belirteci oluşturduktan sonra bunu kullanın.

dışa aktar KOZEAI_API_KEY="sk-your-token"
dışa aktar KOZEAI_BASE_URL="https://api.kozeai.com"

Arayüz Genel Bakış

mp4
Yöntem Yol Amaç
POST /v1/videos/generations Video Görevi Oluştur
GET /v1/videos/{task_id} Görev Durumunu Sorgula
GET /v1/videos/{task_id}/content Çevrimiçi Oynat veya İndir

Gönderim arayüzü tarafından döndürülen task_12345 biçimindeki Görev Kimliği yalnızca geçerli kullanıcıya aittir.


1. Video oluşturma görevi

curl "$KOZEAI_BASE_URL/v1/videos/generations" \

-H "Authorization: Bearer $KOZEAI_API_KEY" \

-H "Content-Type: application/json" \

-d '{

"model": "video-ds-2.0",

"Prompt": "Sıcak güneş ışığında koşan bir kedinin sinematik 9:16'lık videosu",

"Saniye": 15",

"Aspect_ratio": "9:16"

}

İstek Parametreleri

Parametreler Tür Gerekli Açıklama
model string Evet Video model adı, örneğin video-ds-2.0
prompt string Evet Video içeriği açıklaması
saniye tamsayı Hayır Üst akış modelinin destek aralığına göre video süresi (saniye)
en boy oranı dize Hayır En boy oranı, yaygın olarak kullanılan 9:16, 16:9, 1:1
görüntüler dizi Hayır Referans görüntülerin URL'si veya base64
videolar dizi Hayır Referans Video URL'si
sesler dizi Hayır Referans Ses URL'si

Farklı yukarı akış modelleri farklı parametreleri destekleyebilir. Listelenmeyen parametreler, yukarı akış protokolüne göre iletilecektir.

Resim tabanlı video (referans resimlerle)

Referans resimlere dayalı bir video oluşturmak için images dizisini iletin:

curl "$KOZEAI_BASE_URL/v1/videos/generations" \

-H "Authorization: Bearer $KOZEAI_API_KEY" \

-H "Content-Type: application/json \

-d '{

"model": "video-ds-2.0",

"prompt": "Referans görsel stilini kullanın ve akıcı bir ürün videosu oluşturun",

"seconds": 15,

"aspect_ratio": "9:16",

"resimler": ["https://example.com/input.png"],

"videolar": ["https://example.com/input.mp4"],

"sesler": ["https://example.com/input.mp3"]

}'

  • resimler resim URL'lerini veya base64'ü destekler.
  • videolar / sesler isteğe bağlı referans materyalleridir.
  • Sohbet otomatik tamamlama arayüzü üzerinden arama yaparken (makalenin sonuna bakın), resmi mesaja eklemeniz yeterlidir; sistem otomatik olarak resimler parametresine dönüştürecektir.

Yanıt (gönderim başarılı)

{

"id": "task_12345",

"task_id": "task_12345",

"object": "video",

"model": 

durum

< ... (başarısız).


2. Yoklama Görevi Durumu

Gönderim tarafından döndürülen id'yi yoklama için kullanın, önerilen aralık 3-5 saniyedir.

curl "$KOZEAI_BASE_URL/v1/videos/task_12345" \

-H "Yetkilendirme: Bearer $KOZEAI_API_KEY"

Yanıt (oluşturuluyor)

{
"id": "task_12345",

"object": "video",

"model": "video-ds-2.0",

"status": "in_progress",

"progress": Yanıt (Tamamlandı)

Yanıt (Tamamlandı)

Yanıt (Tamamlandı)

Yanıt (Tamamlandı)

Yanıt (Tamamlandı)

Yanıt (Tamamlandı)

Yanıt (Tamamlandı)

Yanıt (Tamamlandı)

Yanıt (Tamamlandı)

Yanıt (Tanım ... "model": "video-ds-2.0", "status": "completed", "progress": 100, "created_at": 1751000000,

Tamamlandıktan sonra, `metadata.content_url` doğrudan erişilebilir video adresini sağlar; ayrıca aşağıdaki içerik arayüzü kullanılarak da indirilebilir.

Yanıt (başarısız)

{

"id": "task_12345",

"object": "video",

"status": "failed",

"error": { "mesaj": "Başarısızlık nedeni" }
}

3. Video içeriğini indir

curl -L "$KOZEAI_BASE_URL/v1/videos/task_12345/content" \

-H "Authorization: Bearer $KOZEAI_API_KEY" \

-o result.mp4

  • Görev tamamlanmadıysa (hala kuyrukta/oluşturuluyor) 409 Çakışma hatası döndürür.
  • istek başlığını kullanarak bölümlü indirme/sürükle bırak oynatmayı destekler.
  • Döndürür .

Tam örnek

JavaScript (fetch + polling)

const BASE = process.env.KOZEAI_BASE_URL;

const KEY = process.env.KOZEAI_API_KEY;

const headers = { Authorization: `Bearer ${KEY}` };

// 1. Görevi Gönder
const submit = await fetch(`${BASE}/v1/videos/generations`, {

method: 'POST',

headers: { ...headers, 'Content-Type': 'application/json' },

body: JSON.stringify({
model: 'video-ds-2.0',

prompt: 'Cam üzerinde bir parfüm şişesinin akıcı bir reklam videosu',

seconds: 15,

aspect_ratio: '9:16',

}),
});

const task = await submit.json();

const taskId = task.id;

// 2. Tamamlanana kadar anket yap
async function poll() {

while (true) {

const res = await fetch(`${BASE}/v1/videos/${taskId}`, { headers });

const data = await res.json();

if (data.status === 'completed') return data;

if (data.status === 'failed') throw new Error(data.error?.message || 'failed');
await new Promise((r) => setTimeout(r, 5000));

}
}
const done = await poll();

// 3. Video adresini alın
console.log('Video adresi:', done.metadata?.content_url

|| `${BASE}/v1/videos/${taskId}/content`);

Python (requests + polling)

import os, time, requests

BASE = os.environ["KOZEAI_BASE_URL"]
KEY = os.environ["KOZEAI_API_KEY"]
headers = {"Authorization": f"Bearer {KEY}"}

# 1. Görevi Gönder
resp = requests.post(
f"{BASE}/v1/videos/generations",

headers=headers,

json={

"model": "video-ds-2.0",

"prompt": "Sıcak güneş ışığında koşan bir kedinin sinematik 9:16 videosu",

"saniye": 15,

"en boy oranı": "9:16",

},
)
task_id = resp.json()["id"]

# 2. Yoklama
while True:

data = requests.get(f"{BASE}/v1/videos/{task_id}", headers=headers).json()

Eğer data["status"] == "completed" ise:

break

Eğer data["status"] == "failed" ise:

raise RuntimeError(data.get("hata", {}).get("mesaj", "başarısız"))

time.sleep("5")

# 3. İndir
mp4 = requests.get(f"{BASE}/v1/videos/{task_id}/content", headers=headers)
ile open("result.mp4", "wb") as f: f.write(mp4.content)


Sohbet tamamlama arayüzünde çağrılır (uyumlu kullanım)

Video modeli ayrıca /v1/chat/completions üzerinden de çağrılabilir, bu da sohbet istemcilerinin yeniden kullanımını kolaylaştırır.

Bir istekte bulunurken, `model` içinde video modeli adını geçirmeniz yeterlidir ve sistem bunu otomatik olarak bir video görevine dönüştürecektir:
curl $KOZEAI_BASE_URL/v1/chat/completions

\ -H Authorization: Bearer $KOZEAI_API_KEY \ -H Content-Type: application/json \ -d { Model: } `

"video-ds-2.0" döndürür

, mesajlar: [{rol: kullanıcı, içerik: güneş ışığında koşan bir kedi, sinematik, 9:16}] }

Sohbetin tamamlandığını döndürür

Biçim `mesaj.içerik` şeklindedir ve görev durumunu ve `/v1/videos/{task_id}` bağlantısını içerir. Bu bağlantı, görev tamamlandığında videoyu oynatacaktır. Sohbet lobisi sayfası Bu yöntemi kullanır.

Her iki giriş noktası (/v1/videos/generations ve /v1/chat/completions) aynı görev sistemini paylaşır ve birbirleriyle çakışmaz. Doğrudan entegrasyon için standart `/v1/videos/*` arayüzünün kullanılması önerilir.


Hata Kodu

Durum Kodu Anlamı
401 Token eksik, süresi dolmuş veya geçersiz
403 Yetersiz bakiye veya mevcut grubun bu model için izni yok
404 Görev Kimliği mevcut değil veya mevcut kullanıcıya ait değil; veya model yapılandırılmamış.
409 Video içeriği hazır değil (görev hala kuyruğa alınıyor/oluşturuluyor)
429 Oran sınırı tetikleniyor
502 Üst tedarikçi başarısız oldu veya geçersiz sonuç döndürdü

Video Oluşturma API Çağrısı Dokümantasyonu | Koze AI