Curated Formatv1.0.0

Sparkling Effect

Preserve one photograph while adding natural crystal-like sparkles, warm golden-hour light, filmic color, and a premium in-camera finish.

By Wiggly Studio · Updated July 2026

Coastal transformation: Put sunlight back into the waterReference for Put sunlight back into the water

Shared recipe family

One family. 31 recipes.

Sparkling Effect belongs to Image Filters. These recipes share a runtime; adjacent examples are not separate Repos. The download on this page packages this specific recipe.

See the full recipe family

Before you start

Services & costs

Replicate

google/nano-banana-2-lite · google/nano-banana-2 · google/nano-banana-pro

Generate the approved media in this recipe.

REPLICATE_API_TOKEN

Local runtime

Setup, validation & inspection

Node.js >=22 · npm

Typical run estimate

One Replicate image charge and usually 2-4 min

Estimates describe the saved recipe, not a price guarantee. Confirm current provider pricing and approve any spend before generation. Your coding agent may have its own fees or usage limits. Never paste API keys into chat.

Setup notes from requirements.json
  • All smoke and validation commands are local.
  • The creator examples were labeled GPT Image 2; the packaged Replicate runtime uses Nano Banana 2 routes.
  • 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.

Included assets

The ingredients behind the format.

The published package includes its agent instructions, input contract, and quality rules, plus 4 viewable asset references below. Reference media teaches the recipe; it is not a new result for your input.

Recipe reference

Recipe reference

Supplied creator reference—not a new Wiggly-generated result.

Recipe reference

Recipe reference

Supplied creator reference—not a new Wiggly-generated result.

Recipe reference

Recipe reference

Supplied creator reference—not a new Wiggly-generated result.

Recipe reference

Recipe reference

Supplied creator reference—not a new Wiggly-generated result.

What stays consistent

  • The source subject, face, clothing, pose, and proportions
  • The original composition, perspective, camera angle, background, and environment
  • Fine photographic details and recognizable objects
  • A realistic photographic finish

What you bring

  • One JPEG, PNG, or WebP photograph at least 512px on both axes
  • A Replicate API token only when generation is approved
Read the included contracts and asset inventory ↓

Examples

Examples & references.

4 saved examples for this recipe—not 4 separate Repos. Each example keeps its original version and provenance.

Coastal transformation: Put sunlight back into the waterReference for Put sunlight back into the water

Example 01 · Coastal transformation

Put sunlight back into the water

Open finished ad
Detail transformation: Make close details catch the lightReference for Make close details catch the light

Example 02 · Detail transformation

Make close details catch the light

Open finished ad
Texture study: Turn existing highlights into crystal glintsReference for Turn existing highlights into crystal glints

Example 03 · Texture study

Turn existing highlights into crystal glints

Open finished ad
Golden-hour transformation: Warm the hour without changing the momentReference for Warm the hour without changing the moment

Example 04 · Golden-hour transformation

Warm the hour without changing the moment

Open finished ad

From input to output

How the run works.

From the published pipeline.json. The agent follows the packaged runtime and its approval gates.

  1. Step 01

    Prepare

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

  2. Step 02

    Validate

    The photo and prompt contract checked locally.

  3. Step 03 · approval · provider

    Transform

    One Sparkling Effect transform from one approved prediction.

  4. Step 04 · approval

    Inspect

    Automatic file checks plus an actual visual review.

Proof & quality

What a good result looks like.

Judge strict source preservation, realistic sunlight-driven sparkles, warm cinematic light, filmic color, and a premium photographic finish.

The Instagram DM delivered the public Google Doc with the exact GPT Image 2 prompt. The original carousel supplied its cover and four complete native before-and-after examples.

Wiggly overlays each packaged original at the top right of its matching output on the consumer Format page.

Saved reference

Sparkling Shoreline

  • The person, pose, shoreline, horizon, and camera angle stay recognizable
  • Tiny glints sit naturally on the water and illuminated areas
  • Warm light and color depth feel photographic instead of fantastical

Saved reference

Seashell Sparkle

  • Every shell, hand, bracelet, and crop remains intact
  • Sunlight reflections become soft micro sparkles without redrawing the scene
  • The warmer grade adds polish while preserving natural skin and shell color

