Curated Formatv1.0.0

Red Dead Redemption

Turn one photo into a cinematic 1899 Western video-game scene while preserving the original identity and composition.

By Wiggly Studio · Updated July 2026

Character transformation: Turn a portrait into a frontier cutsceneReference for Turn a portrait into a frontier cutscene

Shared recipe family

One family. 31 recipes.

Red Dead Redemption 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.
  • No Replicate proof generation was purchased for this package.
  • The gathered source examples are the visual proof.
  • 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 7 viewable asset references below. Reference media teaches the recipe; it is not a new result for your input.

Creator example output

Creator example output

The exact prompt, Nano Banana Pro label, guide, and six examples were gathered through the creator's Android Instagram comment and DM flow and visually checked. The clean reference input was cropped from the source example because the guide did not provide the raw photo.

Creator reference input

Creator reference input

The exact prompt, Nano Banana Pro label, guide, and six examples were gathered through the creator's Android Instagram comment and DM flow and visually checked. The clean reference input was cropped from the source example because the guide did not provide the raw photo.

Creator reference 2

Creator reference 2

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

Creator reference 3

Creator reference 3

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

Creator reference 4

Creator reference 4

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

Creator reference 5

Creator reference 5

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

View all 7 asset references
Creator reference 6

Creator reference 6

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

What stays consistent

  • The subject's recognizable identity
  • The original pose and expression
  • The source composition and framing
  • The camera angle and element layout

What you bring

  • One JPEG, PNG, or WebP photo 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.

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

Character transformation: Turn a portrait into a frontier cutsceneReference for Turn a portrait into a frontier cutscene

Example 01 · Character transformation

Turn a portrait into a frontier cutscene

Open finished ad
Frontier character: A modern headshot becomes a gunslinger

Example 02 · Frontier character

A modern headshot becomes a gunslinger

Open finished ad
Seasonal Western: Holiday warmth survives the Western rewrite

Example 04 · Seasonal Western

Holiday warmth survives the Western rewrite

Open finished ad
Rugged portrait: A clean selfie becomes a cabin character

Example 05 · Rugged portrait

A clean selfie becomes a cabin character

Open finished ad
In-game cutscene: A studio portrait becomes a saloon scene

Example 06 · In-game cutscene

A studio portrait becomes a saloon scene

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

    A run pinned to the source photo, exact gathered prompt, and chosen model route.

  2. Step 02

    Validate

    The image and complete provider contract checked locally.

  3. Step 03 · approval · provider

    Transform

    One cinematic Western video-game image from the selected Replicate model.

  4. Step 04 · approval

    Inspect

    Automatic file checks plus an actual visual review.

Proof & quality

What a good result looks like.

Judge source identity, period adaptation, detailed Western materials, cinematic atmosphere, and AAA video-game finish against six gathered examples.

The exact prompt, Nano Banana Pro label, guide, and six examples were gathered through the creator's Android Instagram comment and DM flow and visually checked. The clean reference input was cropped from the source example because the guide did not provide the raw photo.

Saved reference

Frontier portrait with the reference inset

  • The face and centered framing remain recognizable
  • Weathered leather, bandana, holster, dust, and warm window light establish the 1899 game world

Saved reference

A modern headshot becomes a frontier gunslinger

  • Identity carries through the hat, coat, vest, and gun belt
  • The dusty town and golden light read as a modern Western game scene

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, PNG, or WebP output
  • At least 640x800 pixels
  • Aspect ratio within 0.02 of the selected route
  • At least 50 KB
Visual · 5 checks
  • The original composition, pose, expression, framing, camera angle, and layout remain recognizable
  • The subject's identity survives the 1899 Western adaptation
  • Clothing, props, weapons, and setting are internally consistent with the Old West
  • Leather, wood, metal, fabric, dust, light, vegetation, and atmosphere are richly detailed
  • The final image reads as a modern AAA video-game screenshot rather than live action or illustration
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 Red Dead Redemption Format

This runnable Repo preserves the exact prompt and six transformation examples
gathered from @skaigenerated. It turns one photo into a cinematic 1899 Western
video-game scene through Replicate.

Run from `v3`:

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

Generation requires `REPLICATE_API_TOKEN` and explicit approval:

```bash
npm run format:skai-image -- render --format=red-dead-redemption --run=my-red-dead --approve-paid
```

View the output, record visual notes with
`inspect --visual-pass --review-notes="..."`, then use
`finalize --approve-final`.

Model routes:

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

No Replicate proof call was made while packaging this Repo. The six included
source examples and guide are the proof artifacts.
SKILL.md
Open raw file ↗
---
name: wiggly-red-dead-redemption
description: Transform one photo into a cinematic 1899 Western video-game scene using the exact gathered SKAI prompt.
---

