Canonsheet
Consistent prompts for one human character across image and video models. Paid per call, x402.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"canonsheet": {
"url": "https://canonsheet.kaneky.dev/mcp"
}
}
}Puntos de conexión remotos
https://canonsheet.kaneky.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (1)
🟡build_character_prompts(appearance, choices, custom_traits, has_reference, name, ...)
Build a consistent prompt set for one human character: a canonical image prompt with every appearance fact labelled, negative prompts that stop traits like glasses or a cane from vanishing, a video prompt, and optionally a contact sheet that holds everything fixed and walks one axis. Works with any image or video model. Text keeps wardrobe and framing stable; for the same FACE across images, generate the canonical frame once and pass it back as a reference image (has_reference). Paid per call over x402: the first attempt answers HTTP 402 with the price. Invalid arguments are refused before any payment.
Esquema de entrada
{
"type": "object",
"properties": {
"appearance": {
"additionalProperties": false,
"description": "The canon. Every prompt carries it verbatim. At least one field, or a trait, is required.",
"properties": {
"build": {
"description": "height, frame, posture",
"type": "string"
},
"distinguishing": {
"description": "the one detail someone would describe first",
"type": "string"
},
"eyes": {
"description": "colour, shape, anything unusual",
"type": "string"
},
"face": {
"description": "features, apparent age, how they hold their expression",
"type": "string"
},
"hair": {
"description": "colour, length, style",
"type": "string"
},
"held": {
"description": "bag, phone, cup, tool — what the hands actually hold",
"type": "string"
},
"outfit": {
"description": "materials, colours, silhouette",
"type": "string"
},
"skin": {
"description": "tone, texture, freckles, scars, lines",
"type": "string"
}
},
"type": "object"
},
"choices": {
"additionalProperties": false,
"description": "The shot. Unset axes use neutral defaults.",
"properties": {
"action": {
"description": "Action. One of: standing, squared, walking, turning, over-shoulder, seated, leaning, arms-crossed, reaching, crouched, speaking, still-profile, sitting-desk, hands-pockets, laughing — or free text of your own.",
"type": "string"
},
"angle": {
"description": "Camera angle. One of: eye, low, high, three-quarter-turn, profile, none",
"enum": [
"eye",
"low",
"high",
"three-quarter-turn",
"profile",
"none"
],
"type": "string"
},
"environment": {
"description": "Environment. One of: seamless, neutral, interior, street, landscape, none — or free text of your own.",
"type": "string"
},
"lens": {
"description": "Lens. One of: 35, 50, 85, 135, none",
"enum": [
"35",
"50",
"85",
"135",
"none"
],
"type": "string"
},
"lighting": {
"description": "Lighting. One of: soft-key, rim, golden, overcast, low-key, practical, none",
"enum": [
"soft-key",
"rim",
"golden",
"overcast",
"low-key",
"practical",
"none"
],
"type": "string"
},
"seed": {
"description": "Hold it across a set; a contact sheet is only comparable with the seed fixed.",
"type": "string"
},
"shot": {
"description": "Shot size. One of: full, three-quarter, medium, close, extreme-close",
"enum": [
"full",
"three-quarter",
"medium",
"close",
"extreme-close"
],
"type": "string"
},
"style": {
"description": "Render style. One of: photo, cinematic, illustration, painterly, render3d, anime",
"enum": [
"photo",
"cinematic",
"illustration",
"painterly",
"render3d",
"anime"
],
"type": "string"
}
},
"type": "object"
},
"custom_traits": {
"items": {
"additionalProperties": false,
"description": "A trait not in the list.",
"properties": {
"description": {
"description": "e.g. Red knit scarf, wrapped twice",
"type": "string"
},
"name": {
"description": "e.g. Scarf",
"type": "string"
}
},
"type": "object"
},
"maxItems": 6,
"type": "array"
},
"has_reference": {
"description": "True when a canonical image will be attached; the prompts then defer the face to it.",
"type": "boolean"
},
"name": {
"description": "What to call the character in the prompt. Optional.",
"type": "string"
},
"traits": {
"additionalProperties": false,
"description": "Details models tend to drop. Include a key only if the character has it.",
"properties": {
"facial-hair": {
"description": "style, length, how grey. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
},
"glasses": {
"description": "frame shape, colour, thickness, tint. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
},
"headwear": {
"description": "what it is, how it sits, how much hair it covers. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
},
"ink": {
"description": "where they are, what they show, how visible under clothing. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
},
"mobility": {
"description": "wheelchair, cane, crutches, prosthesis — type, material, which side. Adds a negative prompt that stops it disappearing between generations.",
"type": "string"
}
},
"type": "object"
},
"video": {
"additionalProperties": false,
"description": "The clip.",
"properties": {
"ambient": {
"description": "Ambient",
"enum": [
"still",
"breeze",
"dust",
"flicker"
],
"type": "string"
},
"camera": {
"description": "Camera move",
"enum": [
"locked",
"push-in",
"push-out",
"orbit"
],
"type": "string"
},
"motion": {
"description": "Motion",
"enum": [
"blink",
"breathe",
"weight",
"turn-to",
"look-away",
"smile",
"step",
"speak",
"hair"
],
"type": "string"
}
},
"type": "object"
},
"walk_axis": {
"description": "Return a contact sheet: one prompt per option of this axis, everything else held.",
"enum": [
"action",
"shot",
"angle",
"lens",
"lighting",
"environment",
"style"
],
"type": "string"
}
},
"additionalProperties": false
}Comunidad
Evidencia