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.

4 min readSume
All posts

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.

Reference image slots by Nano Banana variant (read 2026-10-03)
VariantObject imagesCharacter imagesStyle images
Nano Banana 2 LiteUp to 14Not listed separatelyNot listed
Nano Banana 2Up to 10Up to 4Up to 3
Nano Banana ProUp to 6Up to 5Not 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

All Models posts

Written by Sume