Wiggly / Format Lab /

halo-effect

agent-ready
v1.0.0

Halo Effect

Turn one portrait into a dramatic, high-contrast studio image with a bright rim-light halo and a near-black background.

One source image in. 1 inspected image out.

Download runnable kit

Gathered source proof

Judge identity preservation, clean rim-light separation, controlled semi-silhouette exposure, black-background discipline, and cinematic contrast.

Football Rim Glow
Nano Banana Pro

Football Rim Glow

  • The footballer, jersey, ball, and frontal pose remain recognizable
  • Bright edge light cleanly separates the body from the black background
  • The controlled facial shadow creates a dramatic semi-silhouette
Alpine Rim Portrait
Nano Banana Pro

Alpine Rim Portrait

  • The seated pose, dark technical outfit, and body proportions remain intact
  • A crisp halo traces the hair, shoulders, and arms
  • The low-key studio treatment stays photographic and clean
Sunglasses Halo Portrait
Nano Banana Pro

Sunglasses Halo Portrait

  • The sunglasses, hair, knit top, and three-quarter pose remain recognizable
  • Strong backlight outlines the head and shoulders without flattening the subject
  • The black background turns an outdoor portrait into a convincing studio frame
Sea Portrait Halo
Nano Banana Pro

Sea Portrait Halo

  • The subject's face, wet hair, crossed-arm pose, and physique remain recognizable
  • Rim light traces both shoulders and creates sculptural separation
  • The semi-silhouette stays moody without losing the portrait
City Candid Halo
Nano Banana Pro

City Candid Halo

  • The loose shirt, shoulder bag, stance, and facial structure remain readable
  • A bright contour follows the hair and shoulders against pure black
  • The lighting turns a daylight candid into a dramatic studio portrait
Golf Silhouette
Nano Banana Pro

Golf Silhouette

  • The cap, fitted black outfit, standing pose, and proportions remain recognizable
  • A narrow halo separates the full body from the dark background
  • The restrained exposure creates a clean, cinematic silhouette

Exact gathered prompt

Portrait with strong backlight rim glow, subject in semi-silhouette against black background, bright halo outline around body, cinematic high contrast lighting, dramatic studio look, ultra clean, 4K.

Source: @skaigenerated · model shown: Nano Banana Pro

The official run

Prepare -> Validate -> Transform -> Inspect

  1. 1. prepare
    free

    One run pinned to the photo, exact gathered prompt, and selected model route.

  2. 2. validate
    free

    The photo and prompt contract checked locally.

  3. 3. transform
    paid

    One Halo Effect portrait from one approved prediction.

    Explicit approval required

  4. 4. inspect
    free

    Automatic file checks plus an actual visual review.

    Explicit approval required

Model routes

  • economy: Nano Banana 2 Lite · 3:4
  • default: Nano Banana 2 · 3:4
  • premium: Nano Banana Pro · 3:4

What prevents waste

  • The complete contract validates locally before spending.
  • Paid generation needs an explicit approval flag.
  • The prediction ID is saved before polling.
  • Interrupted jobs resume instead of duplicating.
  • Three attempts is the hard cap.

Repo files

Agent instructions SKILL.md
---
name: wiggly-halo-effect
description: Apply the exact gathered SKAI Halo Effect prompt to one portrait.
---

# Halo Effect

Use the packaged runner and exact prompt. Do not call Replicate separately or
create another render path.

Ask one short question:

> Which portrait should I give the Halo Effect?

Then run:

```bash
npm run format:skai-image -- init --format=halo-effect --run=<id> --input=<absolute-image-path>
npm run format:skai-image -- validate --format=halo-effect --run=<id>
npm run format:skai-image -- estimate --format=halo-effect --run=<id>
npm run format:skai-image -- render --format=halo-effect --run=<id> --approve-paid
npm run format:skai-image -- inspect --format=halo-effect --run=<id>
npm run format:skai-image -- inspect --format=halo-effect --run=<id> --visual-pass --review-notes="<specific observations>"
npm run format:skai-image -- finalize --format=halo-effect --run=<id> --approve-final
```

Hard rules:

- 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.
- Keep Nano Banana Pro available as the creator-matched premium route.
- Validate before spending 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`.
Replicate BYOK requirements 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 creator examples were labeled Nano Banana Pro; the packaged Replicate runtime keeps Pro as premium and uses Nano Banana 2 as the cheaper default.",
    "No proof generation was purchased for this package.",
    "One render attempt is one paid prediction.",
    "Paid generation requires explicit approval and is capped at three attempts."
  ]
}
Input contract and model routing inputs.json
{
  "required": [
    {
      "id": "photo",
      "type": "image",
      "formats": ["jpg", "png", "webp"],
      "minimumWidth": 512,
      "minimumHeight": 512,
      "maximumBytes": 26214400
    }
  ],
  "question": "Which portrait should I give the Halo Effect?",
  "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",
    "creatorShown": "Nano Banana Pro"
  }
}
Paid-call and resume contract pipeline.json
{
  "progress": "Prepare -> Validate -> Transform -> Inspect",
  "attemptCap": 3,
  "stages": [
    {
      "id": "prepare",
      "output": "One run pinned to the photo, exact gathered prompt, and selected model route.",
      "paid": false,
      "approvalRequired": false
    },
    {
      "id": "validate",
      "output": "The photo and prompt contract checked locally.",
      "paid": false,
      "approvalRequired": false
    },
    {
      "id": "transform",
      "output": "One Halo Effect portrait from one approved prediction.",
      "paid": true,
      "approvalRequired": true
    },
    {
      "id": "inspect",
      "output": "Automatic file checks plus an actual visual review.",
      "paid": false,
      "approvalRequired": true
    }
  ]
}
Exact gathered prompt prompts/transform.txt
Portrait with strong backlight rim glow, subject in semi-silhouette against black background, bright halo outline around body, cinematic high contrast lighting, dramatic studio look, ultra clean, 4K.
Automatic and visual gates quality.json
{
  "automatic": [
    "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, clothing, composition, and key details remain recognizable",
    "Strong backlight forms a bright, continuous halo around the visible silhouette",
    "The subject reads as a controlled semi-silhouette rather than an underexposed mistake",
    "The background stays black and the contrast feels cinematic and studio-made",
    "The image remains clean and photographic without warped anatomy, logos, or watermarks"
  ],
  "finalization": {
    "automaticPassRequired": true,
    "visualPassRequired": true,
    "reviewNotesRequired": true,
    "explicitApprovalFlag": "--approve-final"
  }
}