Ghostlight/scripts/README.md
2026-05-03 13:00:41 +01:00

59 lines
2.2 KiB
Markdown

# Ghostlight Scripts
## BFL Image Generation
`generate_bfl_images.py` submits prompts to the Black Forest Labs async image
API, polls the returned `polling_url`, downloads the signed `result.sample`
image immediately, and writes a metadata receipt beside the image.
For Ghostlight visual-plan modifiers, the script uses the durable continuity
workflow:
1. Generate the scene base image from the assembled base prompt.
2. Save the base image locally.
3. Send that base image back as `input_image`.
4. Send only the selected modifier prompt as the edit instruction.
Dry-runs write `.base.prompt.txt` and, when modifiers are selected,
`.edit.prompt.txt` separately so the two prompts can be inspected before
credits get thrown into the machine.
The script reads the API key from `BFL_API_KEY` first. If that is not set, it
falls back to `E:\Projects\gamecult-ops\bfl-api.txt`. It never prints the key.
Dry-run a direct prompt:
```powershell
npm run images:bfl -- --prompt "A maintenance yard in a rotating asteroid habitat" --dry-run
```
Dry-run one Ghostlight visual scene prompt:
```powershell
npm run images:bfl -- --visual-plan examples\visual\pallas-species-strikes.branch-and-fold.v0.visual.json --scene-id pallas_yard_wake --dry-run
```
Dry-run a base scene plus one edit modifier:
```powershell
npm run images:bfl -- --visual-plan examples\visual\pallas-species-strikes.branch-and-fold.v0.visual.json --scene-id pallas_ilya_arrival --global-modifier-id formal_stoppage_visible --dry-run
```
Submit one paid render:
```powershell
npm run images:bfl -- --visual-plan examples\visual\pallas-species-strikes.branch-and-fold.v0.visual.json --scene-id pallas_yard_wake --width 1536 --height 864 --output-format png --yes
```
If modifier ids are supplied, one visual scene costs two BFL jobs: one base
generation and one edit pass from that base image.
Render every base scene from a visual plan:
```powershell
npm run images:bfl -- --visual-plan examples\visual\pallas-species-strikes.branch-and-fold.v0.visual.json --all-scenes --width 1536 --height 864 --output-format png --yes
```
Generated images and receipts go under `experiments/images/`, which is ignored
by git. Move curated artifacts elsewhere deliberately if they need to become
project assets.