Whiteboard Animation
Turn any picture into a hand-drawn whiteboard animation video, from your AI assistant.
¿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": {
"whiteboard-animation": {
"url": "https://mcp.whiteboardanimation.ai/mcp"
}
}
}Puntos de conexión remotos
https://mcp.whiteboardanimation.ai/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (9)
🟢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
Evidencia