Quality gates

These are the acceptance criteria in quality.json—not a claim that every pictured example passed the current version. Inspect each new output before finalizing.

Automatic · 4 checks
  • 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 · 6 checks
  • The subject, face, hair, clothing, pose, composition, camera angle, background, and environment remain recognizable
  • Tiny crystal-like sparkles and diamond glints follow natural sunlight and illuminated areas
  • Sparkles blend into the photograph without looking magical, pasted on, or overdone
  • Warm golden-hour light, soft bloom, volumetric light, HDR, and tonal transitions remain believable
  • ARRI-inspired color, Portra-like warmth, gentle grain, and natural contrast feel premium
  • There are no obvious AI artifacts, warped details, logos, or watermarks
Finalization · 4 checks
  • Automatic Pass Required: true
  • Visual Pass Required: true
  • Review Notes Required: true
  • Explicit Approval Flag: --approve-final

Open the package

Readable Repo files.

Actual files from the published v1.0.0 package. Expand any file to inspect the instructions, requirements, or evidence before sending the Repo to your agent.

README.md
Open raw file ↗
# Wiggly Sparkling Effect Format

This runnable Repo preserves the exact gathered prompt, source notes, original
carousel cover, and four native SKAI before-and-after examples. It uses the
shared Wiggly image runner so validation, paid approval, retry caps, and visual
finalization stay explicit.

Run from `v3`:

```bash
npm install
npm run format:skai-image -- check --format=sparkling-effect
npm run format:skai-image -- smoke --format=sparkling-effect
npm run format:skai-image -- init --format=sparkling-effect --run=my-photo --input=/absolute/path/to/photo.jpg
npm run format:skai-image -- validate --format=sparkling-effect --run=my-photo
npm run format:skai-image -- estimate --format=sparkling-effect --run=my-photo
```

Generation requires `REPLICATE_API_TOKEN` and explicit approval:

```bash
npm run format:skai-image -- render --format=sparkling-effect --run=my-photo --approve-paid
```

No Replicate proof call was made while packaging this Repo.

Model routes:

- Economy: `google/nano-banana-2-lite`
- Default: `google/nano-banana-2`
- Premium: `google/nano-banana-pro`

The creator guide labels its examples as GPT Image 2. That source model is
recorded as provenance; the runnable Wiggly routes use Replicate.
SKILL.md
Open raw file ↗
---
name: wiggly-sparkling-effect
description: Apply the exact gathered SKAI Sparkling Effect prompt to one photograph.
---

# Sparkling Effect

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

Ask one short question:

> Which photo should I give the Sparkling Effect?

Then run:

