Canonsheet

Consistent prompts for one human character across image and video models. Paid per call, x402.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
88%
Qualität der Benennung
100%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,150Tokens (Tool-Definitionen)
~13.3 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (0.90% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "canonsheet": {
      "url": "https://canonsheet.kaneky.dev/mcp"
    }
  }
}

Remote-Endpunkte

https://canonsheet.kaneky.dev/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (1)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟡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.

Eingabe-Schema

{
  "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
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet1 Tools