generate-character-set

activev2026.07.30

Render the practitioner-standard labeled character reference sheet (front view, full-body, three-quarter view, expression grid — name written on the sheet, plain neutral background) from a character bible. The sheet is the visual anchor for reference-consistent generation: pass its URL to generate-clip-art-asset-ref and generate-pack-cover. Product-agnostic — storyboard/scene pipelines can consume the same character-set artifact. sheetComplexity picks the board tier and defaults to 'master' (the comprehensive identity board — turnaround with scale marks, expressions, head details, hero close-up, posture variations, wardrobe callouts, hand gestures), whose extra panels anchor character identity for downstream video generation (animate-character) and make the sheet a deliverable in its own right. 'standard' (turnaround + 8-expression grid + palette) and 'minimal' (the original bare turnaround anchor) remain available for cheap pack fan-out.

This page renders the template’s published registry entry — the contract itself, not a description of it. Immutable versions; sealed properties exist but are not public.

What you provide — intake contract

FieldTypeRequiredDefaultDescription
characterSpecstringrequiredThe character bible (compactBible or full spec text)
styleenum
flatminimaloutlineblack-and-whitecartoonmascotstickeremojivintagewatercolorstorybookisometricclaychibipixelkawaii3ddoodle
required"flat"Pack style
packTitlestringoptionalPack context for the sheet label
qualityenum
lowmediumhigh
optional"medium"Render quality tier
sheetComplexityenum
minimalstandardmaster
optional"master"Board tier: master (default) = comprehensive identity board — turnaround with scale marks, expressions, head details, hero close-up, posture variations, wardrobe callouts, hand gestures; standard = turnaround + 8-expression grid + palette; minimal = bare turnaround style anchor for cheap pack fan-out

How it runs — step topology

1
Render model sheetimageimageGenerator
promptTemplate
2
Title the sheetllmclassifier
systempromptTemplatemaxTokens

Model roles: imageGenerator classifier bindings budgetPolicy

What you get — artifact

character-setvisual

Version lineage

2026.07.30rev 40current2026-08-06
sha256:be60de10b
2026.07.30rev 252026-07-31
sha256:a7cf41588
2026.07.29rev 232026-07-30
sha256:874b5c7bd
2026.07.14rev 12026-07-15
sha256:3bd625867

Full contract (as served)

