Uç noktalar
Video üretimi
Veo 3.1, Sora 2 Pro, Kling ve diğer modellerle asenkron iş mantığıyla video üretin, iş oluşturma, durum sorgulama, indirme ve faturalandırma.
Playground’da deneVeo 3.1, Sora 2 Pro, Kling, Seedance, Runway, Wan, Hailuo ve daha fazlasıyla video üretin. Video üretimi onlarca saniyeden birkaç dakikaya kadar sürer; bu yüzden asenkron bir iş olarak çalışır: iş oluşturur, durumunu sorgular, sonra sonucu indirirsiniz.
| Adım | İstek |
|---|---|
| 1. Oluşturma | POST /api/v1/videos |
| 2. Sorgulama | GET /api/v1/videos/{id} |
| 3. İndirme | GET /api/v1/videos/{id}/content?index=0 |
İş oluşturma
POST https://api14.com/api/v1/videos
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
model | string | evet | Bir video model kimliği, örn. google/veo-3.1-fast. |
prompt | string | evet | Videoda ne olacağı. |
duration | number | hayır | Saniye cinsinden uzunluk. Varsayılan, modelin desteklediği ilk süredir. |
resolution | string | hayır | örn. 720p, 1080p. Model tarafından desteklenmelidir. |
aspect_ratio | string | hayır | örn. 16:9, 9:16. |
generate_audio | boolean | hayır | Desteklenen yerlerde ses bandı üretir (varsayılan true). |
image | string | hayır | URL veya data: URI olarak ilk kare (image-to-video). |
Modele göre desteklenen süreler, çözünürlükler ve en boy oranları: GET /videos/models (herkese açık) veya model sayfası.
Bakiye kontrolü
İş gönderilmeden önce ağ geçidi fiyatını, istenen çözünürlük (ve ses seçeneği) için süre × saniye başına fiyat olarak tahmin eder. Bakiyeniz tahminden düşükse istek 402 insufficient_balance ile başarısız olur ve hiçbir şey başlatılmaz.
Yanıt
{
"id": "vid_01JABCDEF",
"status": "queued",
"polling_url": "/api/v1/videos/vid_01JABCDEF"
}
İşi sorgulama
GET https://api14.com/api/v1/videos/{id}
{
"id": "vid_01JABCDEF",
"status": "completed",
"generation_id": "gen-1791100000-abc",
"unsigned_urls": ["/api/v1/videos/vid_01JABCDEF/content?index=0"],
"usage": { "cost": 1.2 }
}
status | Anlamı |
|---|---|
queued | Sağlayıcıyı bekliyor. |
in_progress | Render ediliyor. |
completed | Tamamlandı; unsigned_urls çıktıları listeler. |
failed, cancelled, expired | Çıktı olmadan bitti; error alanına bakın. Ücretlendirilmezsiniz. |
Her 5 ila 10 saniyede bir sorgulayın. İşi yalnızca onu oluşturan hesap okuyabilir; başka kimlikler 404 not_found döndürür.
Sonucu indirme
GET https://api14.com/api/v1/videos/{id}/content?index=0
API anahtarınızla video baytlarını döndürür (genellikle video/mp4). Çıktı URL'leri her zaman ağ geçidini gösterir, asla sağlayıcıyı değil. Dosya hazır değilse veya süresi dolmuşsa content_unavailable alırsınız.
Örnek
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
// Video generation is asynchronous: submit, then poll until completed.
let job = await client.post("/videos", { body: {
"model": "google/veo-3.1-fast",
"prompt": "A drone shot over turquoise ocean waves at sunrise",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
} });
while (!["completed", "failed"].includes(job.status)) {
await new Promise((r) => setTimeout(r, 5000));
job = await client.get(`/videos/${job.id}`);
}
console.log(job.status, job.unsigned_urls);
Faturalandırma
Sağlayıcının gerçek maliyeti kullanılarak, iş completed durumuna ulaştığında bir kez ücretlendirilirsiniz. Başarısız, iptal edilen ve süresi dolan işler ücretsizdir. İşler arka planda da tamamlanır; bu yüzden hiç sorgulamadığınız bir iş yine de hesaplanır ve Kullanım sayfasında görünür.
Hatalar
| Durum | Kod | Ne zaman |
|---|---|---|
| 402 | insufficient_balance | Bakiye, işin tahmini fiyatının altında. |
| 403 | plan_required | Planınız video modellerini içermiyor. |
| 404 | model_not_found / not_found | Bilinmeyen model veya size ait olmayan iş kimliği. |
| 502 | upstream_unavailable | Durum okunamadı; yeniden deneyin. |
Bkz. Hatalar.