Choose Your AI Generation Engine
Pick from four AI engines for Flat-to-Model: Nano Banana 2, Nano Banana Pro, Seedream, or GPT Image 2. Or let Auto choose. Compared at 2K.

Flat-to-Model turns flat-lay product photos into photorealistic on-model imagery, and the AI engine doing the rendering shapes how the result looks. Some engines lean clean and editorial, others lean dramatic and creative. You can pick the one whose aesthetic fits your brand, or stay on Auto and let On-Model choose for you.
The Generation model selector lives in the Flat-to-Model review step, alongside the pose, background, and aspect ratio controls. The same choice is available on the API as an optional model field on the request's options object.
The engines
- Auto (default): picks the best model for your set of images and instructions.
- Nano Banana 2: fast, balanced workhorse with clean, photorealistic skin and strong garment fidelity.
- Nano Banana Pro: higher-fidelity option with the strongest garment detail; slower than Nano Banana 2.
- Seedream: more dramatic lighting and a more creative interpretation of the styling.
- GPT Image 2: distinct rendering style with a slightly warmer overall tone.
All four named engines support 1K, 2K, and 4K outputs.
Pros and cons at a glance
| Engine | Output quality | Speed | Best for |
|---|---|---|---|
| Nano Banana 2 | High | Medium | Catalog work and the safe default |
| Nano Banana Pro | Maximum | Medium | Hero shots and premium garment detail |
| Seedream | Medium | Fast | Lingerie and intimate fashion |
| GPT Image 2 | High | Slow | Editorial moods and distinct color tone |
If you only remember one thing: Nano Banana 2 is the safe default, Nano Banana Pro is for hero shots, GPT Image 2 is for an editorial or atmospheric look, and Seedream is the choice for lingerie and swimwear, where other engines' safety filters can be conservative.
Same inputs, four engines, 2K
Here's the same flat-lay trio, the same identity, and the same pose, rendered by each engine at 2K.
Same garments, same identity, same pose: seated on a wooden stool against a warm ecru plaster wall. Each engine reads the scene differently. Nano Banana 2 stays clean and frontal with the icy blue of the shirt held tight. Nano Banana Pro tightens the garment detail and the fall of the trousers. Seedream nudges the model into a three-quarter turn, softens the tones, and pushes the backdrop warmer. GPT Image 2 leans into its own colour palette, with a slightly warmer overall cast. None is universally better. They are different aesthetic defaults, and picking the one that fits your brand catalogue is the point.
Which engine produced each output
Once a job finishes, you can see which engine actually rendered each result.
In the app, a small engine icon sits next to the processing time on each output card. Hover over it for the engine name.
In the API, each result in GET /jobs/<id>/results carries a model_used field:
{
"job_id": "8c9f1a...",
"status": "completed",
"results": [
{
"image_index": 0,
"group_index": 0,
"model_used": "nano_banana_2",
"output": { "full_size": "https://..." }
},
{
"image_index": 1,
"group_index": 0,
"model_used": "gpt_image",
"output": { "full_size": "https://..." }
}
]
}
It's useful both for consistency checks and for tracking which engine performs best on which kinds of input over time.
Using it via the API
Pass model inside the options object on your Flat-to-Model request:
{
"project_id": "...",
"images": ["uuid1", "uuid2", "uuid3"],
"identity_code": "default-pro-...",
"instructions": [ /* ... */ ],
"options": {
"model": "nano_banana_pro"
}
}
Valid values: "auto" (default), "nano_banana_2", "nano_banana_pro", "seedream", or "gpt_image".
In our public Python integration, it's a single CLI flag:
python flat_to_model.py \
--input-folder SKU/ \
--identity-code <your-identity-code> \
--model gpt_image
Full reference is in the Flat-to-Model API docs.
Create-Packshot uses the same lineup
The same five-option Generation model dropdown is available on Create-Packshot. The aesthetic differences described above transfer directly to packshot output: ghost-mannequin, flat-lay, marketing-ready, and white-cutout templates all benefit from engine choice in the same way. See the Create-Packshot guide for an end-to-end walkthrough.
Model-Swap gets a dropdown too
The Generation model selector is also available in the Model-Swap review step.
The default is Onda, PiktID's proprietary swap engine. The alternative is Nano Banana 2, available for teams who want to try a different aesthetic on their swaps. model_used works exactly the same way: every result in GET /jobs/<id>/results tells you which engine produced it.
Pass swap_options.model on a Model-Swap job, or --model onda | nano_banana_2 on the Python integration.
"Different engines are different tools. Brands and agencies who run hundreds of SKUs a week know their aesthetic, and they deserve the choice. Exposing engine selection turns On-Model from a black box into a controllable production pipeline, and
model_usedon every output makes the choice auditable."— Nunzio Alexandro Letizia, Co-founder at PiktID and creator of On-Model
Try it now
Open any Flat-to-Model or Model-Swap job and look for the Generation model dropdown in the review step. Pick an engine, generate, and compare the result against Auto.
New to On-Model? Start with the Flat-to-Model guide, explore presets, or learn about Create-Packshot.
Read Next

Your Asset Library, Now Smarter
AI-detected keywords power the search bar so you can find any asset by content, and per-asset styling notes auto-fill the next time you reuse a garment.

Welcome to On-Model: AI-Powered Fashion Photography at Scale
Introducing On-Model — the AI platform that transforms flat-lay product photos into realistic on-model images and swaps models while preserving every garment detail.

One Shoot, Many Markets: Fashion AI
Adapt one product shoot for every regional market. AI enrichment with Flat-to-Model and Model Swap serves diverse audiences without re-shooting.