Newspaper Photo · skill pubblica Open Skill
Newspaper Photo
Newspaper Photo
Trailer
0 0 0
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3656543/2026-10-14/2gwenvhc.jpg
# Newspaper Photo
Turn the user's uploaded photo into **one** newspaper-style image: masthead, headlines, columns, and print texture, with the photo as the main story illustration while **preserving the subject's identity** from the reference.
## When to use
- User uploads (or points to) a photo and wants it **on a newspaper** / **in the news** / **报纸效果**.
- User wants a vintage broadsheet, modern tabloid, or local daily front page featuring their image.
- User wants to **regenerate** with a different headline, date, language, or layout (reuse the same or a new reference photo).
## Model selection (I2I only)
All generation uses **`generate_image`** with the user's photo in **`input_urls`** (first URL = primary reference). **Never** use physical model names; use these channels only:
| Channel | When to use |
|---------|-------------|
| `i2i.hd.lite` | User asks for a **quick preview**, draft, or low-latency try; or first pass when they have not chosen quality yet and you offer a fast option. |
| `i2i.hd` | **Default** for the final deliverable: balanced quality and layout fidelity. |
| `i2i.hd.gpt` | Complex **typography-heavy** layouts, long or bilingual headlines, dense columns, or when `i2i.hd` mangled text or layout; user explicitly asks for "best text/layout" quality. |
If the user does not specify quality, run **`i2i.hd`** once. Offer `set_guidance` to retry with `i2i.hd.gpt` or a lighter `i2i.hd.lite` preview.
Optional sanity check: `list_models(model_type='image')` only if a call fails with an unknown channel—do not substitute other channels.
## Workflow
1. **Inputs** — Confirm at least one reference image (user upload or asset in the thread). If missing, ask for a photo before generating.
2. **Understand the photo** — Call `recognize_image` on the reference to infer subject, mood, and plausible headline angles (do not paste raw JSON to the user).
3. **Brief** (defaults if user is silent):
- **Orientation**: `landscape` (typical newspaper spread); `portrait` only if user asks for a vertical front page or phone wallpaper.
- **Resolution**: omit `resolution` (platform default `720P`) unless user asks for print-quality (`1080P` / `2K`).
- **Style**: vintage yellowed newsprint, clean modern daily, or red tabloid—match user words or default **classic broadsheet**.
- **Copy**: headline + subhead + dateline; headline language follows **user's message language** unless they ask otherwise.
4. **Generate** — One **`generate_image`** call:
- `input_urls`: `[user photo URL or asset reference]`
- `model`: per table above
- `orientation`: from brief
- `name`: short title, e.g. `Front Page - {headline slug}`
- `entity_type`: `storyboard_images`
- `add_to_canvas`: `true`
- `prompt`: English (see `references/prompt-templates.md` via `read_skill_file` when drafting)
5. **Deliver** — Summarize headline and style in natural language; **do not** dump long URLs. On failure, report the error and suggest retry with another channel from the table.
## Edits and retries
- **New headline / date / style only**: same `input_urls`, new prompt, same or upgraded model (`i2i.hd.gpt` if text was wrong).
- **Different photo**: new reference URL, full workflow from step 2.
- **Quick variant**: `i2i.hd.lite` for speed; offer upgrade to `i2i.hd` or `i2i.hd.gpt`.
## Collaboration
- Simple one-shot: skip `write_todos`. Multi-step (analyze → confirm headline → generate): use `write_todos` with one `in_progress` item at a time.
- After a successful canvas result, call `set_guidance` in the **same turn** as the final message with 2–3 actions, e.g. change headline, switch to tabloid style, try `i2i.hd.gpt` for sharper text.
## References
| File | Read when |
|------|-----------|
| `references/prompt-templates.md` | Building or revising the `generate_image` prompt |
| `references/layout-styles.md` | User asks for a specific newspaper era or genre |
## Notes
- **NSFW / violent / illegal** requests: refuse politely;