anim-styles
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANIM_HOME | No | Directory where projects are stored. Defaults to ~/anim-styles-projects. Set this in the server's env to move projects. | |
| ANIM_TTS_CMD | No | A command that writes speech to a file. {text}, {text_file} and {out} are filled in. Runs without a shell. | |
| ANIM_TTS_KEY | No | API key for the ANIM_TTS_URL endpoint, only if it needs one. | |
| ANIM_TTS_URL | No | An HTTP endpoint that speaks the OpenAI /v1/audio/speech format, local or hosted. | |
| ANIM_TTS_MODEL | No | The model to use when ANIM_TTS_URL is configured. | |
| ANIM_TTS_VOICE | No | The voice to use when ANIM_TTS_URL is configured. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Makes short animated videos in named looks, all local. Flow: list_styles, get_style (read the card and the target frame), new_project, edit page.html (your own file tools, or read_file/write_file), stills (look at the sheet, fix, repeat), optional add_voice and add_media, render, check_video. Keep the look and swap the subject. Report the file path, and say that sound was measured, not heard.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_stylesA | Numbered menu of every look, grouped by purpose, with a picture sheet. Show this when the user has not picked a look or asks what is available. |
| get_styleB | One look in full: the rules that make it that look, what to keep and swap, and its target frame. Takes a name, alias or menu number. Read this before editing a page. |
| new_projectA | Start a project from a look's working starter page. Returns the folder; edit page.html there, swapping the subject and keeping the look. |
| read_fileB | Read a text file from a project, for clients with no file tools of their own. |
| write_fileB | Write a text file inside a project, for clients with no file tools of their own. Cannot write outside the project folder. |
| add_mediaA | Bring the user's own file into a project. Images and audio go to assets/. A video becomes frames in footage// plus audio.wav; draw it with shared/footage.js and add its sound through sound.json tracks. |
| add_voiceA | Add narration. No voice ships with this server: each line takes a |
| previewC | A local URL that plays the page live in a browser. It works while this server runs. |
| stillsB | Render frames and return them as one sheet. Do this after every change and compare with the target frame: does it still look like the style, can the text be read on a phone? |
| renderA | Render the page to video with motion blur and mix the sound. Returns when done, or a job id if it takes longer than about 40 s. |
| render_statusC | Wait on a render job and report it. |
| check_videoA | Size, length, loudness and frames from a finished file. A render can differ from a still, since stills skip motion blur, so check the real file. For counters pass adjacent times. |
| doctorA | Check this machine can render: ffmpeg, a browser, the voice setup. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| make_video | Make a short animated video on a topic |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools have clearly distinct workflow roles: style discovery, project setup, file/media/voice editing, previewing, rendering, and post-render checking. There is some conceptual overlap among preview, stills, render, and render_status, but the descriptions make their boundaries clear enough for selection.
The set is mostly snake_case and action-oriented (list_styles, get_style, check_video, read_file, new_project, add_media, render_status). A few names deviate from the verb_noun pattern, notably doctor, preview, stills, and render, but they remain readable and predictable.
With 13 tools, the surface matches the apparent animation/project rendering workflow without excessive fragmentation. Each tool appears to earn its place across setup, editing, preview, rendering, and verification.
The lifecycle is largely covered: discover styles, create a project, edit files, add media and voice, preview, render, check output, and diagnose the environment. Minor gaps exist around deleting/listing projects or media and cancelling jobs, but core workflows are supported.