Nano Banana Pro — carry a product into a lifestyle scene
Image
20 credits
by Henri Huotari · Oct 28, 2026
Place the established pink headphone concept into a natural daylight portrait. Uses both the original product image and the brand mark as references, demonstrating product-led scene generation with a visible face and believable headphone fit. Fictional campaign.
This file couldn't be loaded. The link may have expired.
This file couldn't be loaded. The link may have expired.
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://s3.eu-central-1.amazonaws.com/ai.im.inc/examples/inputs/50fe10cb-062d-4b4d-a895-88f1d2a0be0c/input_image.png",
"https://ai.im.inc/images/immersive_icon.png"
],
"prompt": "Create one finished lifestyle campaign photograph using the exact pink headphone design from the first supplied image and the actual waveform brand mark in the second. An adult man with short curly dark hair and natural skin texture, wearing a plain charcoal overshirt, stands in a calm warm-white creative studio near a large window and wears these exact warm-pink over-ear headphones. Close waist-up side portrait with a relaxed thoughtful half-smile, looking toward the window on the right. One headphone ear cup clearly visible with the small white waveform icon preserved, pink metal yokes and pink cushions remain the same design. Both hands outside the frame. Behind him a softly out-of-focus pink acoustic panel and one ivory architectural column. The person occupies the left two-thirds, gentle white daylight, refined contrast, subtle film grain, premium editorial photography with a very human expression. Keep face anatomy and headphone fit physically convincing. No text, no extra logos, no headphones around neck, no neon, no glamour smoothing, no random accessories.",
"generator": "nano_banana_pro",
"resolution": "2K",
"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://s3.eu-central-1.amazonaws.com/ai.im.inc/examples/inputs/50fe10cb-062d-4b4d-a895-88f1d2a0be0c/input_image.png",
"https://ai.im.inc/images/immersive_icon.png"
],
"prompt": "Create one finished lifestyle campaign photograph using the exact pink headphone design from the first supplied image and the actual waveform brand mark in the second. An adult man with short curly dark hair and natural skin texture, wearing a plain charcoal overshirt, stands in a calm warm-white creative studio near a large window and wears these exact warm-pink over-ear headphones. Close waist-up side portrait with a relaxed thoughtful half-smile, looking toward the window on the right. One headphone ear cup clearly visible with the small white waveform icon preserved, pink metal yokes and pink cushions remain the same design. Both hands outside the frame. Behind him a softly out-of-focus pink acoustic panel and one ivory architectural column. The person occupies the left two-thirds, gentle white daylight, refined contrast, subtle film grain, premium editorial photography with a very human expression. Keep face anatomy and headphone fit physically convincing. No text, no extra logos, no headphones around neck, no neon, no glamour smoothing, no random accessories.",
"generator": "nano_banana_pro",
"resolution": "2K",
"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://s3.eu-central-1.amazonaws.com/ai.im.inc/examples/inputs/50fe10cb-062d-4b4d-a895-88f1d2a0be0c/input_image.png",
"https://ai.im.inc/images/immersive_icon.png",
],
"prompt": "Create one finished lifestyle campaign photograph using the exact pink headphone design from the first supplied image and the actual waveform brand mark in the second. An adult man with short curly dark hair and natural skin texture, wearing a plain charcoal overshirt, stands in a calm warm-white creative studio near a large window and wears these exact warm-pink over-ear headphones. Close waist-up side portrait with a relaxed thoughtful half-smile, looking toward the window on the right. One headphone ear cup clearly visible with the small white waveform icon preserved, pink metal yokes and pink cushions remain the same design. Both hands outside the frame. Behind him a softly out-of-focus pink acoustic panel and one ivory architectural column. The person occupies the left two-thirds, gentle white daylight, refined contrast, subtle film grain, premium editorial photography with a very human expression. Keep face anatomy and headphone fit physically convincing. No text, no extra logos, no headphones around neck, no neon, no glamour smoothing, no random accessories.",
"generator": "nano_banana_pro",
"resolution": "2K",
"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": "hx2x8918jxrmr0d1g6b817z6sr",
"url": "https://s3.eu-central-1.amazonaws.com/ai.im.inc/examples/outputs/50fe10cb-062d-4b4d-a895-88f1d2a0be0c/result.png",
"status": "succeeded",
"estimated_cost": 20
}
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
- 20 credits · $0.20
- Output
- Image · PNG