> ## 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.

# Generate appearance variants

> Render a simulated trajectory under different lighting and material descriptions.

Use Cosmos3 Nano Sim Transfer to explore visual variation without recording a new robot trajectory.
For example, render the same tabletop motion with bright overhead lighting, dim side lighting, or a
different tabletop material. Keep your control sequence fixed and change the scene description.

## Run a comparison

Use the [cookbook appearance-variant workflow](https://github.com/reactor-team/reactor-cookbook/tree/main/robotics/simulation/cosmos-transfer#generate-appearance-variants)
to render the same prepared depth with different captions and separate output directories. For
complete frame exports, use its incremental PNG example. Neither example provides durable batch
jobs or dataset management.

## Compare variants

1. [Render a depth sequence](/robotics/cosmos/nano-sim-transfer/render-a-sequence) with a caption
   describing the scene and lighting.
2. Wait for generation to finish. Reuse the uploaded source and seed, changing only the caption to
   compare appearance conditions.
3. Inspect whether task-relevant objects and geometry remain consistent with the simulator.
4. Evaluate whether those observations help your training or evaluation task before expanding the
   dataset.

For this workflow, sustained throughput and usable output matter more than interactive latency. The
uploaded-video workflow streams a preview. To collect complete frame batches, use the
[step interface](/robotics/cosmos/nano-sim-transfer/connect-a-simulator) and save each RGB PNG
result alongside its simulator timestamps, actions, camera settings, and scene description. Start a
new episode for each variant. The two rendering modes do not promise identical pixels for the same
seed.

## Keep labels aligned

Generated appearance can change task-relevant details. Check object identity, boundaries, and
visibility before reusing simulator labels. Retain the original depth and state so you can audit
samples. Dataset storage, job scheduling, and training remain in your application.


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