Imagen 4 to najprostsza droga od opisu do obrazu: ilustracja do wpisu, tło slajdu, koncept na moodboard. Model Google robi tylko jedno - generuje z tekstu, bez zdjęć referencyjnych i masek. Do edycji się nie nada, ale nie ma też czego konfigurować.
Co z nim zrobisz
- Ilustracje do wpisów - w domyślnym formacie 16:9.
- Tła do prezentacji - bez szukania zdjęć w bankach.
- Koncepty na moodboard - zanim zorganizujesz sesję.
- Piony 9:16 na stories - gdy nie masz żadnego materiału źródłowego.
Ustawienia w praktyce
- Proporcje - 1:1, 4:3, 3:4, 16:9 albo 9:16. Domyślnie 16:9, więc pion ustaw wprost.
- Prompt - do 4000 znaków. Google podaje wsparcie dla angielskiego i chińskiego, więc pisz po angielsku.
- Budowa opisu - warstwami: pierwszy plan, tło, światło, styl zdjęcia albo ilustracji.
- Styl - zamiast nazwisk artystów opisz technikę, np. "watercolor" albo "35mm film grain".
- Jedno zapytanie to jeden obraz. Do przerabiania zdjęć wybierz Nano Banana Pro albo FLUX.1 Kontext [pro].
Prompt na start
Editorial illustration, 16:9: a small wooden boat on a calm lake at dawn, mist over the water, pine forest in the background, soft pink light, gouache painting texture, generous empty sky on the leftZostaw strukturę (plan, tło, światło, technika), a podmień temat na ten z Twojego wpisu.
Pytania
Ile kosztuje obraz z Imagen 4?
0,675 zł za obraz, z VAT. Nieudana generacja kosztuje 0 zł.
Napiszę prompt po polsku?
Możesz, ale wynik będzie mniej przewidywalny, bo oficjalnie model przyjmuje angielski i chiński. Opis sceny lepiej przetłumacz.
Imagen 4 czy Nano Banana?
Nano Banana przyjmuje też zdjęcia do edycji. Zestawienia znajdziesz w porównaniach Imagen 4 vs Nano Banana 2 i Imagen 4 vs Nano Banana Pro.
Imagen 4.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": "imagen-4",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "16:9"
}
}'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": "imagen-4",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "16:9"
}
}).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": "imagen-4",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "16:9"
}
}),
})).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 | ≤ 4000 znaków | |
aspect_ratio | string | 1:1 4:3 3:4 16:9 9:16 | 16:9 |
Tę listę w JSON-ie dostaniesz z GET /v1/models/imagen-4.



























