
Make the format readable in one glance
- The title and primary result explain the visual recipe immediately
- The subject and mountain setting remain photographic
- Soft texture and small handwritten notes preview the finished treatment
Wiggly / Format Lab /
Give one existing photo a realistic soft cinematic glow, gentle film texture, and a few restrained handwritten memory captions without changing the subject or scene.
One source image in. 1 inspected image out.
Judge source preservation, realistic soft glow, restrained blur and film grain, clean handwritten memory captions, readable placement, and natural photographic detail.







Exact gathered prompt
Edit this image with a soft cinematic mood, soft glow, gentle blur, dot-grain texture, and a little vintage film feel. Keep it realistic and natural, not AI-generated. Preserve the subject, face, pose, background, framing, and all key details. Add captions based on the mood of the image. Choose only 2–5 clean Gen Z handwritten captions,1–3words each, from this style: POV, Core Memory, Soft Life, No Rush, Found Peace, Good Energy, Touch Grass, Calm > Chaos, Worth It, Still Here, Green Escape, Hidden Gem ,In My Zone, Memory Saved, Out of Office, Better Outside, Lowkey, Slow Days, Stay Soft, Real Ones, Main Era, Safe Place, Just Existing, Tiny Moments, Feels Right, Day Well Spent, Archive This, Weekend Dump, Peak Mood. Place text only on readable background areas. Use thin pastel white, cream, or butter-yellow handwritten style with subtle sketch arrows. Avoid emojis, hashtags, long text, and cheesy quotes
Source: @skaigenerated · model shown: GPT Image 2
Prepare -> Validate -> Transform -> Inspect
One run pinned to the source image, exact gathered prompt, and selected model route.
The 3:4 image and prompt contract checked locally.
One realistic soft-glow film image with restrained handwritten captions from one approved prediction.
Explicit approval required
Automatic file checks plus an actual visual review.
Explicit approval required
SKILL.md--- name: wiggly-soft-glow-filter description: Give one existing 3:4 photo a realistic soft-glow film grade and restrained handwritten memory captions using the exact gathered SKAI prompt. --- # Soft Glow Filter Use the packaged runner and exact prompt. Do not call Replicate separately or create another render path. From the extracted kit's `v3` directory, prepare the local runner first: ```bash npm install npm run format:skai-image -- check --format=soft-glow-filter npm run format:skai-image -- smoke --format=soft-glow-filter ``` Ask one short question: > Which 3:4 photo should I turn into a soft-glow memory? Then initialize the free run. Omit `--model` for Nano Banana 2, or add `--model=nano-banana-2-lite` for economy or `--model=nano-banana-pro` for premium: ```bash npm run format:skai-image -- init --format=soft-glow-filter --run=<id> --input=<absolute-image-path> [--model=<route>] npm run format:skai-image -- validate --format=soft-glow-filter --run=<id> npm run format:skai-image -- estimate --format=soft-glow-filter --run=<id> ``` Stop after `estimate` and ask the user to approve the paid prediction. Only after the user explicitly approves the cost should you supply `--approve-paid`: ```bash npm run format:skai-image -- render --format=soft-glow-filter --run=<id> --approve-paid npm run format:skai-image -- inspect --format=soft-glow-filter --run=<id> npm run format:skai-image -- inspect --format=soft-glow-filter --run=<id> --visual-pass --review-notes="<specific observations>" npm run format:skai-image -- finalize --format=soft-glow-filter --run=<id> --approve-final ``` Hard rules: - Preserve the subject, face, pose, background, framing, and all key details. - Use a user-approved 3:4 input before validation so the fixed route can preserve composition honestly. - Keep the exact gathered prompt unless the user explicitly requests a change. - Use Nano Banana 2 by default, Lite for economy, or Pro for premium. - Add only 2–5 clean captions, each 1–3 words, chosen from the supplied list. - Keep caption lettering thin, handwritten, and pastel white, cream, or butter yellow with only subtle sketch arrows. - Keep the result realistic and natural; use restrained glow, blur, grain, and vintage film texture. - Never add emojis, hashtags, long text, or cheesy quotes. - Validate and estimate before spending, pause for explicit user approval, and never render without `--approve-paid`. - Persist and resume the prediction id. - Never exceed three attempts. - View the output and record specific visual-review notes before finalizing. - Never print, store, or commit `REPLICATE_API_TOKEN`.
requirements.json{
"runtime": {
"node": ">=22",
"commands": ["npm"]
},
"providers": [
{
"name": "Replicate",
"models": [
"google/nano-banana-2-lite",
"google/nano-banana-2",
"google/nano-banana-pro"
]
}
],
"environment": [
{
"name": "REPLICATE_API_TOKEN",
"secret": true,
"requiredFor": ["render", "resume"]
}
],
"notes": [
"All smoke and validation commands are local.",
"The source guide names GPT Image 2; Wiggly's runnable lanes use Nano Banana 2 Lite, Nano Banana 2, and Nano Banana Pro.",
"No Replicate proof call was made for this package.",
"One render attempt is one paid prediction.",
"Paid generation requires explicit approval and is capped at three attempts."
]
}
inputs.json{
"required": [
{
"id": "image",
"type": "image",
"formats": ["jpg", "png", "webp"],
"minimumWidth": 512,
"minimumHeight": 512,
"maximumBytes": 26214400,
"aspectRatio": "3:4",
"aspectRatioTolerance": 0.02
}
],
"question": "Which 3:4 photo should I turn into a soft-glow memory?",
"defaults": {
"model": "nano-banana-2",
"aspectRatio": "3:4",
"outputCount": 1
},
"modelRoutes": {
"economy": "google/nano-banana-2-lite",
"default": "google/nano-banana-2",
"premium": "google/nano-banana-pro"
},
"sourceModel": "openai/gpt-image-2"
}
pipeline.json{
"progress": "Prepare -> Validate -> Transform -> Inspect",
"attemptCap": 3,
"stages": [
{
"id": "prepare",
"output": "One run pinned to the source image, exact gathered prompt, and selected model route.",
"paid": false,
"approvalRequired": false
},
{
"id": "validate",
"output": "The 3:4 image and prompt contract checked locally.",
"paid": false,
"approvalRequired": false
},
{
"id": "transform",
"output": "One realistic soft-glow film image with restrained handwritten captions from one approved prediction.",
"paid": true,
"approvalRequired": true
},
{
"id": "inspect",
"output": "Automatic file checks plus an actual visual review.",
"paid": false,
"approvalRequired": true
}
]
}
prompts/transform.txtEdit this image with a soft cinematic mood, soft glow, gentle blur, dot-grain texture, and a little vintage film feel. Keep it realistic and natural, not AI-generated. Preserve the subject, face, pose, background, framing, and all key details. Add captions based on the mood of the image. Choose only 2–5 clean Gen Z handwritten captions,1–3words each, from this style: POV, Core Memory, Soft Life, No Rush, Found Peace, Good Energy, Touch Grass, Calm > Chaos, Worth It, Still Here, Green Escape, Hidden Gem ,In My Zone, Memory Saved, Out of Office, Better Outside, Lowkey, Slow Days, Stay Soft, Real Ones, Main Era, Safe Place, Just Existing, Tiny Moments, Feels Right, Day Well Spent, Archive This, Weekend Dump, Peak Mood. Place text only on readable background areas. Use thin pastel white, cream, or butter-yellow handwritten style with subtle sketch arrows. Avoid emojis, hashtags, long text, and cheesy quotes
quality.json{
"automatic": [
"The source input is 3:4 within 0.02 so composition can be preserved",
"Exactly 1 decodable JPG, JPEG, PNG, or WebP output",
"At least 640x800 pixels",
"Aspect ratio matches the selected route within 0.02",
"At least 50 KB"
],
"visual": [
"The subject, face, pose, background, framing, and key details remain recognizable",
"Soft glow, gentle blur, dot grain, and vintage film texture remain restrained and photographic",
"The image contains only 2–5 clean handwritten captions of 1–3 words each",
"Every caption comes from the supplied phrase list and sits on a readable background area",
"Lettering is thin pastel white, cream, or butter yellow with only subtle sketch arrows",
"There are no emojis, hashtags, long captions, cheesy quotes, or obviously synthetic details"
],
"finalization": {
"automaticPassRequired": true,
"visualPassRequired": true,
"reviewNotesRequired": true,
"explicitApprovalFlag": "--approve-final"
}
}