Nano Banana reference image limits: Lite, 2 and Pro compared
Nano Banana 2 Lite takes up to 14 object images, Nano Banana 2 takes 10 object, 4 character and 3 style, Pro takes 6 object and 5 character.

The Gemini API documents three different reference budgets: Nano Banana 2 Lite accepts up to 14 object images, Nano Banana 2 accepts up to 10 object, 4 character and 3 style images, and Nano Banana Pro accepts up to 6 object and 5 character images. Which one fits depends on whether you are matching a product, a person or a look.
The three budgets side by side
These limits come from Google's image generation documentation as read on October 3, 2026. The same page lists the model ids gemini-3.1-flash-lite-image, gemini-3.1-flash-image and gemini-3-pro-image.
| Variant | Object images | Character images | Style images |
|---|---|---|---|
| Nano Banana 2 Lite | Up to 14 | Not listed separately | Not listed |
| Nano Banana 2 | Up to 10 | Up to 4 | Up to 3 |
| Nano Banana Pro | Up to 6 | Up to 5 | Not listed |
Choosing by the job
A product with many angles, accessories or packaging details benefits from the object slots, which is where Lite offers the most room. A recurring person or mascot across a multi-shot sequence benefits from the character slots, where Pro offers five and Nano Banana 2 offers four. A house look that should carry across a campaign is the use for style slots, which only Nano Banana 2 lists.
- Catalog with many product views: start with Lite for the 14 object slots.
- Mixed scene with a product, a presenter and a look: Nano Banana 2 is the only variant that lists all three types.
- Character-heavy sequence: Pro's five character slots or Nano Banana 2's four.
Passing references through Sume
Sume's Image API takes references in an input_references array of public HTTPS image URLs. The accepted count is model-specific and published as a range descriptor in the catalog, so read supported_parameters.input_references.max instead of hard-coding a number. A model whose range is {"min": 0, "max": 0} is text-to-image only and rejects references. The docs list the bare id nano-banana-2 among the legacy ids that are accepted as aliases.
Sume does not publish the Gemini character and style slot split, so treat the table above as Google's documentation and check the catalog for what your Sume model id accepts.
import os
import requests
HEADERS = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
def reference_limit(model_id: str) -> int:
r = requests.get("https://api.sume.com/v1/images/models", headers=HEADERS, timeout=30)
r.raise_for_status()
for m in r.json()["data"]:
if m["id"] == model_id:
return m["supported_parameters"].get("input_references", {}).get("max", 0)
raise SystemExit(f"{model_id} is not in the catalog")
if __name__ == "__main__":
print(reference_limit(os.environ.get("MODEL_ID", "openai/gpt-image-2.5")))A note on character consistency
More slots do not guarantee a perfect match. Use clean, front-facing references for characters, keep the object shots on plain backgrounds, and test with three prompts before you commit a batch. A limit tells you what the API will accept, not how faithful the result will be.
Sources
Related posts
More in Models
- PixVerse V6 native audio and camera work: what to check in an API
PixVerse's blog lists V6 with camera work and native audio, plus R2 and a $439M Series C total. How to test those claims against any video API's catalog.
- PixVerse V6 adds native audio: which Sume video ids make sound
PixVerse V6 ships camera work and native audio. The Sume video docs name no PixVerse id, so here is how to find models that generate audio and read the flag.
- Repeated image edits without drift: a native-resolution test plan
Recraft says Ideogram 4.5 is built for stable repeated edits at native resolution without downsampling. A five-pass test to check any edit model for drift.
- Scribe v2, Realtime or Medical: which model for interview clips
ElevenLabs lists Scribe v2 with up to 32 speakers and 90+ languages, Realtime at about 150 ms, and Medical with 35% fewer errors. Which fits interview clips.
Written by Sume