Grok Imagine Image 2.0 wynagradza dokładny opis: rozpisany kadr ze storyboardu, postać z konkretnym strojem i tłem, ujęcie z określonym obiektywem. Model obrazów od xAI bierze prompt dosłownie - nie przepisuje go i nie dodaje szczegółów od siebie. Dostajesz kontrolę, ale też odpowiedzialność: krótki opis da prosty obraz.
Co z nim zrobisz
- Kadry z rozpisanego storyboardu - długie, precyzyjne opisy scen.
- Kilka wariantów miniatury naraz - do czterech obrazów w jednym zapytaniu.
- Ilustracje do wpisów - w poziomie i w pionie.
- Grafiki koncepcyjne - do gier i teledysków.
Ustawienia w praktyce
- Proporcje - 1:1, 2:3, 3:2, 3:4, 4:3, 9:16 albo 16:9. Wartości 1:2, 2:1, 4:5 i
autokończą się błędem. - Liczba obrazów - od 1 do 4 w
num_images; przydaje się, gdy porównujesz warianty. - Prompt - do 10 000 znaków. Wykorzystaj je na postać, ubranie, tło, ujęcie, obiektyw i światło.
- Generujesz z tekstu. Edycję pojedynczego zdjęcia i wybór jakości daje Grok Imagine.
Prompt na start
Concept art, 16:9. A lone lighthouse keeper in a yellow raincoat stands on black rocks, holding a lantern. Behind him, a storm wave rises taller than the lighthouse. Low camera angle, 24mm lens, cold blue light with one warm lantern glow.Opisz swoją scenę równie szczegółowo - wszystko, czego nie napiszesz, model zostawi w najprostszej wersji.
Pytania
Ile kosztuje obraz z Grok Imagine Image 2.0?
0,264 zł za obraz, z VAT. Nieudana generacja kosztuje 0 zł.
Dlaczego mój obraz wyszedł płaski i prosty?
Bo model nie uzupełnia promptu za Ciebie. Dopisz ujęcie, światło, materiały i tło - przy limicie 10 000 znaków miejsca nie zabraknie.
Jak dostać cztery wersje naraz?
Ustaw num_images: 4 w zapytaniu - przykład znajdziesz w dokumentacji.
Grok Imagine Image 2.0 w twoim kodzie
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-image-2.0",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1"
}
}'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": "grok-imagine-image-2.0",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1"
}
}).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": "grok-imagine-image-2.0",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1"
}
}),
})).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 | ≤ 10000 znaków | |
aspect_ratio | string | 1:1 2:3 3:2 3:4 4:3 9:16 16:9 | 1:1 |
num_images | integer | 1-4 | 1 |
Tę listę w JSON-ie dostaniesz z GET /v1/models/grok-imagine-image-2.0.



























