Wiggly / Format Lab /

doodle-art

agent-ready
v1.0.0

Doodle Art

Turn one photograph into a minimalist hand-drawn doodle with wobbly black brush-pen lines, playful simplification, and a clean white background.

One source image in. 1 inspected image out.

Download runnable kit

Gathered source proof

Judge subject and composition preservation, handmade brush-pen character, playful simplification, white-background discipline, and clean doodle readability.

Neon Fashion Doodle
GPT Image 2

Neon Fashion Doodle

  • The folded-arm pose, sunglasses, striped sweater, lime hair, and jewelry remain readable
  • Bold black brush-pen contours simplify the fashion portrait without losing its attitude
  • Sparse color accents pop against a clean white page
Blue Glasses Crop
GPT Image 2

Blue Glasses Crop

  • The extreme right-edge crop, blue hair, and oversized glasses survive the transformation
  • Wobbly outlines and crayon-like color feel handmade rather than vector-perfect
  • The broad white negative space stays part of the composition
Star Sticker Portrait
GPT Image 2

Star Sticker Portrait

  • The centered face, tousled hair, expression, and star-sticker pattern remain recognizable
  • Minimal black linework reduces anatomy into playful childlike shapes
  • Small color details keep the illustration lively without clutter
Couple Doodle
GPT Image 2

Couple Doodle

  • Both people, the close crop, long hair, curls, and affectionate pose remain legible
  • Simple brush lines turn a two-person portrait into one coherent sketch
  • The red lip accent and tiny heart add warmth without overpowering the drawing
Popsicle Reaction
GPT Image 2

Popsicle Reaction

  • The closed eyes, open-mouth reaction, earrings, jersey, hand, and popsicle remain clear
  • Expressive black strokes exaggerate the moment without changing the composition
  • One orange accent carries the entire playful color story

Exact gathered prompt

Transform the image into a minimalist hand-drawn doodle illustration. Use simple black brush-pen outlines with slightly wobbly, imperfect strokes. Reduce all details to cute, childlike shapes while preserving the main subject and composition. Naive sketchbook aesthetic, playful and whimsical character design, clean white background, minimal linework, expressive simplicity, handmade doodle style, black ink drawing, charming imperfections, simple cartoon illustration.

Source: @skaigenerated · model shown: GPT Image 2

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 Doodle Art illustration 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-doodle-art
description: Apply the exact gathered SKAI Doodle Art prompt to one portrait.
---

# Doodle Art

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 turn into Doodle Art?

Then run:

```bash
npm run format:skai-image -- init --format=doodle-art --run=<id> --input=<absolute-image-path>
npm run format:skai-image -- validate --format=doodle-art --run=<id>
npm run format:skai-image -- estimate --format=doodle-art --run=<id>
npm run format:skai-image -- render --format=doodle-art --run=<id> --approve-paid
npm run format:skai-image -- inspect --format=doodle-art --run=<id>
npm run format:skai-image -- inspect --format=doodle-art --run=<id> --visual-pass --review-notes="<specific observations>"
npm run format:skai-image -- finalize --format=doodle-art --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`.
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 guide labels its examples GPT Image 2. That remains source provenance; the packaged Replicate runtime uses Nano Banana 2 by default, Lite for economy, and Pro for premium.",
    "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 photo should I turn into Doodle Art?",
  "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"
  }
}
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 Doodle Art illustration 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
Transform the image into a minimalist hand-drawn doodle illustration. Use simple black brush-pen outlines with slightly wobbly, imperfect strokes. Reduce all details to cute, childlike shapes while preserving the main subject and composition. Naive sketchbook aesthetic, playful and whimsical character design, clean white background, minimal linework, expressive simplicity, handmade doodle style, black ink drawing, charming imperfections, simple cartoon illustration.
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 main subject, pose, composition, and key details remain recognizable",
    "Simple black brush-pen outlines feel handmade, slightly wobbly, and intentionally imperfect",
    "Complex details reduce into cute, childlike shapes without flattening the subject beyond recognition",
    "The background stays clean white and the linework remains minimal",
    "The illustration feels playful and polished without warped anatomy, stray text, logos, or watermarks"
  ],
  "finalization": {
    "automaticPassRequired": true,
    "visualPassRequired": true,
    "reviewNotesRequired": true,
    "explicitApprovalFlag": "--approve-final"
  }
}