generate-character-set
activev2026.07.30Render 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
How it runs — step topology
Model roles: imageGenerator classifier bindings budgetPolicy
What you get — artifact
Version lineage
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.