API
Wan 3.0 Prime API
VideoWan 3.0 Prime API, metin, ilk/son kareler veya çok modlu referanslarla 480p / 720p / 1080p çözünürlükte 2–30 saniyelik videolar üretir. Referans modunda en fazla 10 görsel, 5 video ve 5 ses dosyası kullanılabilir. Her görsel en fazla 30 MB olmalıdır.
Gövde
application/jsonmodelstringzorunluwan-3-0-primeinput.promptstringzorunluÖzneyi, aksiyonu, sahneyi, ışığı, kamera hareketini ve zamanlamayı açıklayın. Baştaki ve sondaki boşluklar kaldırılır.
input.frames_imagesstring[]isteğe bağlıBir veya iki herkese açık HTTPS görsel URL’sinin listesi: ilk kare ve isteğe bağlı son kare. Bu mod reference_images, reference_videos veya reference_audios ile birleştirilemez.
En fazla URL: 2.
Görsel başına en fazla: 30 MB.
Örnek: ["https://example.com/first-frame.png","https://example.com/last-frame.png"]
input.reference_imagesstring[]isteğe bağlıHerkese açık HTTPS referans görsel URL listesi. reference_videos ve reference_audios ile birleştirilebilir, frames_images ile birleştirilemez. Dosya veya base64 yerine URL metinleri gönderin.
En fazla URL: 10.
Görsel başına en fazla: 30 MB.
Örnek: ["https://example.com/your-image.png"]
input.reference_videosstring[]isteğe bağlıHerkese açık HTTPS referans video URL listesi. frames_images ile birleştirmeyin. Videolar kredi kullanımını değiştirir; aşağıdaki ilgili ücret satırına ve formüle bakın.
En fazla URL: 5.
Örnek: ["https://example.com/your-video.mp4"]
input.reference_audiosstring[]isteğe bağlıHerkese açık HTTPS referans ses URL listesi. Diğer reference_* listeleriyle birleştirilebilir, frames_images ile birleştirilemez.
En fazla URL: 5.
Örnek: ["https://example.com/your-audio.mp3"]
input.reference_video_durationnumberisteğe bağlıTüm referans videolarının saniye cinsinden toplam süresi. reference_videos varsa zorunludur. Ücretlendirmede tam saniyeye yukarı yuvarlanır ve en fazla 15 ek saniye alınır. Referans video yoksa atlayın.
input.durationintegeristeğe bağlı2–30 arasında tam saniye cinsinden video süresi. Varsayılan 5’tir. Kredi kullanımı süreye bağlıdır.
Varsayılan: 5
input.resolutionstringisteğe bağlıVideo çıktı çözünürlüğü. Aşağıdaki küçük harfli değerlerden birini kullanın. Çözünürlük kredi ücretini değiştirir.
Varsayılan: 720p
input.aspect_ratiostringisteğe bağlıÇıktının en boy oranı. Varsayılan 16:9’dur. Kare görselleri son kompozisyonu yönlendirebilir.
Varsayılan: 16:9
input.soundbooleanisteğe bağlıVideoyla birlikte ses üretilip üretilmeyeceği. Varsayılan false’tur. Metin yerine JSON boolean değeri gönderin.
Varsayılan: false
İstek örnekleri
Bir mod seçin: metinden video için medya göndermeyin; ilk/son kare için frames_images kullanın; referanslı üretim için reference_images, reference_videos ve reference_audios alanlarını birleştirin. frames_images, reference_* medya listeleriyle birlikte kullanılamaz. Kaynaklar herkese açık HTTPS URL listeleridir; dosya nesnesi veya base64 değildir. example.com adreslerini değiştirin. data.task_id değerini kaydedip completed veya failed durumuna kadar POST /api/v1/check ile sorgulayın.
POST /api/v1/createcurl -X POST https://nanobanana.io/api/v1/create \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"model": "wan-3-0-prime",
"input": {
"prompt": "Kırmızı klasik bir otomobil gün batımında sahil yolunda ilerler. Kamera otomobilin yanını yumuşakça takip ederken sıcak ışık okyanusa yansır.",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"sound": false
}
}'POST /api/v1/create · HTTP 201{
"data": {
"task_id": "task_example",
"model": "wan-3-0-prime",
"status": "processing",
"credits": 900
}
}Görev tamamlanana veya başarısız olana kadar döndürülen görev ID’si ile bu endpoint’i poll edin. En güncel görev durumunu kontrol etmek için her 5 saniyede bir polling yapmanızı öneririz.
POST /api/v1/check{
"task_id": "task_example"
}Yanıt
POST /api/v1/check tarafından döndürülen görev durumu. Aşağıdaki kimlikler, URL’ler ve zaman damgaları örnektir.
idstringzorunludata.id içindeki görev kimliği, sorgu isteğinde kullanılan task_id ile aynıdır.
statusstringzorunlufailed_reasonstringisteğe bağlıYalnızca status failed olduğunda hata nedenini açıklamak için döndürülür. completed ve processing durumlarında bu alan bulunmaz.
Tamamlandı · completed
İndirme URL’leri data.data.results içindedir.
POST /api/v1/check · HTTP 200{
"data": {
"id": "task_example",
"created_at": 1791244800,
"model": "wan-3-0-prime",
"status": "completed",
"data": {
"results": [
"https://example.com/generated.mp4"
],
"processing_time": 120
}
}
}Diğer durumlar
processing veya failed durumunda data.data null olur. Bu örnek failed durumunu gösterir: yalnızca failed, failed_reason içerir. processing için sorgulamaya devam edin; failed için durdurun.
POST /api/v1/check · HTTP 200{
"data": {
"id": "task_example",
"created_at": 1791244800,
"model": "wan-3-0-prime",
"status": "failed",
"data": null,
"failed_reason": "Generation failed."
}
}Kredi tüketimi
Çözünürlüğe ve referans video moduna göre ücretlendirilen saniye başına kredi.
| Oluşturma | 480P | 720P | 1080P |
|---|---|---|---|
| Referans video olmadan | 90 | 180 | 360 |
| Referans video ile | 90 | 180 | 360 |
Her istek bir video üretir. Süre veya çözünürlük belirtilmezse yukarıdaki varsayılanlar kullanılır. Referans videolar daha çok kredi tüketebilir; ilgili satırı ve formülü kullanın.
Referans video olmadan: üretilen saniye × ücret. Referans video ile: (üretilen saniye + min(15, ceil(reference_video_duration))) × ücret. Saniye başına ücret değişmez; referans süresi ücretlendirilen saniyeyi artırır.
POST /api/v1/create yanıtındaki credits alanı, görev için kesilen kredi miktarını gösterir.
