---
name: headphone-portrait
version: 0.1.1
description: Create a bold recruitment Open Graph card: a close editorial portrait of an original person wearing headphones filling the right half, with huge airy white copy on a saturated red left field. Runs through SandBase with one approved 16:9 PNG per brief, recoverable execution state and bilingual reports.
---

# Bold Recruitment Portrait

## Example and deliverable

The bundled brief describes a fictional brand card: one brand name, one short
headline and the product or page context. A successful execution produces
`og.png`, `report.json`, `report.en.html` and `report.zh-CN.html` in the
selected language. Reports show the actual dimensions, execution ID, recorded cost
and the remaining human review.

No official real run is bundled for this release; the sample reports are labelled
mock fixtures and no image was generated for them.

## When this fits

- The user invokes `/headphone-portrait`.
- a website, launch, article, product, event, or social share needs a distinct Open Graph image.
- a team wants several cards to share one repeatable art direction.
- a reference is supplied for high-level visual analysis and the user owns it or is authorized to use it.

Do not use this Skill to reproduce a protected logo, mascot, campaign asset, recognizable person, proprietary interface, or trademarked product design.

## Prepare the content

Use the bundled [English brief](assets/sample-brief.en.json) or
[Chinese brief](assets/sample-brief.zh-CN.json):

```json
{
  "brand": "Brand or project name printed on the card",
  "headline": "One short headline",
  "context": "Product, audience or page context",
  "tone": "Optional emotional tone",
  "language": "en"
}
```

Require `brand`, `headline` and `context`. Keep the headline short enough to stay
readable at link-preview size, and preserve the brand name exactly. `language`
describes the card copy; `--lang` chooses CLI and report copy. Both default to `en`;
`zh` maps to `zh-CN`, and unsupported locales fall back to English.

Read the [visual workflow](references/workflow.md) and
[runtime boundaries](references/runtime.md) before submitting. One approved card
allows one submission. Never purchase an automatic replacement.

## Execute in isolation

Use Node.js 18+ in SandBase Sandbox; no dependencies need installation. Local
commands read `SANDBASE_API_KEY` only from the process environment. Optionally
set `SANDBASE_API_BASE` to an allowed SandBase HTTPS address. Never put a model
key in a brief, command argument or file.

```sh
node scripts/generate.mjs plan --brief assets/sample-brief.en.json --out /tmp/card-plan
node scripts/generate.mjs run --brief assets/sample-brief.en.json --out /tmp/card-run --lang en --budget 0.30
node scripts/generate.mjs resume --brief assets/sample-brief.en.json --out /tmp/card-run --lang zh-CN
```

`plan` makes no network call. `run` uses `openai/gpt-image-2.5-flare` with high
quality, 2k resolution, 16:9 and PNG. The inspected estimate is USD 0.15 per
card; default and maximum preflight budget is USD 0.30. This cannot guarantee
an upstream transactional limit. Unknown cost remains `null`.

Existing output directories reuse their execution. A changed brief, version or
model is rejected. A submission interrupted before saving its ID requires
reconciliation in SandBase before a new approved output directory is created.
Do not erase the state to force another purchase.

## Review the result

PNG checks cover signature, chunks, CRCs, decompressed pixel stream, size and
dimensions. Native model rounding may differ from exact 16:9 by up to 2%; the
report states actual dimensions. There is no silent resize, crop or fixed text
overlay.

Compare the brand name and headline character by character with the approved
brief. Inspect the 6% safe area, contrast, composition and the
identity-replacement boundary at full resolution and at 320 × 180.
`validation.ok` verifies the file contract; `text_accuracy: needs_review`
preserves the human review of generated lettering. File integrity is not visual
approval, and no generated card may keep a source logo, mascot, campaign asset,
person or trademarked silhouette.

## Hosted execution

The [hosted entrypoint](references/hosted.md) claims an ephemeral credential,
runs the same pipeline, uploads the PNG and returns both report languages.
Lab owns orchestration and storage; it does not duplicate the prompt.

## FAQ and failure boundaries

- **Exact text?** Requested, but model lettering can still fail. Review it.
- **May I reuse a real brand's look?** The visual direction only. Invent new
  artwork; never reproduce a logo, mascot, campaign or interface.
- **Resume cost?** Resume polls the same execution and downloads its result.
- **Broken output?** Keep state and ID. Resume transient downloads; a terminal
  model failure requires a decision before another approved attempt.
- **Secret storage?** None persistently. Reports, state and errors are redacted;
  model keys go only to allowed SandBase hosts, never media downloads.
- **Image branding?** No watermark is added. SandBase identity belongs to the
  package, Lab interface and reports.

See [report schema](references/report-format.md).