GET /v1/catalog/workflows/generate-character-set
{
  "_comment": "SYNCED SNAPSHOT — do not hand-edit. Regenerate with: node scripts/sync-workflow-catalog.mjs (pulls api.esy.com GET /v1/catalog/workflows/{id}).",
  "generatedAt": "2026-08-13T02:30:34.277473Z",
  "id": "generate-character-set",
  "name": "Generate Character Reference Set",
  "description": "Render the practitioner-standard labeled character reference sheet (front view, full-body, three-quarter view, expression grid — name written on the sheet, plain neutral background) from a character bible. The sheet is the visual anchor for reference-consistent generation: pass its URL to generate-clip-art-asset-ref and generate-pack-cover. Product-agnostic — storyboard/scene pipelines can consume the same character-set artifact. sheetComplexity picks the board tier and defaults to 'master' (the comprehensive identity board — turnaround with scale marks, expressions, head details, hero close-up, posture variations, wardrobe callouts, hand gestures), whose extra panels anchor character identity for downstream video generation (animate-character) and make the sheet a deliverable in its own right. 'standard' (turnaround + 8-expression grid + palette) and 'minimal' (the original bare turnaround anchor) remain available for cheap pack fan-out.",
  "shortDescription": "Labeled character reference model sheet.",
  "artifactClass": "visual",
  "outputType": "visual",
  "status": "active",
  "supersededById": null,
  "version": "2026.07.30",
  "stages": [
    {
      "name": "Render",
      "description": "Render the labeled model sheet.",
      "stepCount": 1
    },
    {
      "name": "Classify",
      "description": "Title the sheet for the library.",
      "stepCount": 1
    }
  ],
  "intakeSchema": {
    "fields": [
      {
        "name": "characterSpec",
        "type": "string",
        "required": true,
        "description": "The character bible (compactBible or full spec text)"
      },
      {
        "name": "style",
        "type": "enum",
        "required": true,
        "description": "Pack style",
        "default": "flat",
        "options": [
          "flat",
          "minimal",
          "outline",
          "black-and-white",
          "cartoon",
          "mascot",
          "sticker",
          "emoji",
          "vintage",
          "watercolor",
          "storybook",
          "isometric",
          "clay",
          "chibi",
          "pixel",
          "kawaii",
          "3d",
          "doodle"
        ]
      },
      {
        "name": "packTitle",
        "type": "string",
        "required": false,
        "description": "Pack context for the sheet label"
      },
      {
        "name": "quality",
        "type": "enum",
        "required": false,
        "description": "Render quality tier",
        "default": "medium",
        "options": [
          "low",
          "medium",
          "high"
        ]
      },
      {
        "name": "sheetComplexity",
        "type": "enum",
        "required": false,
        "default": "master",
        "options": [
          "minimal",
          "standard",
          "master"
        ],
        "description": "Board tier: master (default) = comprehensive identity board — turnaround with scale marks, expressions, head details, hero close-up, posture variations, wardrobe callouts, hand gestures; standard = turnaround + 8-expression grid + palette; minimal = bare turnaround style anchor for cheap pack fan-out"
      }
    ]
  },
  "runtimeSteps": [
    {
      "id": "step-1",
      "name": "Render model sheet",
      "kind": "image",
      "role": "imageGenerator",
      "promptTemplate": "redacted"
    },
    {
      "id": "step-2",
      "name": "Title the sheet",
      "kind": "llm",
      "capability": "text",
      "role": "classifier",
      "jsonSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "title": {
            "type": "string",
            "description": "Library-ready title, <= 60 chars"
          },
          "slug": {
            "type": "string",
            "description": "kebab-case URL slug"
          },
          "description": {
            "type": "string",
            "description": "1 sentence"
          }
        },
        "required": [
          "title",
          "slug",
          "description"
        ]
      },
      "system": "redacted",
      "promptTemplate": "redacted",
      "maxTokens": "redacted"
    }
  ],
  "gates": [
    {
      "id": "gate-render",
      "name": "Provider execution",
      "type": "quality",
      "inputs": [
        "intake"
      ],
      "outputs": [
        "model-sheet"
      ],
      "unlocks": [
        "step-2"
      ]
    }
  ],
  "artifactSchema": {
    "artifactClass": "visual",
    "artifactType": "character-set",
    "files": [
      "image/webp"
    ],
    "metadata": {
      "style": "string",
      "sheetComplexity": "enum [minimal, standard, master]",
      "packTitle": "string",
      "classification": "object"
    }
  },
  "providers": {
    "imageGenerator": "redacted",
    "classifier": "redacted"
  },
  "budgetPolicy": "redacted",
  "versions": [
    {
      "version": "2026.07.14",
      "revision": 1,
      "contentHash": "sha256:3bd625867018ccf8e254b4c86eea888c62906e9344502a4b20ecc61b9e0295d4",
      "createdAt": "2026-07-15T15:18:55.780841Z"
    },
    {
      "version": "2026.07.29",
      "revision": 23,
      "contentHash": "sha256:874b5c7bdebcd5f8f5260e8f2d21bdc73d7c2642e1923d3838757da235ceacde",
      "createdAt": "2026-07-30T08:19:50.795565Z"
    },
    {
      "version": "2026.07.30",
      "revision": 25,
      "contentHash": "sha256:a7cf415888359e00de528ff4750364265f485fdc0b532c4893f9d9e6115e2700",
      "createdAt": "2026-07-31T17:44:51.527785Z"
    },
    {
      "version": "2026.07.30",
      "revision": 40,
      "contentHash": "sha256:be60de10b9a6d04f7668e6ad80cccf34c742d676205e2c858d2c21b3e86fbe21",
      "createdAt": "2026-08-06T22:08:49.062839Z"
    }
  ],
  "updatedAt": "2026-08-06T22:47:28.552717Z"
}

Snapshot generated 2026-08-13 from the live registry.