# Generate and edit product images

[Explore the generated set](gallery.html): three real Sunburst images, used in the Workshop landing page. [Prompts and provenance](generated/provenance.json) are included.

The gallery includes a generated lamp campaign, product shot and detail image.
The separate editable manifest explores a fictional architecture workspace: a
campaign image, a project illustration and an empty state. Adapt that direction
and its prompts to generate a set for your own project.

Read [the workflow](../../scripts/IMAGE-WORKFLOW.md). Adapt
[the manifest](asset-set.json), validate it offline, then generate when image
usage is within the task's scope:

```sh
python3 .agents/scripts/images.py set .agents/examples/image-studio/asset-set.json --dry-run
python3 .agents/scripts/images.py set .agents/examples/image-studio/asset-set.json --output-dir public/images/studio
```

Commands assume the project root after Workshop installation. In an uninstalled
download, use `Library/scripts/images.py` and
`Library/examples/image-studio/asset-set.json` from the download root instead.
Inspect existing credentials with `python3 .agents/scripts/images.py setup`.
Choose a provider with `--provider openai`, `--provider replicate` or `--provider fal`;
`--model gpt-image-2.5-sunburst` maps to its documented provider ID.
Preflight is `python3 .agents/scripts/images.py preflight` (see the workflow for
which providers verify model visibility and which check local setup only).

The campaign is generated first. Its image is then included with the project and
empty-state requests, alongside the shared direction. Inspect the set for visual
consistency and make focused edits as needed. Run the actual interface after
placing the images; judge the result at desktop and mobile sizes.

Requires Python 3.10+ and an existing OpenAI, Replicate or fal key. The helper
checks the environment, then project `.env.local` and `.env`, without executing
either file or replacing existing variables. Generation uses the selected
provider’s credits. Explicit OpenAI-compatible endpoints are also supported;
see the workflow for their required schema and reference-edit opt-in.
Dry-run does not need credentials or access the network. Existing files are
preserved; use a fresh output directory to explore another direction.
