Good Person Card · skill publik Open Skill
Good Person Card
Good Person Card
Internal
0 0 0
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3656543/2026-10-14/2cx6pdqk.jpg
# Good Person Card
Turn the user’s uploaded photo into a **warm, comforting** version of the same scene, with **one short positive or self-motivational line** integrated into the image (readable typography, not a separate caption in chat only).
There is no structured project state—progress lives in the conversation and canvas assets.
## When to use
- User uploads a photo and wants it to feel warmer, softer, or more “cozy.”
- User wants **encouraging / motivational / wholesome text on the image** (good-person card, kindness note, daily affirmation).
- User asks to redo the quote, mood, or model quality for a card they already started.
## Inputs you need
| Input | Required | Notes |
|-------|----------|--------|
| Reference image | **Yes** | User attachment or an `asset_id` / URL from this chat. |
| Quote text | Preferred | If missing, propose 2–3 options (see `references/quotes.md`) and use the one they pick—or the best fit if they say “surprise me.” |
| Quote language | Optional | Default: **English** for on-image text and chat unless the user explicitly asks for another language. |
| Orientation | Optional | Match the reference (portrait / landscape / square). Use `recognize_image` only when aspect is unclear. |
## Model selection (image-to-image only)
Use **`generate_image` with `input_urls=[reference]`**. Allowed channels—**do not use bare `i2i` or physical model names**:
| Channel | When to use |
|---------|-------------|
| `i2i.hd.lite` | Default for a quick warm card or first draft. |
| `i2i.hd` | User wants higher visual quality, sharper details, or retries after a lite result they dislike. |
| `i2i.hd.gpt` | User asks for the “best” text on image, maximum quote legibility, or explicitly names GPT / smart i2i. |
If the user does not specify quality, start with **`i2i.hd.lite`**. Escalate to `i2i.hd` or `i2i.hd.gpt` on request or after a failed legibility retry.
`list_models` is for troubleshooting only—do not pick channels from memory outside the table above.
## Steps
1. **Confirm the reference**
- If no image is attached, ask the user to upload one before generating.
2. **Quote**
- If they did not provide text, call `read_skill_file(good-person-card, references/quotes.md)` and offer a few choices aligned with their mood (gentle vs bold motivation).
- Keep quotes **short** (roughly 4–18 words) so they fit on the image.
3. **Optional: understand the photo**
- When composition matters (faces, pets, landscapes), call `recognize_image` on the reference to avoid covering key subjects with text.
4. **Generate the warm card (single output)**
- Call `generate_image` with:
- `model`: one of `i2i.hd.lite`, `i2i.hd`, `i2i.hd.gpt` (see table).
- `input_urls`: `[reference]` (asset_id preferred when available).
- `orientation`: `portrait` | `landscape` | `square` to match the reference when known; omit only if unknown (platform default applies).
- `prompt`: English (see template below)—embed the **exact on-image quote** (English by default).
- `name`: short canvas title, e.g. `Warm card` or first few words of the quote.
- `entity_type`: `warm_cards`
5. **Reply**
- Summarize mood + quote in **English**. **Do not paste long raw URLs**—the asset appears on the canvas.
6. **Iterations**
- New quote or warmer look → regenerate with the **same reference** (or the last good output if they prefer that as the new reference—confirm if ambiguous).
- “Clearer text” → retry with `i2i.hd.gpt` or `i2i.hd` and tighten the typography lines in the prompt.
## Prompt template
Use one prompt per call; replace `{QUOTE}` and tune placement:
```text
Image-to-image edit of the reference photo. Keep the same main subject, identity, and overall composition. Transform the mood to warm, cozy, and comforting: soft golden-hour lighting, gentle warm color grading, subtle soft glow, inviting atmosphere. Do not add new people or change the core scene into something unrelated.