# World model seed images and prompts: a practical guide

> Pick seed images and write prompts that keep a navigable world model stable: matching image and prompt, framing for movement, world events and control rhythm.

Source: https://windflow.online/guides/world-model-seed-images-and-prompts · Updated 2026-11-03 · Windflow Labs

A navigable world model starts from two inputs: a **seed image** that fixes where the world begins, and a **prompt** that describes what the world is. After that, your controls move through it and the model invents what lies beyond the first frame. Most problems people hit with these models (drift, a world that ignores the keys, a character that changes face) come down to how those two inputs were chosen.

This guide applies to the world models on Windflow that start from a seed image and a prompt: [ABot-World-0-5B](https://windflow.online/models/abot-world-0-5b), [DreamX-World-5B](https://windflow.online/models/dreamx-world-5b) and [LingBot-World 2.0](https://windflow.online/models/lingbot). For their APIs, see the [ABot World](https://windflow.online/guides/abot-world-api), [DreamX World](https://windflow.online/guides/dreamx-world-api) and [LingBot](https://windflow.online/guides/lingbot-api) guides. [Matrix-Game 4.0](https://windflow.online/guides/matrix-game-4-api) is different: it renders a bundled game and takes neither input.

## Make the seed and the prompt agree

The seed image fixes the starting geometry: what is where, the materials, the light. The prompt biases everything the model generates beyond that first frame. When they agree, the world opens cleanly; a snowy prompt over a summer seed asks for two places at once.

Write the prompt as a description of the place the seed already shows, then extend it:

| Weak | Strong |
|---|---|
| An amazing fantasy world. | A stone canal town at dusk, wet cobblestones reflecting lantern light, narrow walkable alleys leading toward a bridge. |
| Cyberpunk. | The same rainy neon street as the image, puddles reflecting pink signs, steam rising from vents, the street continuing past the corner. |

The strong versions give the model a palette and a route. Keep the description of the world separate from any action you want: the prompt says what the world is, the controls say where you go.

Stage both together with `set_conditioning` before `start`. All three models need both.

## Choose a seed you can move through

The seed decides what movement can reveal. Good seeds have:

- **A clear route**: a path, a street, a corridor, a trail that leads somewhere.
- **Depth**: foreground, middle ground and background, so moving forward has something to approach.
- **Stable landmarks**: a tower, a bridge, a distinctive building that anchors where you are.

Flat compositions, close-up portraits and abstract textures give the model little to navigate.

Match the seed to the model's canvas. DreamX-World-5B streams portrait 704 × 1280, so a path receding up the frame works better than a wide vista that will be cropped. ABot-World-0-5B and LingBot-World 2.0 stream landscape frames.

## For a third-person world, frame the character

ABot-World-0-5B is third-person: the movement keys walk an on-screen character, and the camera keys orbit around them. Choose seeds where the character is clearly visible, mid-frame. Name the character in the prompt (`A traveler in a red cloak walks a mountain trail at dawn, low mist, warm light`), because the identity words you state are what later events preserve.

On ABot-World, character identity is anchored by pre-generated reference views that exist only for curated seed images. Your own seeds work too; for them, simple, distinctive designs, a strong silhouette and one dominant colour, hold up best over a long session.

## Use prompts as world events

Once the world is running, a new prompt changes it. How the change lands depends on the model:

- **ABot-World-0-5B**: `set_prompt` transitions the running world without a restart. Rain, nightfall or new scenery blend in over the next blocks.
- **DreamX-World-5B**: `set_prompt` updates the world prompt during the run. The upstream project describes prompt-driven world events, single or composed.
- **LingBot-World 2.0**: changing the world prompt or seed mid-stream restarts the sampler, so treat it as a new beat. Its `trigger_event` command layers a one-shot event prompt onto the base prompt at the next block, without a restart.

Write event prompts as changes to the same world, and repeat the anchors you want kept:

| Intent | Event prompt |
|---|---|
| Weather turn | The same trail and the same traveler as rain begins, wet stone, grey light |
| Time shift | The same street at nightfall, lanterns lighting the path |
| New scenery ahead | The trail opens onto a pine forest, same traveler, same light |

For a completely different world, start a new session from a new seed.

## Send controls as state, with rhythm

All three models sample your controls at block or sequence boundaries rather than every frame, and movement is persistent state.

- Send the complete set of held keys on every press and release (`set_input_state`), and send an empty set when the window loses focus, or the world keeps walking.
- Hold one movement and at most one look direction at a time. Steady keys read most clearly.
- On a third-person world, move first and then frame. Walking and orbiting the camera at the same time is the least stable combination.
- Acknowledge the press in your interface as soon as `input_accepted` arrives, and let the picture follow at the next boundary.

## Tune the world

| Symptom | Likely cause | What to change |
|---|---|---|
| The opening frames do not match the seed | The prompt describes a different place | Rewrite the prompt to describe what the image shows |
| The world moves away from the opening look | Long session | Restate the world with a scoped event prompt, or restart from the seed |
| The character's look shifts | Identity not stated, or an intricate design | Name the character's features in every prompt; use simpler designs |
| Movement does nothing visible | Seed has no route or depth | Pick a seed with a clear path and landmarks |
| The world keeps moving after release | A key release was missed | Send an empty `set_input_state` on `blur` |

## FAQ

### Do I need a seed image?

Yes, for ABot-World-0-5B, DreamX-World-5B and LingBot-World 2.0. Each starts from a seed image and a prompt, staged together with `set_conditioning`.

### Can I change the world while I walk through it?

Yes, with a prompt. On ABot-World the world transitions without a restart; on LingBot-World 2.0 use `trigger_event` for a seamless event, since a new base prompt restarts the sampler.

### How do I keep a character consistent?

On ABot-World, start from a curated seed, which comes with identity anchors. With your own seed, keep the character design simple and repeat their features in each event prompt.
