Double-exposure portrait from two photos with Nano Banana 2.1
Blend a portrait and a landscape into one double exposure: two input_references, a pinned 4:5 ratio, Nano Banana 2.1 at 1K, and the 10-reference cap on Sume.

To make a double-exposure portrait on Sume, send two photos as input_references to google/nano-banana-2.1: a head-and-shoulders portrait first and a landscape second. Pin aspect_ratio to 4:5 and describe the effect in the prompt. The Sume catalog lists 15 ratio values for this row, so 4:5 is available, and one image at 1K is priced at the row's endpoint rate, which is $0.10 in the catalog I read.
Why two references and not a prompt alone?
A double exposure needs two real pictures: the silhouette and the texture that shows through it. Google's Nano Banana 2.1 model page describes multi-image fusion with up to 14 reference images. Sume's catalog caps input_references at 10 for this row, so a two-photo blend is well inside the limit on both sides.
Order the references the way you describe them. Say "the first photo is the silhouette, the second photo fills it" so the model does not have to guess.
Which request fields do I need?
Sume copies the OpenRouter image schema. Reference URLs must be public HTTPS; localhost and private-network URLs are rejected before submission. If you omit aspect_ratio on an edit, the result is not the same as auto, so here I pin the ratio that suits a portrait print.
| Field | Value | Note |
|---|---|---|
model | google/nano-banana-2.1 | The retired nano-banana-2 id runs as this row |
input_references | two image_url entries | Sume cap is 10; Google's page says 14 |
aspect_ratio | 4:5 | One of 15 values the row lists |
resolution | 1K | Rows list 512, 1K, 2K and 4K; Google's default is 1K |
n | 1 | Raise only after the first result looks right |
What does the code look like?
The prompt carries the whole effect, so keep it concrete about where the second photo shows.
import os
import requests
def ref(url):
return {"type": "image_url", "image_url": {"url": url}}
body = {
"model": "google/nano-banana-2.1",
"prompt": "Double exposure. The first photo is the silhouette of "
"the person in profile; the second photo fills that "
"silhouette. Pale background, soft contrast.",
"input_references": [ref("https://example.com/portrait.jpg"),
ref("https://example.com/forest.jpg")],
"aspect_ratio": "4:5",
"resolution": "1K",
}
r = requests.post("https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json=body, timeout=60)
if r.status_code != 200:
raise SystemExit(f"{r.status_code}: {r.text[:200]}")
print(r.json()["data"][0]["url"])How do I iterate without overspending?
Nano Banana 2.1 lists four resolution tiers on Sume: 512, 1K, 2K and 4K, and 0.5K is accepted as an alias for 512. Test the pairing of two photos at 512, which is the cheapest tier, then rerun the winner at 1K or 2K. Sume's docs say failed and cancelled generations are not billed, while every completed one is, so each retry of a pairing that works is a cost you chose.
Can I mask where the second photo appears?
Not on this row. Sume's mask_url field is listed only for ChatGPT Image 2.5, and Google's model page does not mention a mask for Nano Banana 2.1. Steer placement with words instead, or use the GPT row with a mask if you need an exact region. If the call returns 202, read the image from the job result as described in Jobs and results.
Sources
Related posts
More in Use cases
- Dry January 2027 menu video: four alcohol-free drinks, $2.94
Dry January starts Fri Jan 1, 2027. A bar or bottle shop can announce an alcohol-free menu in 20 seconds with four Wan 3.0 clips, music, voice and captions.
- eBay listing video: no URLs or calls to action, check before upload
eBay's images, videos and text policy bars contact details, links and calls to action in listing video. Check stills and speech on Sume before you upload.
- Free Shipping Day Dec 14, 2026: a delivery badge clip for $0.68
Free Shipping Day is Monday Dec 14, 2026. Put a free-shipping badge over a 5-second product clip with Sume for about $0.68: badge image, Wan clip, overlay.
- Furnace tune-up reminder video: 3 stills, voiceover, 61 cents
A heating company's tune-up reminder before the first freeze: three Nano Banana 2.1 stills, TTS voice, one Timeline 1.0 render and captions, about $0.61.
Written by Sume