generate-coloring-page
activev2026.07.04Generate a printable coloring page: clean black line art on a white background (no fills, no shading), plus classifier-produced catalog metadata.
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
1
Render line artimageimageGenerator
promptTemplate
2
Classify assetllmclassifier
systempromptTemplatemaxTokens
Model roles: imageGenerator classifier bindings budgetPolicy
What you get — artifact
coloring-pagevisual
Version lineage
2026.07.04rev 26current2026-07-26
sha256:10c84d784…
2026.07.04rev 12026-07-04
sha256:fde512a83…
Full contract (as served)
GET /v1/catalog/workflows/generate-coloring-page
{
"_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-07-28T04:45:44.335802Z",
"id": "generate-coloring-page",
"name": "Generate Coloring Page",
"description": "Generate a printable coloring page: clean black line art on a white background (no fills, no shading), plus classifier-produced catalog metadata.",
"shortDescription": "Printable line-art coloring page with classification.",
"artifactClass": "visual",
"outputType": "visual",
"status": "active",
"supersededById": null,
"version": "2026.07.04",
"stages": [
{
"name": "Render",
"description": "Compose the line-art prompt and call the image model.",
"stepCount": 1
},
{
"name": "Classify",
"description": "Produce catalog metadata.",
"stepCount": 1
}
],
"intakeSchema": {
"fields": [
{
"name": "prompt",
"type": "string",
"required": true,
"description": "Subject of the coloring page"
},
{
"name": "style",
"type": "enum",
"required": false,
"description": "Coloring style",
"default": "coloring",
"options": [
"coloring"
]
},
{
"name": "aspectRatio",
"type": "enum",
"required": true,
"description": "Aspect ratio",
"default": "3:4",
"options": [
"3:4",
"1:1",
"4:3"
]
},
{
"name": "quality",
"type": "enum",
"required": false,
"description": "Render quality tier",
"default": "medium",
"options": [
"low",
"medium",
"high"
]
},
{
"name": "categories",
"type": "string",
"required": true,
"description": "Comma-separated category slugs the classifier must choose from (empty fails the run in preflight)"
}
]
},
"runtimeSteps": [
{
"id": "step-1",
"name": "Render line art",
"kind": "image",
"role": "imageGenerator",
"promptTemplate": "redacted"
},
{
"id": "step-2",
"name": "Classify asset",
"kind": "llm",
"capability": "text",
"role": "classifier",
"jsonSchema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Catalog-ready title, <= 60 chars"
},
"slug": {
"type": "string",
"description": "kebab-case URL slug"
},
"description": {
"type": "string",
"description": "1-2 sentence SEO-friendly description"
},
"category": {
"type": "string",
"description": "Exactly one of the provided category slugs"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "3-8 search tags"
}
},
"required": [
"title",
"slug",
"description",
"category"
],
"additionalProperties": false
},
"system": "redacted",
"promptTemplate": "redacted",
"maxTokens": "redacted"
}
],
"gates": [
{
"id": "gate-render",
"name": "Provider execution",
"type": "quality",
"inputs": [
"intake"
],
"outputs": [
"line-art"
],
"unlocks": [
"step-2"
]
}
],
"artifactSchema": {
"artifactClass": "visual",
"artifactType": "coloring-page",
"files": [
"image/webp"
],
"metadata": {
"aspectRatio": "enum [3:4, 1:1, 4:3]",
"quality": "enum [low, medium, high]",
"classification": "object"
}
},
"providers": {
"imageGenerator": "redacted",
"classifier": "redacted"
},
"budgetPolicy": "redacted",
"versions": [
{
"version": "2026.07.04",
"revision": 1,
"contentHash": "sha256:fde512a832e869e9e8f20b4e0be2d4e839f1d578961e99ce7f64fd9d09b45576",
"createdAt": "2026-07-04T21:49:03.195883Z"
},
{
"version": "2026.07.04",
"revision": 26,
"contentHash": "sha256:10c84d7845b8f8639c3c94fe43273ef08568071e14202c2fafd0919463b6db45",
"createdAt": "2026-07-26T00:51:05.101830Z"
}
],
"updatedAt": "2026-07-26T00:51:05.101830Z"
}Snapshot generated 2026-07-28 from the live registry.