> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runchat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Iterate on text-to-image prompts

> Extract one piece of a prompt into its own node and explore variations without rewriting

Generate a series of architectural concept images by extracting a single variable (like material) from a prompt and driving it from a separate node. Once the pattern is set up you can swap concrete for rammed earth or translucent glass without touching the rest of the prompt.

**Time:** 8 minutes
**You'll need:** A Runchat account ([free Starter plan](https://runchat.com) is fine)

<iframe width="100%" height="400" src="https://www.youtube.com/embed/iaqxFcuJpLY" title="Iterating on text-to-image prompts in Runchat" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

<Card title="Open the example workflow" icon="arrow-up-right-from-square" href="https://runchat.com/editor?id=3379f8e9-213b-451c-aad4-92a7514b769d">
  Make a copy of this workflow in your account to follow along.
</Card>

## 1. Drop in a Create node

Open a new workflow. Double-click the canvas and type `Runchat Image` to add a Runchat Image node. Runchat Image is fast and cheap, so it's the right model for this kind of exploration. You'll swap it for something higher-quality once you find a direction you like.

## 2. Write a baseline prompt

Architectural prompts work best when they mention three things:

1. **Subject**: what's in the image
2. **Lighting**: golden hour, raking light, overcast, dawn
3. **Rendering style**: naming "architectural photography" or a photographer pushes the model toward grounded imagery instead of generic AI aesthetic

Avoid generic adjectives like "cinematic" or "beautiful". Specific words and named references give the model something to latch onto.

For this example, paste in:

```text theme={null}
A modernist concrete pavilion at golden hour, raking side light, deep
shadow, architectural photography
```

Run the node. You'll get a single image.

## 3. Generate variations

One image is rarely enough when you're feeling out a concept. The variations setting lives on the settings bar at the bottom of the node. Turn it up to **4** and run again.

You can page through results in **Pages view**, or flip to **Table view** to see them all side by side.

## 4. Extract a variable into its own node

Right now the prompt is one lump of text. Swapping "concrete" for "rammed earth" means rewriting the prompt every time. Instead, pull that word out into its own node:

1. Add a [Text Input](/node-reference/nodes/inputs/text) node and type `concrete`
2. Rename its output to `material` (so it's clear what it does later)
3. Click into the Runchat Image prompt field
4. Press `@` to open the reference picker
5. Pick the `material` input, it drops into your prompt as a tag
6. Edit the prompt so the tag sits where the word `concrete` used to be

Now changing the Text Input from `concrete` to `rammed earth` to `translucent glass` updates the image prompt automatically. Each value gives you a fresh set of variations without rewriting the prompt.

For more on inline references, see [Data Referencing](/concepts/data/data-referencing) and [Connecting Nodes](/concepts/editor/connecting-nodes).

## 5. Drive the variable from an agent

A Text Input is one source. You could swap it for any other node that produces text, including an [Agent](/node-reference/nodes/agent) node that generates a list of materials for you.

1. Add an Agent node
2. Set its output format to **list** in the settings bar
3. Prompt it: `Generate 5 architectural materials for a pavilion. Return a single word or short phrase per item.`
4. Run the agent
5. In the image prompt, reference the agent's list output with `@` instead of the Text Input

Because the agent's output is a list, each item becomes a separate run of the image model. With variations set to 2, a list of 5 items gives you 10 images out of one run.

<Info>
  Drop variations down to 2 when driving from an agent list. Otherwise a list of
  5 items at 4 variations each blows out into 20 images per run. See
  [Credits](/concepts/credits) for cost details.
</Info>

## 6. Swap models for the final pass

Once you spot a direction you like, swap the Runchat Image model for [Imagen 4 Fast](/concepts/credits) or Flux 2 Pro for higher-quality output. Keep your prompt and the rest of the workflow, just change the model on the Create node.

This is the iterate-cheap-then-finalise pattern, covered in more detail on the [Create node](/node-reference/nodes/create) page.

## Next steps

* [Make controlled edits to AI images](/examples/masked-image-edits), refine specific parts of an image without regenerating the whole thing
* [Generate variations of a render from a Rhino screenshot](/examples/rendering-from-rhino-screenshots), apply the same pattern to AEC visualisation
* [Train a custom LoRA](/examples/training-a-lora), when references aren't enough to capture your studio's design language
