create_project
Create a video project
Start a new video. Step 1 (scenario) opens right away.
tonetitlerequiredtopicrequiredformatlanguagetargetSecondsio.github.erickarazafimbahiny-uxPublished by GitHub account erickarazafimbahiny-uxv1.0.2Updated Oct 30, 2026
Turn your photo into a cartoon character and make animated explainer videos, step by step
Tsiky turns a user photo into a cartoon character and builds short animated explainer videos step by step, from script to final render.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Create a video project
Start a new video. Step 1 (scenario) opens right away.
tonetitlerequiredtopicrequiredformatlanguagetargetSecondsList video projects
List existing projects, most recent first.
Takes no parameters.
Project status
Show where a project stands and what the next step is.
projectIdrequiredValidate a step
Lock in a step after the USER explicitly approved it. Unlocks the next step.
stagerequiredprojectIdrequiredWrite the scenario
Store the full scenario, scene by scene (replaces any previous version). Returns a readable version to show the user.
scenesrequiredsourcesprojectIdrequiredEdit one scene
Change one scene of the scenario without touching the others.
changesrequiredsceneIdrequiredprojectIdrequiredShow the scenario
Readable version of the current scenario.
projectIdrequiredCreate the character from a photo
Build the cartoon character. Look at the user photo and describe ONLY what is visible: hair length/style/color, fringe, glasses and frame style/color/pattern, skin tone, top style/color, button color. Do not invent traits. Returns a character sheet image.
namerequirednotestraitsrequiredphotoPathprojectIdrequiredAdjust the character
Change some traits (partial update, e.g. {"hair":{"style":"bob"}}) and get a new character sheet.
changesrequiredprojectIdrequiredCharacter sheet
Render the current character sheet (5 expressions and poses).
projectIdrequiredVisual identity (optional step)
Set the visual identity the whole video follows. Every field is optional; call it again to change only some fields. If the user shares a logo, a brand guide or their website colours, read the colours from it and fill them in. Bundled fonts: Bricolage Grotesque (sans-serif), Caveat (handwritten), DM Sans (sans-serif), DM Serif Display (serif), Fraunces (serif), Inter (sans-serif), Lora (serif), Montserrat (sans-serif), Nunito (sans-serif), Playfair Display (serif), Poppins (sans-serif), Space Grotesk (sans-serif). Or pass a font file path (woff2, woff, ttf, otf). Colours: bg = page background, surface/surface2 = shapes and panels, card = cards and bubbles, accent/accentDeep = highlights, ink = titles, text = body text, muted = small text.
logooutroshapecolorscornerspatternbodyFonttextCaseprojectIdrequiredseriesNameheadingFontcaptionStyle+1 moreBrand board
Render the brand board: palette, fonts, logo and three frames of this video in that identity. Show it to the user before validate_stage "brand".
projectIdrequiredPreview one scene
Render one frame of one scene, at any step (a placeholder character is used until the character is made). Use it to check a drawn decor or a layout before the storyboard.
sceneIdrequiredprojectIdrequiredFind icons
Search the icon set (Lucide, about 2,000 line icons) by keyword, to use in scene "icons" or column "icon".
queryrequiredStoryboard (key images)
Render one key image per scene with the validated script and character, assembled into a storyboard board. Pass sceneIds to re-render only some scenes.
sceneIdsprojectIdrequiredAvailable voices
List the local synthetic voices.
Takes no parameters.
Generate the voice
Synthesize the narration of every scene (or only sceneIds). Each scene is said in its voiceTone (pitch, pace, energy, pauses, breaths and timbre), with *stressed* words and ... hesitations from the narration. Returns a voice-only preview. To change how one line sounds: update_scene with voiceTone or markup, then generate_voice with sceneIds.
speedvoicesceneIdsprojectIdrequiredexpressivenessUse the user's own voice
Replace the voice of one scene with a recording made by the user (any audio format). The mouth animation follows the recording.
pathrequiredsceneIdrequiredprojectIdrequiredChoose the music
Build the music bed and the full mix. With a voice-over, the music ducks under the voice. With voiceOver false, the video has background music only: no narration, the character does not speak and the narration stays on screen as captions. Moods: pop = Bright pop played on real recorded instruments (acoustic guitar, piano, bass, real drums); acoustic = Warm acoustic on real instruments (fingerpicked guitar, piano, shaker); lofi = Soft lo-fi (electric piano, round bass, light drums); piano = Calm piano, no drums; upbeat = Bright and light (nylon guitar, claps); halloween = Playful Halloween music box (celesta, A minor, no drums); none = No music, voice only.
moodrequiredprojectIdrequiredvoiceOversoundEffectsPlay the full mix
Return the current voice + music mix.
projectIdrequiredRender the final video
Start rendering the final video in the background (needs steps 1 to 4 validated). Poll get_render_status.
projectIdrequiredRender progress
Progress of the final render; returns the video path when done.
projectIdrequired65% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.
Declare a license in the repository or the registry entry.