```bash
npm run format:skai-image -- init --format=sparkling-effect --run=<id> --input=<absolute-image-path>
npm run format:skai-image -- validate --format=sparkling-effect --run=<id>
npm run format:skai-image -- estimate --format=sparkling-effect --run=<id>
npm run format:skai-image -- render --format=sparkling-effect --run=<id> --approve-paid
npm run format:skai-image -- inspect --format=sparkling-effect --run=<id>
npm run format:skai-image -- inspect --format=sparkling-effect --run=<id> --visual-pass --review-notes="<specific observations>"
npm run format:skai-image -- finalize --format=sparkling-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.
- Treat GPT Image 2 as creator provenance, not as the packaged Replicate 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`.
requirements.json
Open raw file ↗
{
  "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 GPT Image 2; the packaged Replicate runtime uses Nano Banana 2 routes.",
    "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."
  ]
}
inputs.json
Open raw file ↗
{
  "required": [
    {
      "id": "photo",
      "type": "image",
      "formats": ["jpg", "png", "webp"],
      "minimumWidth": 512,
      "minimumHeight": 512,
      "maximumBytes": 26214400
    }
  ],
  "question": "Which photo should I give the Sparkling 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": "GPT Image 2"
  }
}
pipeline.json
Open raw file ↗
{
  "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 Sparkling Effect transform from one approved prediction.",
      "paid": true,
      "approvalRequired": true
    },
    {
      "id": "inspect",
      "output": "Automatic file checks plus an actual visual review.",
      "paid": false,
      "approvalRequired": true
    }
  ]
}
assets.json
Open raw file ↗
{
  "sourceReference": {
    "creator": "@skaigenerated",
    "postUrl": "https://www.instagram.com/skaigenerated/p/DbD3PtGitbO/",
    "resourceTitle": "Sparkling Effect Prompt",
    "guide": "assets/source/guide.txt",
    "cover": "assets/source/cover.jpg",
    "referenceInset": "assets/source/shoreline-bather-reference.jpg",
    "verification": "The Instagram DM delivered the public Google Doc with the exact GPT Image 2 prompt. The original carousel supplied its cover and four complete native before-and-after examples.",
    "referenceNote": "Wiggly overlays each packaged original at the top right of its matching output on the consumer Format page."
  },
  "examples": [
    {
      "id": "shoreline-bather",
      "path": "assets/source/shoreline-bather.jpg",
      "referencePath": "assets/source/shoreline-bather-reference.jpg"
    },
    {
      "id": "seashells",
      "path": "assets/source/seashells.jpg",
      "referencePath": "assets/source/seashells-reference.jpg"
    },
    {
      "id": "ocean-texture",
      "path": "assets/source/ocean-texture.jpg",
      "referencePath": "assets/source/ocean-texture-reference.jpg"
    },
    {
      "id": "walking-beach",
      "path": "assets/source/walking-beach.jpg",
      "referencePath": "assets/source/walking-beach-reference.jpg"
    }
  ]
}
quality.json
Open raw file ↗
{
  "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, hair, clothing, pose, composition, camera angle, background, and environment remain recognizable",
    "Tiny crystal-like sparkles and diamond glints follow natural sunlight and illuminated areas",
    "Sparkles blend into the photograph without looking magical, pasted on, or overdone",
    "Warm golden-hour light, soft bloom, volumetric light, HDR, and tonal transitions remain believable",
    "ARRI-inspired color, Portra-like warmth, gentle grain, and natural contrast feel premium",
    "There are no obvious AI artifacts, warped details, logos, or watermarks"
  ],
  "finalization": {
    "automaticPassRequired": true,
    "visualPassRequired": true,
    "reviewNotesRequired": true,
    "explicitApprovalFlag": "--approve-final"
  }
}
goldens.json
Open raw file ↗
{
  "purpose": "Judge strict source preservation, realistic sunlight-driven sparkles, warm cinematic light, filmic color, and a premium photographic finish.",
  "examples": [
    {
      "id": "shoreline-bather",
      "title": "Sparkling Shoreline",
      "imagePath": "assets/source/shoreline-bather.jpg",
      "referencePath": "assets/source/shoreline-bather-reference.jpg",
      "model": "GPT Image 2",
      "whyItWorks": [
        "The person, pose, shoreline, horizon, and camera angle stay recognizable",
        "Tiny glints sit naturally on the water and illuminated areas",
        "Warm light and color depth feel photographic instead of fantastical"
      ]
    },
    {
      "id": "seashells",
      "title": "Seashell Sparkle",
      "imagePath": "assets/source/seashells.jpg",
      "referencePath": "assets/source/seashells-reference.jpg",
      "model": "GPT Image 2",
      "whyItWorks": [
        "Every shell, hand, bracelet, and crop remains intact",
        "Sunlight reflections become soft micro sparkles without redrawing the scene",
        "The warmer grade adds polish while preserving natural skin and shell color"
      ]
    },
    {
      "id": "ocean-texture",
      "title": "Sunlit Ocean Texture",
      "imagePath": "assets/source/ocean-texture.jpg",
      "referencePath": "assets/source/ocean-texture-reference.jpg",
      "model": "GPT Image 2",
      "whyItWorks": [
        "The source wave pattern and close composition remain unchanged",
        "Small diamond glints follow existing highlights on the water",
        "Golden light adds depth without creating artificial fantasy particles"
      ]
    },
    {
      "id": "walking-beach",
      "title": "Golden Beach Walk",
      "imagePath": "assets/source/walking-beach.jpg",
      "referencePath": "assets/source/walking-beach-reference.jpg",
      "model": "GPT Image 2",
      "whyItWorks": [
        "The person, clothing, walking pose, sea, and horizon stay recognizable",
        "The scene shifts naturally toward golden hour with soft bloom",
        "Sparkles remain concentrated where sunlight touches the water"
      ]
    }
  ]
}
format.json
Open raw file ↗
{
  "id": "sparkling-effect",
  "version": "1.0.0",
  "title": "Sparkling Effect",
  "description": "Preserve one photograph while adding natural crystal-like sparkles, golden-hour light, soft film grain, and a premium in-camera finish.",
  "status": "agent-ready",
  "owner": "Wiggly Studio",
  "source": {
    "creator": "@skaigenerated",
    "postUrl": "https://www.instagram.com/skaigenerated/p/DbD3PtGitbO/",
    "resourceTitle": "Sparkling Effect Prompt",
    "resourceAccess": "Instagram DM to public Google Doc",
    "ctaKeyword": "AI",
    "modelShown": "GPT Image 2"
  },
  "outputs": [
    "1 inspected Sparkling Effect photograph",
    "state.json with model and prediction provenance",
    "quality-report.json with automatic and visual inspection"
  ]
}
kit.package.json
Open raw file ↗
{
  "name": "wiggly-sparkling-effect-format-kit",
  "private": true,
  "version": "1.0.0",
  "type": "module",
  "engines": {
    "node": ">=22"
  },
  "scripts": {
    "check:kit": "node kit-smoke.mjs",
    "format:skai-image": "tsx scripts/skai-image-format.ts",
    "test": "tsx tests/skai-image-format-runner.test.ts --format=sparkling-effect && node kit-smoke.mjs"
  },
  "dependencies": {
    "image-size": "2.0.2",
    "replicate": "1.4.0",
    "tsx": "4.20.6"
  }
}
runtime.json
Open raw file ↗
{
  "slug": "sparkling-effect",
  "version": "1.0.0",
  "promptPath": "prompts/transform.txt",
  "input": {
    "mode": "image",
    "formats": ["jpg", "png", "webp"],
    "minimumWidth": 512,
    "minimumHeight": 512,
    "maximumBytes": 26214400
  },
  "defaultModel": "nano-banana-2",
  "modelRoutes": {
    "nano-banana-2-lite": {
      "label": "Nano Banana 2 Lite",
      "lane": "economy",
      "model": "google/nano-banana-2-lite",
      "family": "nano-banana",
      "aspectRatio": "3:4",
      "outputFormat": "jpg"
    },
    "nano-banana-2": {
      "label": "Nano Banana 2",
      "lane": "default",
      "model": "google/nano-banana-2",
      "family": "nano-banana",
      "aspectRatio": "3:4",
      "outputFormat": "jpg",
      "resolution": "1K"
    },
    "nano-banana-pro": {
      "label": "Nano Banana Pro",
      "lane": "premium",
      "model": "google/nano-banana-pro",
      "family": "nano-banana",
      "aspectRatio": "3:4",
      "outputFormat": "jpg",
      "resolution": "1K"
    }
  },
  "expectedOutputs": 1,
  "maximumAttempts": 3,
  "smokeInputPath": "assets/source/shoreline-bather-reference.jpg",
  "smokeExamplePath": "assets/source/shoreline-bather.jpg",
  "minimumOutputWidth": 640,
  "minimumOutputHeight": 800,
  "minimumOutputBytes": 51200,
  "manualReview": [
    "subject, pose, composition, camera angle, background, and environment stay recognizable",
    "tiny realistic sparkles follow natural sunlight and illuminated areas",
    "warm golden-hour light, soft bloom, gentle volumetric light, and smooth tonal transitions",
    "premium filmic color, soft grain, natural contrast, and realistic dynamic range",
    "photorealistic finish with no obvious AI artifacts"
  ]
}
Technical proof archive ↗

Run it with a coding agent

Know the run before you start.

The agent reads this version’s instructions, checks the requirements, and walks you through the approved workflow. Review the inputs and estimate before starting.

Typical run

Prepare + validateFree · under 1 min
One image transformCurrent Replicate model rate · usually under 2 min
Inspect + finalizeFree · about 1 min

One Replicate image charge and usually 2-4 min

You provide

One JPEG, PNG, or WebP photograph at least 512px on both axes · A Replicate API token only when generation is approved

Output

One inspected 3:4 Sparkling Effect photograph plus prediction and quality provenance