Wiggly / Format Lab /

paper-outfit

agent-ready
v1.0.0

Paper Outfit

Turn only the clothing, bag, and shoes in one fashion photo into handmade paper cutouts while keeping the person and photograph real.

One source image in. 1 inspected image out.

Download runnable kit

Gathered source proof

Judge photographic preservation, convincing handmade paper construction, clean cut edges, visible pencil texture, and edits limited to clothing, bag, and shoes.

Explain the paper-outfit trick in one glance
GPT Image 2 · SKAI source

Explain the paper-outfit trick in one glance

  • The title, result, and single original-photo inset explain the transformation immediately
  • The face, pose, skin, lighting, street, and shadows remain photographic
  • The dress and bag read as physical paper cutouts laid over the real photo
Keep a sunny travel portrait completely real
GPT Image 2 · SKAI source

Keep a sunny travel portrait completely real

  • The source inset proves the person, pose, terrace, and sea stay recognizable
  • Pencil marks and white paper texture appear only on the outfit and accessories
  • Cut edges and layered pieces feel handmade instead of digitally recolored
Let the background keep all of its detail
GPT Image 2 · SKAI source

Let the background keep all of its detail

  • The face, hair, body, architecture, and coast remain unchanged
  • The gingham top, skirt, and shoes share one coherent paper treatment
  • The effect stays readable without flattening the photograph
Carry the treatment across a full outfit
GPT Image 2 · SKAI source

Carry the treatment across a full outfit

  • The subject, ice cream, car, street, and lighting remain photographic
  • Top, shorts, and bag use matching drawn texture and crisp cut edges
  • The paper pieces sit over the body while respecting pose and silhouette
Make layered separates feel handmade
GPT Image 2 · SKAI source

Make layered separates feel handmade

  • The portrait and doorway remain realistic and recognizable
  • Top and skirt use distinct paper colors without changing the person
  • White outlines and pencil strokes make the physical overlay legible
Preserve a soft candid pose
GPT Image 2 · SKAI source

Preserve a soft candid pose

  • The face, skin, arms, body, wall, plants, and light remain photographic
  • Each garment and accessory becomes its own cut-paper object
  • The new pieces still follow the original pose and proportions
Keep dramatic architecture outside the edit
GPT Image 2 · SKAI source

Keep dramatic architecture outside the edit

  • The person, pose, hall, exhibits, and golden light stay real
  • The floral dress gains visible paper texture and hand-drawn pigment
  • The limited edit makes the result feel like a tactile fashion collage

Exact gathered prompt

Transforme esta foto em um editorial de moda estilo real photo with handmade paper clothing cutouts placed on top. Mantenha a fotografia original completamente real: o rosto, cabelo, pele, expressão, maquiagem, braços, mãos, pernas, corpo, iluminação, sombras e fundo devem permanecer exatamente fotográficos. Não transforme a modelo em desenho. Crie o efeito apenas nas peças do look: roupas, bolsa e sapatos. Imagine que essas peças foram removidas da fotografia original, redesenhadas manualmente em uma folha de papel, recortadas com tesoura e depois coladas novamente em cima da modelo. As peças devem parecer objetos físicos de papel sobrepostos à foto, não um filtro digital. Desenhe as roupas e acessórios com aparência propositalmente artesanal: lápis de cor visível, textura de papel branco, riscos de pintura.

Source: @skaigenerated · model shown: GPT Image 2

The official run

Prepare -> Validate -> Transform -> Inspect

  1. 1. prepare
    free

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

  2. 2. validate
    free

    The 3:4 fashion photo and prompt contract checked locally.

  3. 3. transform
    paid

    One realistic fashion photo with clothing, bag, and shoes replaced by handmade paper cutouts 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-paper-outfit
description: Turn only the clothing, bag, and shoes in one 3:4 fashion photo into handmade paper cutouts using the exact gathered SKAI prompt.
---

# Paper Outfit

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=paper-outfit
npm run format:skai-image -- smoke --format=paper-outfit
```

Ask one short question:

> Which 3:4 fashion photo should I turn into a handmade paper-outfit editorial?

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=paper-outfit --run=<id> --input=<absolute-image-path> [--model=<route>]
npm run format:skai-image -- validate --format=paper-outfit --run=<id>
npm run format:skai-image -- estimate --format=paper-outfit --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=paper-outfit --run=<id> --approve-paid
npm run format:skai-image -- inspect --format=paper-outfit --run=<id>
npm run format:skai-image -- inspect --format=paper-outfit --run=<id> --visual-pass --review-notes="<specific observations>"
npm run format:skai-image -- finalize --format=paper-outfit --run=<id> --approve-final
```

Hard rules:

- Preserve the face, hair, skin, expression, makeup, body, pose, lighting, shadows, background, crop, and perspective.
- Apply the effect only to clothing, bag, and shoes.
- Make each transformed piece look like a physical white-paper cutout with visible colored pencil, paint marks, cut edges, and layered construction.
- Keep the person fully photographic; never turn the model into a drawing or apply a global digital filter.
- Use a user-approved 3:4 input before validation.
- 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.
- 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`.
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 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."
  ]
}
Input contract and model routing 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 fashion photo should I turn into a handmade paper-outfit editorial?",
  "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"
}
Paid-call and resume contract 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 fashion photo and prompt contract checked locally.",
      "paid": false,
      "approvalRequired": false
    },
    {
      "id": "transform",
      "output": "One realistic fashion photo with clothing, bag, and shoes replaced by handmade paper cutouts 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
Transforme esta foto em um editorial de moda estilo real photo with handmade paper clothing cutouts placed on top.
Mantenha a fotografia original completamente real:
o rosto, cabelo, pele, expressão, maquiagem, braços, mãos, pernas, corpo, iluminação, sombras e fundo devem permanecer exatamente fotográficos.
Não transforme a modelo em desenho.
Crie o efeito apenas nas peças do look:
roupas, bolsa e sapatos.
Imagine que essas peças foram removidas da fotografia original, redesenhadas manualmente em uma folha de papel, recortadas com tesoura e depois coladas novamente em cima da modelo.
As peças devem parecer objetos físicos de papel sobrepostos à foto, não um filtro digital.
Desenhe as roupas e acessórios com aparência propositalmente artesanal:
lápis de cor visível, textura de papel branco, riscos de pintura.
Automatic and visual gates 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 face, hair, skin, expression, makeup, body, pose, lighting, shadows, background, and crop remain photographic and recognizable",
    "Only clothing, bag, and shoes receive the handmade paper-cutout treatment",
    "The transformed pieces look like physical white paper drawn with visible colored pencil and paint marks",
    "Cut edges, layered shapes, and attachment to the original silhouette feel intentional and coherent",
    "The person is not turned into an illustration and the result does not resemble a global digital filter",
    "There are no malformed hands, limbs, facial features, or obviously synthetic background details"
  ],
  "finalization": {
    "automaticPassRequired": true,
    "visualPassRequired": true,
    "reviewNotesRequired": true,
    "explicitApprovalFlag": "--approve-final"
  }
}