# Red Dead Redemption

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

Ask one short question first:

> Which photo should I turn into a Red Dead Redemption-style scene?

Use Nano Banana 2 by default, Nano Banana 2 Lite for economy, or Nano Banana
Pro only when the user requests the source/premium route.

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

Hard rules:

- Preserve the exact composition, pose, expression, framing, camera angle, and layout.
- Adapt the subject's identity, clothing, props, and setting consistently to 1899.
- Keep the result recognizably video-game imagery rather than live action or illustration.
- Validate before spending.
- Never generate without `--approve-paid`.
- Persist and resume the same prediction ID.
- Never exceed three attempts.
- View the actual output and record notes before `--approve-final`.
- 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.",
    "No Replicate proof generation was purchased for this package.",
    "The gathered source examples are the visual proof.",
    "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 turn into a Red Dead Redemption-style scene?",
  "defaults": {
    "model": "nano-banana-2",
    "aspectRatio": "3:4",
    "outputCount": 1
  },
  "modelRoutes": {
    "economy": "google/nano-banana-2-lite",
    "default": "google/nano-banana-2",
    "sourceModel": "google/nano-banana-pro"
  }
}
pipeline.json
Open raw file ↗
{
  "progress": "Prepare -> Validate -> Transform -> Inspect",
  "attemptCap": 3,
  "stages": [
    {
      "id": "prepare",
      "output": "A run pinned to the source photo, exact gathered prompt, and chosen model route.",
      "paid": false,
      "approvalRequired": false
    },
    {
      "id": "validate",
      "output": "The image and complete provider contract checked locally.",
      "paid": false,
      "approvalRequired": false
    },
    {
      "id": "transform",
      "output": "One cinematic Western video-game image from the selected Replicate model.",
      "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/p/DbI4naVCkwR/",
    "resourceUrl": "https://docs.google.com/document/d/14QLaIwLzK10xPuUpFEUxvh0suhmGT0A7vOf9HL7JCf0/edit",
    "guide": "assets/source/guide.pdf",
    "exampleOutput": "assets/source/example-output.jpg",
    "hero": "assets/source/hero-with-reference.jpg",
    "referenceInput": "assets/source/reference-input.jpg",
    "carouselExamples": [
      "assets/source/example-output.jpg",
      "assets/source/example-02.jpg",
      "assets/source/example-03.jpg",
      "assets/source/example-04.jpg",
      "assets/source/example-05.jpg",
      "assets/source/example-06.jpg"
    ],
    "promptPath": "prompts/transform.txt",
    "verification": "The exact prompt, Nano Banana Pro label, guide, and six examples were gathered through the creator's Android Instagram comment and DM flow and visually checked. The clean reference input was cropped from the source example because the guide did not provide the raw photo."
  },
  "fixture": {
    "path": "assets/source/reference-input.jpg",
    "purpose": "Local validation and free smoke only; no provider call."
  }
}
quality.json
Open raw file ↗
{
  "automatic": [
    "Exactly 1 decodable JPG, PNG, or WebP output",
    "At least 640x800 pixels",
    "Aspect ratio within 0.02 of the selected route",
    "At least 50 KB"
  ],
  "visual": [
    "The original composition, pose, expression, framing, camera angle, and layout remain recognizable",
    "The subject's identity survives the 1899 Western adaptation",
    "Clothing, props, weapons, and setting are internally consistent with the Old West",
    "Leather, wood, metal, fabric, dust, light, vegetation, and atmosphere are richly detailed",
    "The final image reads as a modern AAA video-game screenshot rather than live action or illustration"
  ],
  "finalization": {
    "automaticPassRequired": true,
    "visualPassRequired": true,
    "reviewNotesRequired": true,
    "explicitApprovalFlag": "--approve-final"
  }
}
goldens.json
Open raw file ↗
{
  "purpose": "Judge source identity, period adaptation, detailed Western materials, cinematic atmosphere, and AAA video-game finish against six gathered examples.",
  "examples": [
    {
      "id": "frontier-portrait",
      "title": "Frontier portrait with the reference inset",
      "imagePath": "assets/source/hero-with-reference.jpg",
      "model": "Nano Banana Pro",
      "whyItWorks": [
        "The face and centered framing remain recognizable",
        "Weathered leather, bandana, holster, dust, and warm window light establish the 1899 game world"
      ]
    },
    {
      "id": "main-street",
      "title": "A modern headshot becomes a frontier gunslinger",
      "imagePath": "assets/source/example-02.jpg",
      "model": "Nano Banana Pro",
      "whyItWorks": [
        "Identity carries through the hat, coat, vest, and gun belt",
        "The dusty town and golden light read as a modern Western game scene"
      ]
    },
    {
      "id": "ranch-porch",
      "title": "A portrait moves onto a ranch porch",
      "imagePath": "assets/source/example-03.jpg",
      "model": "Nano Banana Pro",
      "whyItWorks": [
        "The seated pose and face remain recognizable",
        "Cabin, mountains, leather, and period weapons form one coherent frontier setting"
      ]
    },
    {
      "id": "winter-saloon",
      "title": "Holiday warmth survives the Western rewrite",
      "imagePath": "assets/source/example-04.jpg",
      "model": "Nano Banana Pro",
      "whyItWorks": [
        "The subject's curls and expression remain distinctive",
        "Firelight, Christmas details, wood, leather, and dust preserve a warm cinematic mood"
      ]
    },
    {
      "id": "cabin",
      "title": "A clean selfie becomes a rugged cabin character",
      "imagePath": "assets/source/example-05.jpg",
      "model": "Nano Banana Pro",
      "whyItWorks": [
        "Facial structure and gaze carry through the period styling",
        "Weathered fabrics, revolvers, stove, and sunbeams create believable game-world detail"
      ]
    },
    {
      "id": "saloon",
      "title": "A studio portrait becomes a saloon cutscene",
      "imagePath": "assets/source/example-06.jpg",
      "model": "Nano Banana Pro",
      "whyItWorks": [
        "The source face remains recognizable under restrained Western styling",
        "Layered period clothing, the bar background, and practical light read as an in-game cutscene"
      ]
    }
  ]
}
format.json
Open raw file ↗
{
  "id": "red-dead-redemption",
  "version": "1.0.0",
  "title": "Red Dead Redemption",
  "description": "Turn one photo into a cinematic 1899 Western video-game scene with period clothing, weathered materials, and frontier atmosphere.",
  "status": "agent-ready",
  "owner": "Wiggly Studio",
  "source": {
    "creator": "@skaigenerated",
    "postUrl": "https://www.instagram.com/p/DbI4naVCkwR/",
    "resourceUrl": "https://docs.google.com/document/d/14QLaIwLzK10xPuUpFEUxvh0suhmGT0A7vOf9HL7JCf0/edit",
    "ctaKeyword": "AI",
    "modelShown": "Nano Banana Pro"
  },
  "outputs": [
    "1 cinematic Western video-game image",
    "state.json with model and prediction provenance",
    "quality-report.json with automatic and visual inspection"
  ]
}
kit.package.json
Open raw file ↗
{
  "name": "wiggly-red-dead-redemption-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=red-dead-redemption && node kit-smoke.mjs"
  },
  "dependencies": {
    "image-size": "2.0.2",
    "replicate": "1.4.0",
    "tsx": "4.20.6"
  }
}
runtime.json
Open raw file ↗
{
  "slug": "red-dead-redemption",
  "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",
      "costEstimate": "about $0.034 per output image at the current listed rate",
      "timeEstimate": "usually 5-60 seconds"
    },
    "nano-banana-2": {
      "label": "Nano Banana 2",
      "lane": "default",
      "model": "google/nano-banana-2",
      "family": "nano-banana",
      "aspectRatio": "3:4",
      "outputFormat": "jpg",
      "resolution": "1K",
      "costEstimate": "about $0.067 per 1K output image at the current listed rate",
      "timeEstimate": "usually 10-120 seconds"
    },
    "nano-banana-pro": {
      "label": "Nano Banana Pro",
      "lane": "source model",
      "model": "google/nano-banana-pro",
      "family": "nano-banana",
      "aspectRatio": "3:4",
      "outputFormat": "jpg",
      "resolution": "1K",
      "costEstimate": "about $0.15 per 1K output image at the current listed rate",
      "timeEstimate": "usually 30-180 seconds"
    }
  },
  "expectedOutputs": 1,
  "maximumAttempts": 3,
  "smokeInputPath": "assets/source/reference-input.jpg",
  "smokeExamplePath": "assets/source/example-output.jpg",
  "minimumOutputWidth": 640,
  "minimumOutputHeight": 800,
  "minimumOutputBytes": 51200,
  "manualReview": [
    "source composition and identity preservation",
    "period-correct 1899 adaptation",
    "rich weathered materials",
    "cinematic Western atmosphere",
    "modern AAA video-game finish"
  ]
}
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 photo at least 512px on both axes · A Replicate API token only when generation is approved

Output

One inspected 3:4 Western video-game image plus prediction and quality provenance