Video Üretimi
Video üretimi asenkrondur: istek bir iş gönderir, BullMQ sağlayıcıyı polling yapar ve hazır olduğunda render edilmiş MP4 Kütüphane'ye iner.
Endpoint'ler
POST /api/v1/ai/videos iş gönder, iş dokümanı döner
GET /api/v1/ai/videos kullanıcının işlerini listele
GET /api/v1/ai/videos/:id bir işin durumunu sorgulaİstek gövdesi:
typescript
{
prompt: string,
provider?: "fal" | "runway", // varsayılan AI_VIDEO_PROVIDER (fal)
duration?: number, // saniye, 1–60, varsayılan 5
aspect_ratio?: "16:9" | "9:16" | "1:1",
model?: string, // varsayılan sağlayıcı-başı modeli override et
}Sağlayıcılar
| Sağlayıcı | Varsayılan model | Polling URL |
|---|---|---|
fal | fal-ai/veo3/fast | https://queue.fal.run/<model>/requests/<id>/status |
runway | gen3a_turbo | https://api.dev.runwayml.com/v1/tasks/<id> |
Her ikisi de completed veya failed olana kadar 5 saniyede bir polling yapar. İş başına timeout 10 dakika'dır — o pencerede bitmeyen işler başarısız olarak işaretlenir.
Kuyruk
ai-video kuyruğu:
- 1 retry denemesi.
removeOnComplete: 100,removeOnFail: 100.- İş worker'ı
runAiVideoJob()'u çağırır, sağlayıcıyı polling yapar, başarıda sonucu indirir ve dosya store'una saklar.
Maliyet
Gönderim başına 20 kredi. Tamamlanmada değil, gönderim anında ücretlendirilir — başarısız işler bile kredi tüketir.
İş durum değerleri
pending → processing → completed (başarı) veya pending → processing → failed (error_message ile).