# Background Creator

> Generate background 3D scenes with EmbodiedGen using scene3d-cli. Use this skill whenever users ask to create room/indoor background scenes from text prompts, pre-generate backgrounds for layout-cli, or control scene3d generation quality/runtime with retry, seed, and gs3d settings.

- Skill: `horizonrobotics/background-creator` (Agent Skill)
- Install (CLI): `npx skillmds@latest add horizonrobotics/background-creator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/horizonrobotics/background-creator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: horizonrobotics (https://skillmd.com/u/horizonrobotics)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/horizonrobotics/background-creator

---


# Background Creator

Unified entry for EmbodiedGen background scene generation via `scene3d-cli`.

## When To Use

Use this skill when users want to:
- Generate indoor/background 3D scenes from text prompts.
- Pre-generate scene assets for `layout-cli`.
- Control `scene3d-cli` runtime/quality via seed, retry, and `gs3d` settings.

## Routing Rule (Core)

Use `scene3d-cli` when input is scene-level text prompts and output target is a background scene (mesh + 3DGS), not single foreground assets.

## Pre-checks

1. Run commands from the repository root.
2. Confirm the active environment is `embodiedgen`.
3. Install scene3d dependencies first if needed:
   `bash install.sh scene3d`
4. If CLI commands are unavailable, run `pip install -e .` to register entrypoints.

## Standard Command Template

```bash
scene3d-cli --prompts "Art studio with easel and canvas" \
  --output_dir outputs/bg_scenes \
  --seed 0 \
  --gs3d.max_steps 4000 \
  --disable_pano_check
```

## Common Parameters

- `--prompts`: one or more scene text prompts.
- `--output_dir`: output root directory for generated scenes.
- `--seed`: random seed for reproducibility.
- `--n_retry`: panorama generation retries.
- `--real_height`: force target real-world room height in meters.
- `--pano_image_only`: generate only panorama image (debug/fast validation).
- `--disable_pano_check`: skip panorama quality check.
- `--keep_middle_result`: keep intermediate training artifacts.
- `--gs3d.max_steps`: training steps for 3DGS optimization.

## Output Conventions

Each prompt is saved under `<output_dir>/scene_xxxx/`, typically including:
- `gs_model.ply`
- `mesh_model.ply`
- `pano_image.png`
- `prompt.txt`
- `video.mp4`
- `gsplat_cfg.yml`

## Runtime Expectations

- Typical full generation time is around 30 minutes per scene.
- Use `--pano_image_only` for quick prompt validation before full generation.

## Failure Handling and Retry

1. OOM or GPU pressure: reduce concurrency and lower `--gs3d.max_steps`.
2. Unstable scene quality: increase `--n_retry` or adjust prompt specificity.
3. Missing outputs: verify `--output_dir` permissions and use absolute paths.

