generate-pack-cover
activev2026.08.06.1Compose the marketplace hero cover for a theme pack: a single composed scene rendered from the pack plan's cover instruction against MULTIPLE reference images (character sheet + hero assets — gpt-image-2 edits accept several inputs at high fidelity). Portrait 3:4, thumbnail-first composition. Contact-sheet preview grids remain the consumer's deterministic concern.
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
Compose covertool
2
Title the coverllmclassifier
systempromptTemplatemaxTokens
Model roles: imageEditor classifier bindings budgetPolicy
What you get — artifact
pack-covervisual
Version lineage
2026.08.06.1rev 40current2026-08-06
sha256:23ac81c2e…
2026.08.01.1rev 392026-08-02
sha256:1c019efaa…
2026.08.01rev 362026-08-02
sha256:fe8974ef3…
2026.08.01rev 342026-08-01
sha256:b149ffffb…
2026.07.14rev 12026-07-15
sha256:8ad47d769…
Full contract (as served)
GET /v1/catalog/workflows/generate-pack-cover
{
"_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-pack-cover",
"name": "Generate Pack Cover",
"description": "Compose the marketplace hero cover for a theme pack: a single composed scene rendered from the pack plan's cover instruction against MULTIPLE reference images (character sheet + hero assets — gpt-image-2 edits accept several inputs at high fidelity). Portrait 3:4, thumbnail-first composition. Contact-sheet preview grids remain the consumer's deterministic concern.",
"shortDescription": "Composed marketplace hero cover from pack references.",
"artifactClass": "visual",
"outputType": "visual",
"status": "active",
"supersededById": null,
"version": "2026.08.06.1",
"stages": [
{
"name": "Compose",
"description": "Render the hero cover from the references.",
"stepCount": 1
},
{
"name": "Classify",
"description": "Title the cover for the library.",
"stepCount": 1
}
],
"intakeSchema": {
"fields": [
{
"name": "coverInstruction",
"type": "string",
"required": true,
"description": "Full cover instruction (plan-clipart-pack coverConcept.instruction)"
},
{
"name": "referenceUrls",
"type": "string",
"required": true,
"description": "Comma-separated reference image URLs (character sheet + 2-4 hero assets)"
},
{
"name": "packTitle",
"type": "string",
"required": true,
"description": "Pack title (overlay text context)"
},
{
"name": "categories",
"type": "string",
"required": false,
"description": "Unused by this template; accepted so existing callers do not break"
},
{
"name": "assetCount",
"type": "number",
"required": false,
"description": "Element count for the '50 PNG'-style callout"
}
]
},
"runtimeSteps": [
{
"id": "step-1",
"name": "Compose cover",
"kind": "tool",
"inputPath": "intake.referenceUrls"
},
{
"id": "step-2",
"name": "Title the cover",
"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-compose",
"name": "Provider execution",
"type": "quality",
"inputs": [
"intake"
],
"outputs": [
"cover-image"
],
"unlocks": [
"step-2"
]
}
],
"artifactSchema": {
"artifactClass": "visual",
"artifactType": "pack-cover",
"files": [
"image/webp"
],
"metadata": {
"packTitle": "string",
"assetCount": "number",
"classification": "object"
}
},
"providers": {
"imageEditor": "redacted",
"classifier": "redacted"
},
"budgetPolicy": "redacted",
"versions": [
{
"version": "2026.07.14",
"revision": 1,
"contentHash": "sha256:8ad47d7697224b7f6cc2d4acfb5e1d2e3b92efb57c08ba4b0eab5428ab9c0f96",
"createdAt": "2026-07-15T15:18:56.341351Z"
},
{
"version": "2026.08.01",
"revision": 34,
"contentHash": "sha256:b149ffffb00516f3fb633b0bdf00b7d6ee0aad6ef92df4c1e28f378ed3069caf",
"createdAt": "2026-08-01T20:41:58.801568Z"
},
{
"version": "2026.08.01",
"revision": 36,
"contentHash": "sha256:fe8974ef390c48cc869d91a6d6a68b17dc3fef89c06ed01ae4dd47a2794d3572",
"createdAt": "2026-08-02T01:34:08.155995Z"
},
{
"version": "2026.08.01.1",
"revision": 39,
"contentHash": "sha256:1c019efaa508c6aeb568c8cd91977537af484f146475b0b0fe41d433acbdc0f5",
"createdAt": "2026-08-02T17:38:42.777841Z"
},
{
"version": "2026.08.06.1",
"revision": 40,
"contentHash": "sha256:23ac81c2e0629369933e56a53537ba97f68bf009b7eb8ebdd80c8110ea8cf2ac",
"createdAt": "2026-08-06T22:08:49.515685Z"
}
],
"updatedAt": "2026-08-06T22:47:28.956667Z"
}Snapshot generated 2026-08-13 from the live registry.