Wan 2.7 Image to standardowa wersja modelu obrazów Alibaby, która w jednym miejscu tworzy grafiki z opisu i przerabia zdjęcia. Dzięki seed i negatywnemu promptowi łatwo trzymać ten sam styl w całej serii. Dobrze się sprawdzi w sklepach i u grafików, którzy co tydzień robią podobne materiały.
Co z nim zrobisz
- Serię grafik do sklepu, gdzie ten sam seed pilnuje spójnego wyglądu.
- Edycję zdjęcia z kilkoma referencjami: produkt, tło, oświetlenie.
- Cztery warianty okładki w 2K do wyboru przez klienta.
- Ilustracje do social mediów bez niechcianych napisów i znaków wodnych.
Ustawienia w praktyce
- Rozdzielczość: 1K albo 2K (domyślna). 4K zostanie odrzucone - po nie sięgnij do Wan 2.7 Image Pro.
- Wyniki:
num_imagesod 1 do 4. - Negatywny prompt: wypisz, czego nie chcesz, np. "text, watermark, extra fingers".
- Seed: zapisz go przy udanym obrazie i zmieniaj tylko opis, żeby porównywać warianty.
- Edycja: do 9 obrazów w
image_urls. Wynik przejmuje proporcje ostatniego zdjęcia z listy, więc ustaw kolejność świadomie. - Proporcje: 7 formatów, domyślnie 1:1. Prompt mieści do 5000 znaków.
Prompt na start
Flat lay product photo of a skincare set on a pale pink marble surface, three bottles and a jar arranged diagonally, eucalyptus leaves around them, soft diffused top light, clean minimal compositionW negative_prompt wpisz "text, logo, watermark", a produkty na blacie zamień na swoje.
Pytania
Ile kosztuje obraz z Wan 2.7 Image?
0,359 zł za obraz, z VAT. Przy czterech wynikach płacisz za każdy. Gdy generacja się nie uda, kosztuje 0 zł.
Jak zrobić dokładnie ten sam obraz drugi raz?
Wyślij identyczny prompt i ten sam seed. Pola zapytania opisuje dokumentacja generowania, a bez kodu ustawisz je w Studio.
Edytowany obraz ma inne proporcje, niż ustawiłem. Czemu?
Przy edycji wynik bierze proporcje ostatniego obrazu wejściowego. Jeśli chcesz konkretny format, daj na koniec listy zdjęcie w tym kształcie.
Wan 2.7 Image w twoim kodzie
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan-2.7-image",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1",
"resolution": "2k"
}
}'import os, time, requests
API = "https://kadraris.com/v1"
H = {"Authorization": f"Bearer {os.environ['KADRARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "wan-2.7-image",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1",
"resolution": "2k"
}
}).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://kadraris.com/v1";
const headers = { Authorization: `Bearer ${process.env.KADRARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "wan-2.7-image",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1",
"resolution": "2k"
}
}),
})).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));
Pola wejściowe
| Parametr | Typ | Dozwolone | Domyślnie |
|---|---|---|---|
prompt * | string | ≤ 5000 znaków | |
negative_prompt | string | ||
aspect_ratio | string | 1:1 16:9 9:16 4:3 3:4 3:2 2:3 | 1:1 |
resolution | string | 1k 2k | 2k |
num_images | integer | 1-4 | 1 |
image_urls | array | maks. 9 | |
seed | integer |
Tę listę w JSON-ie dostaniesz z GET /v1/models/wan-2.7-image.
























