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

> ## Agent Instructions
> To build and serve your own model, start at /deploy/development/quickstart and /deploy/development/overview. Deploying is the default path: reactor init scaffolds a workspace, reactor auth login authenticates, and reactor model deploy registers the model, publishes the release with the weights/ folder, and activates it on Reactor's GPUs, in one command from that workspace. Docker must be running, because the publish step builds the image locally. Bump model.version in reactor.yaml before redeploying a change, because a release that already has an image is reactivated as it is. Deployment access is granted per account, so contact team@reactor.inc if a deploy is refused. Every key in reactor.yaml is documented at /deploy/platform/reactor-yaml. Model code imports reactor_runtime; Python client code imports reactor_sdk. The runtime overview explains the model interface. Running the model on your own machine with reactor run is optional and needs a GPU you attach with --gpus; /deploy/development/local-testing covers that loop and pairs a complete brightness model with a Python client test in a separate brightness-test workspace.
> Reactor hosts multiple models, each with its own connect slug (modelName) and command/event schema. The video model catalog — slug, typed SDK package, and links to its schema — is at /model-api-reference/overview. Robotics policy documentation starts at /robotics/overview; X-WAM observations, actions, and client integration are under /robotics/xwam/; Cosmos3 Nano Policy DROID is under /robotics/cosmos/nano-policy-droid/. Some models expose one slug per experience (e.g. HappyOyster); always take the slug from the model's own pages, never guess it.
> Fastest path to a working app: `npx create-reactor-app my-app --model=<slug>` scaffolds a complete app with secure auth wired up. Typed TypeScript SDKs are published as @reactor-models/<model>; Python uses the base reactor-sdk package.
> Auth: exchange an API key (rk_...) for a JWT via POST https://api.reactor.inc/tokens from your server. Never put the API key in client-side code.
> Append .md to any docs URL for clean Markdown. Search these docs via the MCP server at https://docs.reactor.inc/mcp.

# EdenLive prompt guide

> Match your video, reference image, and prompt to guide an EdenLive world.

Send EdenLive a video feed, one reference image, and a text prompt. The video guides the layout,
camera, and motion. The reference and prompt guide the appearance. Use a reference and prompt that
match the scene in the video.

## Match the reference to the opening view

Capture a frame from the view you plan to stream. In a 3D scene, place the player and camera before
you capture it. Restyle the frame with an image editor or image-generation tool, keeping the camera
angle, perspective, and positions of the main objects. In a third-person view, keep the character in
the same position and at about the same size.

EdenLive scales and center-crops the reference to 1280 × 704. Check the crop before you start,
especially around objects near the edges. The generated output is also 1280 × 704.

| Do | Do not |
| - | - |
| Change materials, lighting, and visual style while retaining the scene layout. | Replace the opening view with an unrelated composition. |
| Keep the camera and player at the captured pose until you start the world. | Capture a reference, then move to a different view before starting. |
| Check where the main objects and character appear after cropping. | Assume an image with a different aspect ratio preserves its full framing. |

In an image-generation tool, try this instruction to restyle the captured frame:

```text theme={"theme":{"light":"github-light","dark":"github-dark-high-contrast"}}
Restyle this campground as a cinematic environment with natural materials,
soft evening light, and warm firelight. Keep the camera angle, perspective,
and positions of the tent, benches, campfire, trees, and fence.
```

Use that instruction in your image tool and upload the resulting image as your reference. Then write
a scene prompt for EdenLive.

## Describe the scene you want to see

Describe the setting and what appears in it. Specify materials, lighting, or other details that
matter to the appearance. If a simple shape represents a character, describe who you want to see in
its place. Match that description to the reference image.

```text theme={"theme":{"light":"github-light","dark":"github-dark-high-contrast"}}
A woodland campground in a cinematic, realistic style. A canvas tent stands
near a stone-ring campfire between two wooden benches. Pine trees, bushes,
boulders, and a timber fence surround the clearing. Natural wood and stone
textures, soft evening light, and warm firelight.
```

Adapt this prompt to your own scene and reference image. For a third-person scene with a
capsule-shaped player, you could add:

```text theme={"theme":{"light":"github-light","dark":"github-dark-high-contrast"}}
The capsule represents a traveler in an ochre jacket. Show the traveler at
the capsule's position and approximate scale as the player moves.
```

Test these prompts with your own scene. Movement, collisions, and game rules remain in your app, and
its rendered video guides the camera movement and action.

| Do | Do not |
| - | - |
| Describe visible details, such as canvas fabric, rough stone, or warm firelight. | Rely only on vague instructions such as "make it look better." |
| Use the same character description in the prompt and reference. | Ask for a different character or style than the reference depicts. |
| Implement movement, collisions, and objectives in your app. | Expect prompt text to implement game logic or change the scene's geometry. |

Use a nonblank prompt of up to 4096 characters. See
[`set_prompt`](/model-api-reference/eden-live/schema#set_prompt) for the command format.

## Change the appearance during a world

Send a new prompt with `set_prompt`. It applies from the next generated chunk, while EdenLive
retains the world's visual history. A large style change can appear gradually. Updating the prompt
leaves a paused world paused.

For example, keep the campground and change its lighting:

```text theme={"theme":{"light":"github-light","dark":"github-dark-high-contrast"}}
A woodland campground with the same canvas tent, stone-ring campfire,
wooden benches, and surrounding pine trees. Cool moonlight lights the
clearing, with warm firelight on the nearby wood and stone.
```

To replace the reference image:

1. Pause the world with `set_paused`.
2. Upload the new image.
3. Call `set_image` with the upload reference. This ends the current world.
4. Call `start` to create a new world from the image. See
   [the schema guide](/model-api-reference/eden-live/schema#set_image) for the full sequence.

| Do | Do not |
| - | - |
| Change one aspect at a time when comparing results. | Change the image, prompt, and video together and attribute the result to one input. |
| Resume a paused world when you want to see a prompt update. | Expect a prompt update to resume generation or reset the world's visual history. |

## Try a webcam or another video source

In a custom client, `source_video` can carry a webcam feed or video played from a file. Publish that
video at a steady 10 to 60 fps and use `set_source` with `source: "client"`. The
[tutorial](/model-api-reference/eden-live/tutorial) shows how to publish video from a canvas.

Create the reference from the view where you plan to start the video. Check the framing and
orientation of the frames your client actually sends. For a webcam, check whether mirroring affects
only the preview or also the transmitted video. Keep the camera steady for your first test, then
introduce movement gradually.

| Do | Do not |
| - | - |
| Match the reference to the transmitted video, including its crop and orientation. | Assume the browser preview and transmitted frames always match. |
| Start file playback from the position used to create the reference. | Let playback advance to an unrelated shot before starting the world. |

Our examples use rendered 3D scenes. We have not validated output quality for webcams or prerecorded
video, including moving subjects. Treat the suggestions above as a starting point for your own
tests.

## See also

* [EdenLive overview](/model-api-reference/eden-live/overview)
* [Schema reference](/model-api-reference/eden-live/schema)
* [EdenLive tutorial](/model-api-reference/eden-live/tutorial)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.