Canonsheet

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
88%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,150토큰 (도구 정의)
~13.3 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 0.90%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (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.

입력 스키마

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

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 1개