Imagen 4 is Google's text-to-image model, released in May 2025. It does one job: turn a written prompt into an image. There are no reference images and no masks, so it fits pipelines where the only input is text. You get one image per request in five aspect ratios (1:1, 4:3, 3:4, 16:9, 9:16), and prompts can be up to 4,000 characters in English or Chinese. The default ratio on Jantaris is 16:9.
Best for
- Blog headers and article illustrations generated from titles
- Stock-style photos for landing pages
- Automated pipelines that only have text as input
- Side-by-side comparisons with other text-to-image models
Prompting tips
- Structure the prompt as subject, action, setting, style, lighting and lens.
- Name the medium explicitly: "35mm film photo", "watercolor", "3D render".
- Set
aspect_ratioon every request; if you leave it out, you get 16:9. - To edit an existing picture, switch to a model with image input such as FLUX.1 Kontext [pro].
FAQ
How much does the Imagen 4 API cost?
Imagen 4 costs $0.115 per image on the current Jantaris price list. A failed generation costs nothing, and the balance never expires.
Can Imagen 4 edit images?
No. It is text-to-image only, without reference images or masks. For edits use a model like Nano Banana 2.
Which languages does Imagen 4 understand?
Prompts can be written in English or Chinese, up to 4,000 characters.
How to call Imagen 4.0 via API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "imagen-4",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "16:9"
}
}'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": "imagen-4",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"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://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": "imagen-4",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"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));
Parameters
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt * | string | ≤ 4000 chars | |
aspect_ratio | string | 1:1 4:3 3:4 16:9 9:16 | 16:9 |
The same schema is available from GET /v1/models/imagen-4.













