Consistent character AI image generator: reuse one reference

Keep one character consistent across AI images: send the same reference image with every request, repeat its description, and change only the scene.

5 min readSume
All posts

To keep a character consistent with an AI image generator, send the same reference image of the character with every request, repeat the same character description word for word, and change only the scene. On Sume, the reference goes in input_references on POST /v1/images. The image API serves no seed and has no character ID, and no setting guarantees an identical face, so review every result.

Request fields come from Sume's Image API docs and the model catalog that GET /v1/images/models serves, read on 2026-09-27. For the same character across video shots, see consistent character across AI video shots.

How do I keep the same character in every image?

Build every request from the same three parts: one approved reference image, one fixed description, and a new scene. The request below puts them together for one scene.

  • Make the reference first. Generate candidates with n, pick one with a clear view of the face and outfit, and save it, because result URLs are Sume-hosted and signed.
  • Host the reference at a public HTTPS URL of your own. Localhost, private-network, and non-HTTPS URLs are rejected.
  • Write the description once, covering age, hair, clothing, and colors, and paste it unchanged into every prompt. Put the scene after it.
  • Set each image's shape with an explicit aspect_ratio from the model's list. "auto" would match the reference's shape instead.
  • Compare every result with the reference before you use it.
curl -X POST "https://api.sume.com/v1/images" \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/nano-banana-pro",
    "prompt": "The woman from the reference image: early 30s, short red bob, round glasses, mustard raincoat. Scene: she buys bread at a morning street market in soft daylight.",
    "input_references": [
      { "type": "image_url", "image_url": { "url": "https://example.com/character.png" } }
    ],
    "aspect_ratio": "16:9",
    "n": 2
  }'

Can I use several reference images of the same character?

Yes. A front view, a profile, and a full-body shot can go into one request, up to the model's ceiling: 16 references on the two ChatGPT Image 2.5 ids, and 10 on ChatGPT Image 2 and the two Nano Banana models. Today a request with more references than the model allows is refused with a 400 error.

In the current schema, a reference carries no role, only its type and URL, so the prompt has to connect them. Say that every reference shows the same person, and which one shows the outfit if they differ.

Is there a seed or character ID to lock the face?

No. seed is in the request schema, but no image model serves it, so a request that sends one returns 400 unsupported_parameter. There is no character, identity, or face-lock field either, and in current code a field the schema does not define is refused with 400 invalid_request. What can carry a character from one image to the next:

From Image API, the GET /v1/images/models catalog, and current code, read 2026-09-27.
ControlOn Sume's image APILimit
Reference images (input_references)Yes, on edit-capable models16 on ChatGPT Image 2.5; 10 on ChatGPT Image 2 and Nano Banana
The same description in promptYesprompt is required on every request
Several images per call (n)YesUp to 10 in the schema; 4 on ChatGPT Image and Nano Banana
seedIn the schema, not served400 unsupported_parameter
A character or face IDNo such fieldUnknown fields return 400 invalid_request in current code

How do I keep the same character in a video?

Video takes different inputs: consistent character across AI video shots covers generated shots, and create a reusable AI avatar covers a talking avatar you call again by its handle.

What are the limits?

  • Every image is a new generation. Hair, clothing details, and proportions can drift, so check each one against the reference.
  • Text-to-image-only models reject references. Their input_references range is {"min": 0, "max": 0}.
  • Result URLs are signed, so store the reference and the images you keep in your own storage.
  • Use a real person's likeness only with their permission.

Sources

Related posts

More in Models

All Models posts

Written by Sume