Whiteboard Animation

Turn any picture into a hand-drawn whiteboard animation video, from your AI assistant.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
93%
Integridad del esquema
66%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,366Tokens (definiciones de herramientas)
~925 BTamaño de respuesta típico
Impacto moderado en la atención (1.07% del contexto de 128k)

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": {
    "whiteboard-animation": {
      "url": "https://mcp.whiteboardanimation.ai/mcp"
    }
  }
}

Puntos de conexión remotos

https://mcp.whiteboardanimation.ai/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢quote

What drawing one picture costs, in credits, and the quote_version to pass when creating it.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢status

Call first. The signed-in workspace: its plan, credits left, drawings queued and running, and how many may queue.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "required": []
}
🟡create_upload(file_name, content_type, size)

Start uploading a picture: answers an upload_url to PUT the bytes to, with the given headers. Then call create_drawing with the upload_id. Not needed when the host attaches the picture to create_drawing itself.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "file_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "content_type": {
      "enum": [
        "image/png",
        "image/jpeg",
        "image/webp"
      ],
      "type": "string"
    },
    "size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10485760
    }
  },
  "required": [
    "file_name",
    "content_type",
    "size"
  ]
}
🟡create_drawing(upload_id, image, quote_version, max_credits, title, ...)

Draw a picture as a whiteboard animation. Spends credits (see quote). Answers at once with the drawing_id; the drawing takes a few minutes, follow it with get_drawing.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "upload_id": {
      "type": "string",
      "minLength": 1
    },
    "image": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string",
          "format": "uri"
        },
        "file_id": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url"
      ]
    },
    "quote_version": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "max_credits": {
      "type": "number",
      "minimum": 0
    },
    "title": {
      "type": "string",
      "maxLength": 120
    },
    "settings": {
      "type": "object",
      "properties": {
        "line_duration": {
          "type": "number",
          "minimum": 1,
          "maximum": 600
        },
        "color_duration": {
          "type": "number",
          "minimum": 1,
          "maximum": 600
        },
        "hold": {
          "anyOf": [
            {
              "const": 0
            },
            {
              "const": 0.08
            },
            {
              "const": 0.16
            },
            {
              "const": 0.32
            }
          ]
        },
        "color_order": {
          "enum": [
            "subject",
            "natural",
            "regions"
          ],
          "type": "string"
        },
        "strategy": {
          "enum": [
            "baseline",
            "regions",
            "attention",
            "cohesion"
          ],
          "type": "string"
        },
        "brush": {
          "type": "object",
          "properties": {
            "seed": {
              "type": "integer"
            },
            "size": {
              "type": "number",
              "minimum": 0.1,
              "maximum": 8
            },
            "swing": {
              "type": "number",
              "minimum": 0,
              "maximum": 8
            }
          },
          "required": [
            "seed",
            "size",
            "swing"
          ]
        }
      },
      "required": []
    }
  },
  "required": []
}
🟢get_drawing(drawing_id)

A drawing by id: its status and progress, its preview page, and once done the export options render_link accepts for it.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "drawing_id": {
      "type": "string"
    }
  },
  "required": [
    "drawing_id"
  ]
}
🟢list_drawings(limit)

The latest drawings in the library, newest first.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": []
}
🟢render_link(drawings)

One link that renders up to 20 of your drawings as files, each with its own choices (format, resolution, aspect, background, hand…; see get_drawing export_options). Opening it in a browser renders them one after another and saves each file to that browser’s downloads; drawings still being drawn are rendered once they finish. Follow it with wait_render.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "drawings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "drawing_id": {
            "type": "string",
            "minLength": 1
          },
          "format": {
            "enum": [
              "mp4",
              "webm",
              "png"
            ],
            "type": "string"
          },
          "resolution": {
            "enum": [
              "original",
              "720p",
              "1080p"
            ],
            "type": "string"
          },
          "aspect": {
            "enum": [
              "original",
              "16:9",
              "9:16",
              "1:1"
            ],
            "type": "string"
          },
          "background": {
            "enum": [
              "paper",
              "colour",
              "transparent",
              "layers"
            ],
            "type": "string"
          },
          "colour": {
            "type": "string",
            "pattern": "^#[0-9a-f]{6}$"
          },
          "skip": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "timing": {
            "enum": [
              "keep",
              "trim"
            ],
            "type": "string"
          },
          "hand": {
            "type": "string",
            "pattern": "^[\\w-]{1,40}$"
          },
          "hand_size": {
            "type": "number",
            "minimum": 0.65,
            "maximum": 1.5
          },
          "hand_direction": {
            "enum": [
              "auto",
              "right",
              "bottom"
            ],
            "type": "string"
          },
          "hand_tilt": {
            "type": "integer",
            "minimum": -15,
            "maximum": 15
          },
          "trace": {
            "type": "boolean"
          }
        },
        "required": [
          "drawing_id"
        ]
      },
      "minItems": 1,
      "maxItems": 20
    }
  },
  "required": [
    "drawings"
  ]
}
🟢wait_render(render_id, states)

A render link’s files: each drawing’s state (pending, rendering, saved, failed) and, once saved, its file name and size in the browser’s downloads. Pass back the states of the last answer: it answers as soon as any of them moves on, or after about 50 seconds.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "render_id": {
      "type": "string"
    },
    "states": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "render_id"
  ]
}
🟢wait_drawing(drawing_id, status, progress)

For the drawing card: answers get_drawing as soon as the drawing moves on from the status and progress the card last showed, or after about 50 seconds.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "drawing_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "progress": {}
  },
  "required": [
    "drawing_id"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas