Generate Image

Create AI-generated images from text prompts using 23 provider models with configurable style, aspect ratio, resolution, and quality.

Overview

Generate Image is the primary text-to-image node. It accepts a text prompt (with optional style presets, negative prompts, and reference images) and produces an image via one of 23 AI providers. The default provider is Nano Banana Pro at 16:9 aspect ratio.

Configuration

Field Type Default Description
Provider select nano-banana-pro AI model to use for generation (24 options)
Prompt text "" Text description of the image to generate. Each model has its own prompt-length limit – 20 000 characters on the Nano Banana / GPT Image families, 5 000 by default, and as little as 1 000 on Z-Image and Seedream 5 Lite. The editor counts down to your model’s limit as you type, and a prompt still over it at run time is shortened to fit rather than refused
Style select "" One of 16 presets (Photorealistic, Cinematic, Anime, Digital Art, Oil Painting, Watercolor, Children’s Book, Comic Book, Pixel Art, 3D Render, Pencil Sketch, Pop Art, Minimalist, Retro/Vintage, Fantasy, Noir) or “Custom…” free text. Style text is appended to the prompt at execution time.
Negative Prompt text "" Elements to exclude. Sent natively for imagen4, ideogram, qwen; appended as “Avoid:…” for other providers.
Aspect Ratio select "16:9" Provider-specific ratio sets (see table below)
Resolution select varies Available for nano-banana-pro, nano-banana-2, flux, flux-flex, gpt-image-2 and the GPT Image 2.5 models: 1K, 2K, 4K
Quality select varies Available for gpt-image (medium/high), seedream/seedream-5-lite (basic 2K / high 4K), and seedream-5-pro (basic 1K / high 2K)
Rendering Speed select Available for ideogram-v3: turbo, balanced, quality
Seed number Reproducibility seed (supported by select providers)
Style Type select Ideogram-specific style parameter
Expand Prompt boolean Ideogram-specific prompt expansion toggle
Reference Images image list Supported by nano-banana, nano-banana-pro, nano-banana-2, nano-banana-2-lite only. Upload or select from library.
Character/Asset References references Connect Character, Object, or Location nodes for visual consistency
Strength slider varies i2i denoising strength. Shown only for providers that support it (ideogram-remix, qwen-i2i). Lower = stays closer to the base image.
Guidance Scale slider varies Prompt-adherence guidance. Shown only for providers that support it (qwen-i2i, qwen-edit).
baseImageUrl image url Inpaint / refine base image. Set automatically from the node’s own current result at run time (or a connected image). See Inpainting & Refine.
maskUrl mask url Inpaint mask (white = edit, black = keep). Produced by the in-panel Mask Painter or a Generate Mask node.
promptPrefix / promptSuffix text Optional pre/post text wrapped around the prompt at run time (settings panel → Pre & post text; hidden from app users; captured by presets). See Prompt pre & post text.

Inputs & Outputs

Inputs (Handles v2.1):

The Generate Image node has 6 typed input handles on its left edge (color-coded pips), stacked from the bottom up: Prompt (closest to the corner) → Negative → References → Assets → Elements → Look. Click any handle pip to manage connections (jump to, disconnect, add new). Drag from a handle as usual to wire upstream nodes.

Handle Color Accepts Description
prompt pink Text producers (Text Prompt, AI Writer, Generate Script, Combine Text, Image-to-Text, Generate Text) + all parameter pickers (as {Label} variable sources) Main prompt text. Picker values are also available as {Picker Label} in the prompt regardless of wiring — variable substitution is workflow-wide.
negative red Text producers “Avoid” string — what the model should not generate. Useful for sharing one negative across many Generate Image nodes.
references cyan Image producers (Upload Image, Generate Image, Edit Image, Image-to-Image, Modify Image, Upscale, Remove Background) Reference images for the provider. Order matters — provider semantics depend on the order of refs.
assets rose Identity nodes (Character, Location, Object, Face) Identity-locked refs with @mention expansion and canonical descriptions. (Renamed from subjects in v2.1.)
elements indigo “Subject / Object” family pickers (Person, Pose, Animal, Vehicle, Weapon, Furniture, Material, Held-Prop, Styling, Instrumentation) Pickers wired here tail-append their value to the prompt at execution time.
look indigo “Look” + “Camera” family pickers (Style, Lens, Lighting, Color Look, Framing, Camera Format, Photographer, Aesthetic, Era, Photo Genre, Mood, Atmosphere, Backdrop, Exposure Settings, Render Quality, Composition Effects, Post-Process Effects, Tone, Camera Motion, Temporal, Transition, Character FX) Pickers wired here tail-append their value to the prompt — same runtime path as the legacy cinematography handle.

Variable defaults: any {Label} reference can carry a fallback with ||{Label || default}. If nothing provides Label, the trimmed default is used; e.g. generate a {person || man} running becomes “generate a man running” when no person is wired, or uses the wired/picked value when it is. {person || } (empty after ||) resolves to nothing when unset.

Unresolved variables: Generate Image composes its prompt through the shared prompt composer, so a plain {person} (no ||) naming a node that exists but produced nothing also resolves to empty text; a {person} naming no node anywhere in the workflow refuses the run with an unresolved_reference error before anything is dispatched or credited. Text that arrives through a wired input (rather than a {Label} reference) is never rewritten.

Variable highlighting: in the prompt editor (config panel and the ⌘E prompt modal), {Label} variables are highlighted — cyan when a matching upstream node is wired (or for built-in template variables like {userPrompt}), amber when nothing upstream provides that label yet. Amber means “nothing wired”, not “will fail”: a {Label || default} variable still resolves to its default at run time. Inside {Label || default}, the default text renders bright when it will actually be injected (nothing wired, or the wired node’s text is empty) and greyed-out with a strikethrough when a wired node’s value overrides it.

Outputs:

Managing connections: Click any handle pip to open a popover that lists currently connected nodes. Each row has a “jump to” button (centers the canvas on the upstream node) and a “disconnect” button. The popover also has an “Add new” button that opens a filtered node picker showing only types compatible with that handle.

Connection validation: Dropping an incompatible connection (e.g., a Character node onto the Prompt handle) is rejected — the line flashes and the connection is not created. Type-aware drop targets help guide users to the right port.

Visual states: Pips have three modes — idle (hollow ring in border color, dim brand-color icon), connecting (drag in progress; this pip is the source OR a valid compatible target → hollow ring in brand color, full-opacity icon), and connected (solid brand-color fill, white icon, count badge revealed on hover/select when ≥2 connections).

Legacy handles are migrated automatically when workflows load:

The migration runs on the frontend (loadWorkflow) plus three defensive backend sites (POST/PATCH, MCP import/update, orchestrator pre-execution) so the rewrite reaches the DB even for workflows touched by external clients.

Supported Providers

Provider Label Description Aspect Ratios
nano-banana Nano Banana Fast drafts, iteration, storyboards 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9
nano-banana-pro Nano Banana Pro Higher detail, production-ready images Same as Nano Banana
nano-banana-2 Nano Banana 2 Updated Nano Banana with web grounding Same as Nano Banana
nano-banana-2-lite Nano Banana 2 Lite Fast, low-cost 1K drafts and iteration (Gemini 3.1 Flash-Lite). Flat 20 credits per image — no resolution tiers. auto, 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 4:5, 5:4, 21:9, 4:1, 1:4, 8:1, 1:8
grok Grok Creative and stylized imagery 1:1, 16:9, 9:16, 3:2, 2:3
grok-2 Grok Imagine 2 Latest Grok (Imagine Image 2.0) — expressive, high-contrast imagery, priced the same as Grok v1. Generations can chain into the free Grok segment map and region-targeted edits (see Edit Image). Attach ONE reference image and it auto-routes through Grok’s segment-map → image-edit chain (grok-2-i2i, same 10-credit price) — the result preserves the reference’s composition while applying your prompt. Extra references beyond the first are ignored. 1:1, 16:9, 9:16, 3:2, 2:3
flux Flux Photorealistic, highest quality output 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3
flux-flex Flux Flex Flexible Flux, fast generation Same as Flux
flux-kontext Flux Kontext Context-aware generation and editing 1:1, 16:9, 9:16, 4:3, 3:4, 21:9
flux-kontext-max Flux Kontext Max Highest quality Kontext generation Same as Flux Kontext
gpt-image GPT Image Text rendering, complex compositions 1:1, 3:2, 2:3
gpt-image-2 GPT Image 2 Higher resolution GPT Image; supports 1K/2K/4K 1:1, 16:9, 9:16, 4:3, 3:4
gpt-image-2-5-flare GPT Image 2.5 Flare The fast one — start here. Higher quality than GPT Image 2 at roughly half the latency. Best for iteration, social/creator content, campaign variants, thumbnails and high-volume work. Resolution-tiered pricing: 15 credits at 1K / 25 credits at 2K / 40 credits at 4K — same as GPT Image 2 at 1K and cheaper above it. auto, 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, 27:16, 16:27, 9:8, 8:9
gpt-image-2-5-sunburst GPT Image 2.5 Sunburst The precise one. Trades generation time for tighter control and detail fidelity — brand-sensitive and production work: packaging, diagrams, ecommerce retouching, polished campaign creative. Same price as Flare; expect a longer run. Same as GPT Image 2.5 Flare
imagen4 Imagen 4 Google’s latest, strong prompt adherence 1:1, 16:9, 9:16, 4:3, 3:4
imagen4-fast Imagen 4 Fast Fast Imagen, lower latency Same as Imagen 4
imagen4-ultra Imagen 4 Ultra Highest quality Google image gen Same as Imagen 4
ideogram-v3 Ideogram V3 Fast text-to-image 1:1, 16:9, 9:16, 4:3, 3:4
qwen Qwen Versatile, good at diverse styles 1:1, 16:9, 9:16, 4:3, 3:4
seedream Seedream Photorealistic, high detail 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9
seedream-5-lite Seedream 5 Lite Latest Seedream, fast and sharp Same as Seedream
seedream-5-pro Seedream 5 Pro Flagship Seedream, best instruction following. Quality-tiered pricing: 3 credits at basic (1K output) / 6 credits at high (2K output). Same as Seedream
z-image Z-Image Fast, lightweight generation. Shortest prompt limit in the catalog: 1 000 characters 1:1, 16:9, 9:16, 4:3, 3:4
wan-2.7 Wan 2.7 Text-to-image, 1K/2K/4K resolution, up to 9 optional reference images 1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 8:1, 1:8
wan-2.7-pro Wan 2.7 Pro Higher quality text-to-image, 1K/2K/4K resolution 1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 8:1, 1:8
flux-2-klein Flux 2 Klein (Open) BFL Flux 2 9B Klein via Replicate — fast, no safety filter. Resolution 0.5 / 1 / 2 / 4 MP (default 1 MP). 3 credits at 1 MP (0 refs), scaling with resolution and reference count. Same as Flux
flux-2-pro Flux 2 Pro (Safety Tolerance) BFL Flux 2 Pro flagship via Replicate — safety_tolerance pinned to 5 (max for Pro). Resolution 0.5 / 1 / 2 / 4 MP (default 2 MP). Per-megapixel pricing: 23 credits at 2 MP (0 refs). Same as Flux
flux-2-max Flux 2 Max (Safety Tolerance) BFL Flux 2 Max via Replicate — safety_tolerance=5, up to 8 reference images. Resolution 0.5 / 1 / 2 / 4 MP (default 2 MP). Per-megapixel pricing: 70 credits at 2 MP (0 refs), 140 credits at 4 MP (0 refs), scaling with resolution and refs. Same as Flux

Choosing between GPT Image 2.5 Flare and Sunburst

They are siblings split by workload, not by generation — same price, same thirteen aspect ratios, same 1K/2K/4K tiers, same 16-image edit cap.

If you are unsure, draft on Flare and finish on Sunburst.

Inpainting & Refine

Once a Generate Image node has a result, you can edit it in place — re-render a painted region (inpaint) or refine the whole image (image-to-image) — without adding a separate Edit Image / Modify Image node.

Inpaint (masked edit)

When the node has a current result, open its config panel and scroll to the Inpainting Mask painter. Paint over the area you want to change:

This works on every image provider, not just one model. A server-side composite floor restricts the change to the masked region (out = base·(1−mask) + result·mask), so even providers that have no native mask parameter produce a clean, localized edit.

Strong instruction-following editors (gpt-image, gpt-image-2, gpt-image-2-5-flare, gpt-image-2-5-sunburst, nano-banana, nano-banana-pro, nano-banana-2, nano-banana-2-lite, seedream, seedream-5-lite, seedream-5-pro, qwen, flux-kontext, flux-kontext-max) additionally get a natural-language region hint injected into the prompt (e.g. “Apply the following change only to the upper-left region…”) for better in-region results. This is automatic — no user action required. Other providers rely on the composite floor alone, which still keeps the edit localized.

