how maginary picks your model
Maginary hosts 30+ models. You shouldn’t have to know any of their names. Here’s exactly how selection works — three lanes, from zero effort to full control.
lane 1: plain prompt — the everyday pool
Type a prompt with no model flags and Maginary picks from the everyday pool: Flux Pro 2.0, Ideogram v3, Recraft, Google Imagen 4, Seedream 4.5, the Flux LoRA styles, Kling 2.1 for video, and friends. The selection looks at what your prompt actually needs — text in the image leans toward text-strong models, anime leans toward the anime LoRA, and when you generate 4 outputs, Maginary can mix models across the grid for diversity.
These models are fast and affordable, which is the point: iteration should never feel expensive.
lane 2: --flagship — intent, not a name
Premium models (GPT-image-2 High, Nano Banana Pro, Seedance 2 Pro, Sora 2 Pro) are not in the everyday pool. They cost premium credits, so they’re opt-in by design — no silent draining of your balance.
--flagship is the opt-in. It doesn’t name a model; it opts the generation into the premium pool for whatever you’re doing, and any model in that pool may be selected. For a 4-image grid Maginary usually blends the pool — you get a side-by-side of the top models and pick the winner. For a single video, it picks one. Either way, no silent draining of your balance.
| Operation | Flagship pool |
|---|---|
| text-to-image | GPT-image-2 (High), Nano Banana Pro |
| image editing | GPT-image-2 (High) edit, Nano Banana Pro |
| text-to-video | Seedance 2 Pro, Sora 2 Pro |
| image-to-video | Seedance 2 Pro, Sora 2 Pro |
On images, --flagship typically gives you a mix of the pool across your grid — so instead of betting on one model, you compare them side by side and keep the best frame. On a single video, one model from the pool runs. When you want a specific model for certain, name it with its trigger. You state the intent; Maginary does the model shopping.
vintage neon diner sign that says “OPEN 24/7” --ar 16:9 --flagship
→ a 4-image grid blending GPT-image-2 and Nano Banana Pro — keep the sharpest text
lane 3: exact triggers — you’re the boss
When you know what you want, say it. A model trigger is exclusive — no picking, no mixing:
| you want | type |
|---|---|
| GPT-image-2 (medium) | --gpt2 |
| GPT-image-2 (high) | --gpt2high |
| Nano Banana Pro | --nanobananapro |
| Nano Banana 2 | --nb2 |
| Seedance 2 Fast | --seedance2 |
| Seedance 2 Pro | --seedance2pro |
| Sora 2 Pro | --sora |
| Sora Lite | --soralite |
Triggers are direction-smart: --nanobananapro on a text prompt gives you its text-to-image variant, on an image input its edit variant. Same trigger, right tool. (And if you combine incompatibly — say --seedance2 without --mp4 — Maginary tells you instead of guessing.)
Full parameter list in the docs.
the one automatic exception
Give Maginary multiple input images for a video and it auto-selects Seedance 2 Pro’s reference-to-video mode — the one model built to keep your subjects consistent across the clip. That’s the single case where a premium model is picked without a flag, because nothing in the everyday pool can do the job.
capability flags stack on top
Flags like --svg (vector output), --transparent (alpha background), --2k/--4k (resolution tier) don’t pick a model — they narrow the pool to models capable of it, in whichever lane you’re in. --4k alone gets you a native-4K model from the everyday pool; --nanobananapro --4k gets you Google’s flagship at full resolution.
tl;dr
- iterate: plain prompts. cheap, fast, auto-picked
- finalize: add
--flagship. maginary runs the premium pool — a side-by-side on images, one pick on video - control: name the model with its trigger
that’s the whole system. more on the two newest flagships in adding seedance 2.0 and chatgpt images 2.0 to maginary.
create: app.maginary.ai