Nano Banana 2.1 — a product campaign from one mark
Image
8 credits
by Henri Huotari · Oct 28, 2026
Reference-led photography of an original Immersive Studio headphone concept: warm pink, tactile materials and controlled studio lighting. Uses the real brand mark as a reference. The object is a fictional campaign prop.
This file couldn't be loaded. The link may have expired.
This file couldn't be loaded. The link may have expired.
Run it yourself
Set IMMERSIVE_API_KEY to an API key from your account. Create a free account to get one.
curl -X POST 'https://ai.im.inc/api/v1/image/generate' \
-H "Authorization: Bearer $IMMERSIVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": [
"https://ai.im.inc/images/immersive_icon.png"
],
"prompt": "Create one world-class commercial product photograph for Immersive AI. The attached image is the actual Immersive brand mark: use its white rounded triple-wave symbol as a SMALL precise white debossed logo on the visible ear cup; do not use the pink circular background as a separate badge. Subject: an original pair of premium over-ear wireless headphones in saturated warm pink, close to #FF3377, with soft matte silicone, sculpted anodized aluminium yokes, believable cushions and fine material detail. The headphones stand naturally at a three-quarter angle on a pale off-white circular stone plinth in a spacious near-black charcoal photo studio. A hard diagonal shaft of warm white light cuts across the back wall; a restrained pink bounce on the floor, subtle atmospheric depth, beautiful crisp silhouette. Camera is close enough to appreciate real manufacturing detail. Art-directed still life, tactile, confident, photoreal, luxury editorial campaign, 85mm product lens. The headphones occupy the right two-thirds with generous dark breathing room left. Entire product visible, no extra items, no hands, no floating pieces, no neon cyberpunk, no UI, no watermarks, no headlines or other text. One photograph, not a collage.",
"generator": "nano_banana_2_1",
"resolution": "2K",
"num_outputs": 1,
"aspect_ratio": "16:9",
"output_format": "png"
}'
# Set JOB_ID to the response's "id", then poll every few seconds until the job has finished:
curl "https://ai.im.inc/api/v1/image/$JOB_ID" \
-H "Authorization: Bearer $IMMERSIVE_API_KEY"
# The finished response has the result at url.
const headers = { Authorization: `Bearer ${process.env.IMMERSIVE_API_KEY}` };
const response = await fetch("https://ai.im.inc/api/v1/image/generate", {
method: "POST",
headers: { ...headers, "Content-Type": "application/json" },
body: JSON.stringify({
"image": [
"https://ai.im.inc/images/immersive_icon.png"
],
"prompt": "Create one world-class commercial product photograph for Immersive AI. The attached image is the actual Immersive brand mark: use its white rounded triple-wave symbol as a SMALL precise white debossed logo on the visible ear cup; do not use the pink circular background as a separate badge. Subject: an original pair of premium over-ear wireless headphones in saturated warm pink, close to #FF3377, with soft matte silicone, sculpted anodized aluminium yokes, believable cushions and fine material detail. The headphones stand naturally at a three-quarter angle on a pale off-white circular stone plinth in a spacious near-black charcoal photo studio. A hard diagonal shaft of warm white light cuts across the back wall; a restrained pink bounce on the floor, subtle atmospheric depth, beautiful crisp silhouette. Camera is close enough to appreciate real manufacturing detail. Art-directed still life, tactile, confident, photoreal, luxury editorial campaign, 85mm product lens. The headphones occupy the right two-thirds with generous dark breathing room left. Entire product visible, no extra items, no hands, no floating pieces, no neon cyberpunk, no UI, no watermarks, no headlines or other text. One photograph, not a collage.",
"generator": "nano_banana_2_1",
"resolution": "2K",
"num_outputs": 1,
"aspect_ratio": "16:9",
"output_format": "png"
}),
});
const job = await response.json();
// Poll every few seconds while the job is still running.
const running = ["pending", "queued", "submitted", "starting", "processing", "running", "streaming", "in_queue", "in_progress"];
let result;
do {
await new Promise((resolve) => setTimeout(resolve, 5000));
result = await (await fetch(`https://ai.im.inc/api/v1/image/${job.id}`, { headers })).json();
} while (running.includes(String(result.status).toLowerCase()));
console.log(result.url);
import os
import time
import requests
headers = {"Authorization": f"Bearer {os.environ['IMMERSIVE_API_KEY']}"}
job = requests.post(
"https://ai.im.inc/api/v1/image/generate",
headers=headers,
json={
"image": [
"https://ai.im.inc/images/immersive_icon.png",
],
"prompt": "Create one world-class commercial product photograph for Immersive AI. The attached image is the actual Immersive brand mark: use its white rounded triple-wave symbol as a SMALL precise white debossed logo on the visible ear cup; do not use the pink circular background as a separate badge. Subject: an original pair of premium over-ear wireless headphones in saturated warm pink, close to #FF3377, with soft matte silicone, sculpted anodized aluminium yokes, believable cushions and fine material detail. The headphones stand naturally at a three-quarter angle on a pale off-white circular stone plinth in a spacious near-black charcoal photo studio. A hard diagonal shaft of warm white light cuts across the back wall; a restrained pink bounce on the floor, subtle atmospheric depth, beautiful crisp silhouette. Camera is close enough to appreciate real manufacturing detail. Art-directed still life, tactile, confident, photoreal, luxury editorial campaign, 85mm product lens. The headphones occupy the right two-thirds with generous dark breathing room left. Entire product visible, no extra items, no hands, no floating pieces, no neon cyberpunk, no UI, no watermarks, no headlines or other text. One photograph, not a collage.",
"generator": "nano_banana_2_1",
"resolution": "2K",
"num_outputs": 1,
"aspect_ratio": "16:9",
"output_format": "png",
},
timeout=300,
).json()
# Poll every few seconds while the job is still running.
running = {"pending", "queued", "submitted", "starting", "processing", "running", "streaming", "in_queue", "in_progress"}
while True:
time.sleep(5)
result = requests.get(f"https://ai.im.inc/api/v1/image/{job['id']}", headers=headers, timeout=60).json()
if str(result.get("status", "")).lower() not in running:
break
print(result["url"])
{
"id": "55d06b5c4683169260e37e667037770c",
"url": "https://s3.eu-central-1.amazonaws.com/ai.im.inc/examples/outputs/37f18326-fd99-4c60-b8fe-15613bb9eabc/result.png",
"status": "succeeded",
"image_id": "55d06b5c4683169260e37e667037770c",
"estimated_cost": 8
}
Your browser blocked the clipboard. Select the text and copy it by hand.
How the job runs
- POST returns the job's id and status right away.
- Poll GET /api/v1/image/{id} every few seconds while the job is running.
- When status is succeeded, download url. Failed jobs are refunded automatically.
- Endpoint
- POST /api/v1/image/generate
- Cost
- 8 credits · $0.08
- Output
- Image · PNG