The mask comes from either:

Refine from this result

The node also exposes a ↻ Refine from this result affordance. It takes the current result as the base for a full-image image-to-image refine (no mask) and re-runs the provider over the entire frame. Use it for whole-image iteration — “make the whole thing more cinematic”, “warmer grade”, “more detail” — where you want to evolve the image rather than surgically patch one spot.

For providers that expose them, the Strength (i2i denoising) and Guidance Scale sliders appear in the panel and let you control how far the refine moves from the base image.

Refine regions (Grok Imagine 2)

With the grok-2 provider, the panel adds a Refine Regions section powered by Grok’s task-chained editing (see Edit Image):

  1. Detect regions (free) — runs a segment map over the active result and returns named regions (e.g. sky, person, tree) as chips. Hovering or selecting a chip outlines that region in place on the result preview (the region’s exact shape, tinted in the chip’s color).
  2. Tick the regions to change, write an edit prompt, and Apply. Leave nothing ticked for a whole-image edit.
  3. The edit lands as a new version in the node’s result strip — and carries its own task reference, so it can be segmented and refined again, iteratively.

Region editing is grok-2-only: the underlying endpoint references the prior grok-2 generation on the provider side rather than accepting an image, so it can’t serve other providers or uploaded images (results from before this feature shipped lack the task reference and show a re-run hint). A region edit is priced the same as a grok-2 generation; the segment map costs nothing.

Credits

An inpaint or refine edit is one generation at the provider’s normal cost — there is no extra surcharge for the mask or the composite step. The price is exactly the per-provider Generate Image cost listed in Supported Providers above (e.g. nano-banana-pro inpaint costs the same as a fresh nano-banana-pro generation). The same holds for a grok-2 region edit, and its region detection is free.

When the provider’s safety filter blocks a request

A provider’s safety filter can occasionally block a benign prompt. For models the catalog flags as having a non-deterministic filter (currently gpt-image-2, gpt-image-2-5-flare and gpt-image-2-5-sunburst), Nodaro automatically retries the identical request once, at no extra cost, before giving up. A model without that flag — and every model on a second block — fails after a single attempt.

The failed job carries a structured error_hint that an API/SDK/MCP caller can read instead of parsing error_message:

{ "kind": "safety-block", "class": "safety", "retried": true, "suggestedProvider": "nano-banana-pro" }

class is "copyright", "likeness", or "safety"; retried is true only when the automatic retry already ran; suggestedProvider is present only when a fallback model is available for the one that failed. Full shape: API integration §8.

Cinematic direction by id (direction, API / SDK)

On the canvas you set a look by wiring parameter-picker nodes into the look handle. A direct API / SDK / MCP caller does the same thing with the optional direction object on POST /v1/generate-image: a flat map of catalog ids, one key per dimension, which the platform folds into the prompt as its own hint clauses. You send ids; the platform owns the wording, so a saved run picks up improved phrasing instead of freezing the text your client wrote.

"direction": {
  "shotSize": "wide-shot",
  "lens": "wide-24mm",
  "timeOfDay": "golden-hour",
  "style": "anime",
  "mood": ["happy", "joyful"]
}

Full semantics: API integration guide.

The same ids stored on the node

A Generate Image node can carry that same direction object (and the structured prompt fields structured) in its own data, written by an API / MCP author or by an app that emits Nodaro graphs. The canvas honors them: a single-node run, a whole-workflow run and the config panel’s final-prompt preview all fold them the same way, once, at the model call — so the graph stores ids and the wording is produced fresh each run instead of being frozen into the prompt text.

Stored ids are additive to any wired Framing / Lighting / Style picker node: the wired hint lands first, the stored ids after, exactly as two wired pickers of one family behave. A node that carries neither key is untouched — its prompt reaches the model byte-for-byte as before. Node presets and workflow export/import capture the ids along with the rest of the node, which is deliberate: a preset should carry its look.

Best Practices

Common Use Cases

Tips

Trained character routing (Cloud edition)

When you @mention a trained character — a character with a successful LoRA — in the prompt, this node automatically routes through the trained Flux LoRA on Replicate instead of the selected provider. The dropdown provider’s price is replaced by 20 credits/image.

Two or more trained @-mentions in one prompt fall back to the selected provider + reference-image injection (multi-character LoRA composition is Phase 2).