Qwen Image 2.1 od Alibaby to model, któremu możesz pisać po polsku - producent deklaruje obsługę promptów w dowolnym języku. Mocną stroną jest łączenie wielu zdjęć: bierzesz postać z jednego, przedmiot z drugiego, wnętrze z trzeciego i składasz z nich nowy kadr. Dobrze sprawdza się przy grafikach produktowych i seriach, które mają wyglądać podobnie.
Co z nim zrobisz
- Grafikę na Facebooka opisaną zwyczajnie po polsku, bez tłumaczenia promptu.
- Packshot produktu przeniesiony do nowej scenerii na podstawie kilku zdjęć z sesji.
- Serię podobnych wariantów z tym samym
seed, różniących się jednym szczegółem. - Kompozycję z kilku źródeł: bohater, rekwizyt i tło z osobnych plików.
Ustawienia w praktyce
- Rozdzielczość: 1K albo 2K. Obraz 2K ma cztery razy więcej pikseli, więc wybieraj go do druku i dużych ekranów.
- Proporcje: 9 formatów od 21:9 do 9:21 plus
auto.autodziała tylko z referencjami - przy samym tekście wybierz konkretny kształt (domyślnie 1:1). - Referencje: do 10 plików JPEG, PNG lub WebP w
image_urls, każdy do 30 MB i 25 MP. - Prompt: od 1 do 5000 znaków. Przy kilku zdjęciach nazwij rolę każdego.
- Przezroczyste tło i edycja obszaru z maską są w ofercie producenta, ale w Kadrarisie nie są jeszcze dostępne.
- Jedno zapytanie zwraca jeden obraz.
Prompt na start
Butelka oliwy z pierwszego zdjęcia stoi na kamiennym blacie w słonecznej śródziemnomorskiej kuchni, obok gałązka rozmarynu i pomidory, miękkie światło z okna, zdjęcie reklamowePodmień produkt i otoczenie, a jeśli dokładasz zdjęcie tła, dopisz "w kuchni z drugiego zdjęcia".
Pytania
Ile kosztuje jeden obraz z Qwen Image 2.1?
od 0,293 zł za obraz, z VAT. Jeśli generacja się nie powiedzie, płacisz 0 zł.
Potrzebuję produktu bez tła. Co zrobić?
Opcja przezroczystego tła nie jest jeszcze dostępna, więc poproś w prompcie o jednolite, jasne tło i wytnij je w swoim programie.
Czym 2.1 różni się od Qwen Image 2?
Qwen Image 2 edytuje jedno zdjęcie i ma prompt do 800 znaków. Wersja 2.1 łączy do 10 referencji, przyjmuje dłuższe opisy i daje wybór 1K lub 2K. Obie wypróbujesz w Studio.
Qwen Image 2.1 w twoim kodzie
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-2.1",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}'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": "qwen-image-2.1",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}).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": "qwen-image-2.1",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}),
})).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 | |
aspect_ratio | string | auto 1:1 4:3 3:4 3:2 2:3 16:9 9:16 21:9 9:21 | 1:1 |
resolution | string | 1K 2K | 1K |
image_urls | array | maks. 10 | |
seed | integer |
Tę listę w JSON-ie dostaniesz z GET /v1/models/qwen-image-2.1.























