Wan 3.0 to model wideo Alibaby, który w jednym przebiegu generuje klipy od 2 do 30 sekund, w rozdzielczości od 480P do 4K (domyślnie 1080P) i domyślnie ze ścieżką dźwiękową. Przyjmuje tekst, pierwszą i ostatnią klatkę, do 10 zdjęć referencyjnych oraz do 5 klipów i 5 nagrań audio (każde 1-15 s, razem do 15 s). Prompt może mieć aż 20 000 znaków. Wariant z szybszą realizacją zadań to Wan 3.0 Video Prime.
Do czego się nadaje
- Reklama 30 s w jednym ujęciu, bez sklejania fragmentów
- Teledysk z postacią i głosem z Twoich referencji
- Klipy w 4K do YouTube i na duże ekrany
- Rolki z kilkoma bohaterami pokazanymi na osobnych zdjęciach
Jak pisać prompty
- Odwołuj się do plików po kolei: "Image 1", "Video 1", "Audio 1".
- Przy 30 sekundach rozpisz scenę na etapy, z orientacyjnym czasem każdego.
- Duży limit znaków wykorzystaj na opis postaci i miejsca, nie na powtórzenia.
duration: -1pozwala modelowi wybrać długość, ale rozliczenie jest jak za 30 s.
FAQ
Ile kosztuje Wan 3.0 za sekundę?
Stawka to od 0,45 zł za sekundę, z VAT. Klipy referencyjne są płatne dodatkowo, a nieudane generacje nie kosztują nic.
Jaka jest maksymalna długość i rozdzielczość?
30 sekund i 4K w jednym zadaniu. Do wyboru masz też 480P, 720P, 1080P i 2K.
Czy mogę wyłączyć dźwięk w Wan 3.0?
Tak, wyślij generate_audio: false. Pełny opis pól znajdziesz w dokumentacji, a w Studio ustawisz to przed generacją.
Jak wywołać Wan 3.0 przez API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan-3.0",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "adaptive",
"resolution": "1080P",
"duration": 5
}
}'import os, time, requests
API = "https://jantaris.com/v1"
H = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "wan-3.0",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "adaptive",
"resolution": "1080P",
"duration": 5
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://jantaris.com/v1";
const headers = { Authorization: `Bearer ${process.env.JANTARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "wan-3.0",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "adaptive",
"resolution": "1080P",
"duration": 5
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Parametry
| Parametr | Typ | Dozwolone | Domyślnie |
|---|---|---|---|
prompt * | string | ≤ 20000 znaków | |
aspect_ratio | string | adaptive 16:9 9:16 1:1 4:3 3:4 | adaptive |
resolution | string | 480P 720P 1080P 2K 4K | 1080P |
duration | integer | 2-30 | 5 |
generate_audio | boolean | true | |
image_url | string | ||
end_image_url | string | ||
image_urls | array | maks. 10 | |
video_urls | array | maks. 5 | |
audio_url | string | ||
audio_urls | array | maks. 5 | |
seed | integer |
Ten sam schemat zwraca GET /v1/models/wan-3.0.









