Repository navigation
Releases: ToonFlick-Team/toonflick-releases
Releases · ToonFlick-Team/toonflick-releases
Release list
ToonFlick 0.14.0
0.14.0 — Voice and performance (2026-10-28)
Characters that talk and act: dialogue generated with ElevenLabs or recorded, lip-synced offline with Rhubarb (it comes with ToonFlick), a timeline row for each speaker, mouths that bend instead of swap, joysticks recorded live, expressions on any value, light layers, Photoshop and SVG imported with their layers, and eight new tutorials.
New
- Eight new tutorials: importing artwork (C5), music from MIDI (D7), expressions (D8), recording a joystick live (E10), a voice clip and lip-sync (F5), a mouth that bends (F6), light layers and lens flares (G4) and text that moves (G5).
- Dialogue in the asset library: a take of dialogue — its sound and its lines, letter by letter — published as a new asset kind (asset.publish kind dialogue, clip). Linked into another shot (asset.link, start) it lands as a sound clip on that frame and finds each speaker's mouth by the character's name (or the mouths you give), keyed at once — no new ElevenLabs call.
- A row for each speaker on the timeline, under the soundtrack: who speaks in the sound clips (the character whose mouth a line moves, or the voice), with their lines as bars (what is said on hover) and their mouth shapes to edit. Drag a line to move its clip in time — the mouths go with it and nothing is left where it was.
- Record live: in Pose Bones turn on the record button (●) and drag a joystick, slider or dial handle — the timeline plays from the current frame and every frame is keyed as you move (keys skipped by playback are cleared, the take ends when you let go or the timeline wraps), then thinned to the keys the motion needs. Performance animation with the mouse or a pen.
- Expressions: a formula on any animated value, worked out on every frame on top of its keys — Graph ▸ Motion ▾ ▸ Expression (or anim.modifier expr):
value(what the keys give),tseconds,frame,fps,part; + − × ÷ % ^ and sin, cos, abs, min, max, clamp, lerp, smoothstep, noise, wiggle(period, amount), pingpong, deg… Ready ones: Breathe, Bob, Spin, Jitter. Saved with the project; a broken formula is refused with what is wrong. - Viseme editor: the mouth shapes keyed from a voice clip show as chips under its waveform on the timeline — click one to choose another shape (or remove it, or go back to what was heard), drag it to move it. Hand-set shapes are kept whenever the mouth is keyed again (dialogue.fix, dialogue.clear_fixes).
- Help ▸ Examples ▸ Lip sync ▸ A mouth that bends: the bartender's mouth as one drawing (opening, teeth, tongue) made into morphs by Make Mouth Shapes; his line blends the shapes, with a smile over them.
- Moods on a bending mouth: Make Mouth Shapes also makes smile and frown morphs (the corners up or down); audio tags in a line — [laughs], [happy], [warmly], [angry], [sad], [sighs]… — turn them on over the mouth shapes for the line, easing in and out, so the shapes and the mood combine like blend shapes.
- Swapped mouth drawings also lead their sound by a frame now.
- Mouths that bend, not swap: Animation ▸ Sound & Lip Sync ▸ Make Mouth Shapes (Morphs) turns a drawn mouth — a layer, or a group of lips, teeth and tongue — into morphs for every mouth shape (rest, MBP, AI, E, O, U, WQ, FV, L, etc), closed, open, wide or round, ready to shape further by hand. Lip-sync then keys their weights: each shape rises a frame before its sound and blends into the next (coarticulation), silence comes back to rest. Morphs now move curve handles too, so a closing mouth flattens its curves.
- Lip-sync from the sound alone, offline: Rhubarb Lip Sync (MIT) now comes with ToonFlick (tools/rhubarb) — Lip-Sync a Clip…, From the sound: no text, no key, any language; the text, if given, guides it.
- Help ▸ Examples ▸ Lip sync: the three ways on one scene — the pub's bartender and the hotel's bellhop chatting at the bar, both with ten mouth drawings: from the sound (offline), with the text, and two speakers recognised in one recording.
- Lip-sync a recorded voice: Animation ▸ Sound & Lip Sync ▸ Import Voice Clip… puts a recording on the sound row at the playhead; Lip-Sync a Clip… moves the mouths from it — with the text said in it matched letter by letter (ElevenLabs forced alignment; a key without that permission falls back to recognition), or recognised with each speaker on their own mouth (ElevenLabs Scribe v2). Also lipsync.clip, sound.import_clip, sound.soundtrack_to_clip.
- Volume as on a player: the speaker by the player mutes and unmutes (muting mid-play goes quiet at once), the slider beside it sets the volume, the wheel over them turns it up or down; remembered for next time.
- Dialogue with ElevenLabs (Eleven v4) — Animation ▸ Sound & Lip Sync ▸ Dialogue…: write lines for the characters, pick a voice for each from your ElevenLabs account, Generate — the lines are said together into a sound clip at the playhead, and each character's mouth is keyed from when every letter is said (rest, MBP, AI, E, O, U, WQ, FV, L, etc), not just from loudness. Audio tags like [whispers] or [laughs] set the tone. Your own key (Preferences ▸ Services, or ELEVENLABS_API_KEY), kept on your computer; text is sent only when you press Generate. Also as commands: dialogue.generate, dialogue.voices, dialogue.lipsync.
- Sound clips next to the soundtrack: dialogue takes sit on the timeline's sound row (names and a bar per line); playback and renders mix them with the music. sound.clip_set moves one (its mouths come along), sets its volume; sound.clip_remove.
- Move a joystick on the stage: with Pose Bones, drag its frame (square, ring, slider track) or its name to put it somewhere else, on any frame — its recorded animation comes along; the handle inside still plays the stick.
- Help ▸ Examples ▸ Production ▸ Luna: a street at night: an old town corner drawn as an SVG and lit only by light layers — the night, the street lamp with a flare, a stuttering neon sign, the windows, the moon, and the car's headlights driving in with it; the cat watches the car; a little piano waltz.
- Help ▸ Examples ▸ Production ▸ The Irish pub: a painted pub with a vector bartender on the bellhop's rig, standing behind the counter — he talks: a welcome and a toast, "have a seat", a guest's order from off screen, said by ElevenLabs voices (the takes ship with the example), his ten new mouth drawings keyed from the dialogue; a flickering fire, lamps and a candle as light layers; a jig on the built-in piano.
- The Effect Guide and Animate Text render previews only for the cards on screen, and keep their first frames when closed, so they open with pictures at once.
- The examples gallery opens at once: small pictures of the examples come with the app and only the cards on screen load theirs (before, every example was built and rendered as the gallery opened).
- Light layers (Layer ▸ New ▸ Light, or the lamp button in Layers): a light is a layer now — move, turn and animate it like any layer, pick it by its lamp sign on the stage. Type Point, Spotlight (points the way the layer is turned; its cone shows on the stage) or Ambient (the night: the whole picture down towards its colour, the other lights shine through it). Colour, intensity, reach, softness, cone, haze and a lens flare, all keyable in Properties and on the timeline; the layer's opacity dims it.
- Lens flare on any layer: on a layer's effects it shines from the layer's pivot (X, Y shift it) — a glowing drawing, a sign, a sparkle.
- Hotel at night now lit by light layers (a flickering lamp, a flare, moonlight as a spotlight).
- Glow with a threshold (bloom): Threshold (and its Softness) on the Glow effect — only what's brighter than it glows, in its own colours. Scene ▸ Effects ▸ Bloom uses it.
- Lens flare effect: the flare a lens catches from a bright light at X, Y in the scene — a core, star rays, a streak, a halo and coloured ghosts down the line through the middle of the picture; size, strength, colour, streak and ghosts, all keyable.
- Light effect: a round lamp or a spotlight (Cone, Angle) at X, Y that lights what's around it, with Softness, Darken (the rest of the picture down: night scenes with pools of light) and Haze (the light in the air). Lights add up; flicker or pulse them like any effect.
- Help ▸ Examples ▸ Light & effects ▸ Hotel at night: the lobby lit by its lamps (one flickering), moonlight through the window, a lens flare and a bloom.
- File ▸ Import ▸ Photoshop or Layered Picture…: Photoshop .psd with its layers and folders, as picture layers where they sat on the canvas (saved as PNGs beside the project) — visibility, opacity, layer masks, fill opacity, clipping masks (a layer clipped to the one below) and blend modes (the light modes as Overlay); layer styles (stroke, shadow…) are listed as not brought over. Also OpenRaster .ora (Krita, GIMP, MyPaint) with its layers, and Krita .kra (its merged picture).
- File ▸ Import ▸ Illustrator, PDF or EPS…: Adobe Illustrator .ai (saved PDF-compatible, the default) and PDF pages as editable vector shapes — text as outlines, gradients, clipping, pictures — through the SVG import. EPS and old PostScript .ai with Ghostscript installed; without it an EPS's preview picture comes in and the status says what to install.
- Pictures: WebP, BMP, TIFF and TGA besides PNG, JPEG and GIF.
- Clipping and group masks take pictures too (by their alpha), not only filled shapes.
- Animation ▸ Animate Text… (and Text animation in Properties): ready-made letter animations for text layers, each letter on its own clock, one after another — Fade, Pop, Drop & bounce, Rise, Slide, Spin, Zoom, Flip, Typewriter, Wobble (letters arrive, or leave with Out), and Wave, Bounce, Jitter, Pulse, Swing (keep moving). Picked in a window of cards with moving previews; start, letters apart, length, order (→ ← ↔ random) and strength set in Properties. The text stays editable — the animati...
ToonFlick 0.13.3
0.13.3 — Preview: the first download (2026-10-27)
The first version to download from toonflick.com — a free preview. Tell us what you think: Preview · Feedback at the top right (Help ▸ Send Feedback…) opens a GitHub issue or an e-mail, version and system filled in. About fifty tutorials were walked click by click in the app; everything that didn't work on the way was fixed.
New
- The ToonFlick Discord: Help ▸ Join the Discord (and a link in Send Feedback) — ask, share your work, tell us what you'd like.
- After a few hours of animating, once, a small card asks whether you like ToonFlick: a star on GitHub, or tell us what's missing (Later asks again much later, Don't ask again never).
- Send feedback from the app: Preview · Feedback at the top right (Help ▸ Send Feedback…) — something's wrong, an idea or a question — opens a prefilled issue on ToonFlick-Team/toonflick-releases or an e-mail, with the version, system and graphics card if you want.
- Show only inside another layer (a clipping mask by layer): Properties ▸ Show only in, or Layer ▸ Mask ▸ Show Only Inside the Layer Below — an iris or a lid shown only inside the eye's white, with no group or mask roles; Layers marks it “in White”. Stop Clipping undoes it.
- ffmpeg comes with ToonFlick (Windows, macOS, Linux AppImage and tar.gz; the .deb uses the system's): MP4, MOV and WebM export without installing anything.
- The skeleton in the Layers panel, as an armature in Blender: a bone layer shows a Skeleton folder with its bones as a tree by parent — controllers (circle), poles (diamond) and IK marked. Click a bone to select it, double-click (or F2) to rename it, drag it onto another bone to hang it there (onto Skeleton: no parent), eye and lock per bone; typing a bone's name in the filter finds it. A drawing pinned to a bone says which ("→ Hand"). Picking a bone on the stage opens its Skeleton.
- Render ▸ Spritesheet…: the frames in a grid on one transparent picture with a TexturePacker-style .json (frame places, durations, frame rate) for Phaser, PixiJS, Godot and Unity.
- Bone ▸ Templates ▸ Humanoid (Side): the humanoid seen from the side, facing right, with the same bones and controllers — walks read best in profile. Walk Cycle ▸ Cartoon (Bouncy): longer steps with the knee lifted high, a deep dip on every contact, big arm swings, the chest leaning into the walk. Walk Cycle takes longer steps that fit the legs (the old ones shuffled).
- Graph ▸ Motion ▾: a wiggle (how far, how often, detail) and movement with the soundtrack's loudness on top of the keys of a curve — before, only scripts could set them.
- Help ▸ Let Agents Drive ToonFlick opens the control port in a running window, so an AI agent (bogo-mcp --attach) can drive it — before, only starting with --control did.
- Tutorials on toonflick.com: about fifty, from the first bouncing ball through drawing tool by tool, layers, animation, rigging, characters, look, camera and output to working in a team and with scripts and AI agents — each one walked in the app. Help ▸ Tutorials opens them, also from Quick Start.
- Effects ▸ Looks: Save as a Look keeps the current layer's (or scene's) effects as a look — before, only the scene's could be saved, from Render ▸ Look. The status bar says how many effects it holds. The empty Effects list is compact, so its Effect Guide button shows.
- Render ▸ Ready settings: 34 presets by where the video goes (YouTube 1080p/4K/720p/Shorts, TikTok, Instagram Reel/post/portrait/story, Facebook, X, LinkedIn, Vimeo, slides, phone preview, chat and square GIFs, a Telegram sticker, the web with or without transparency, ProRes for editing and broadcast, DCI 2K/4K film, EXR, PNG sequences, a half-size review copy with burn-in), with a search field — there were five.
Fixed and smoother (found while making the tutorials)
- A corrective on a drawing bound to a mesh works: editing it moved the points through the mesh a second time (the shape blew apart), and its moves then didn't show. The driver bone defaults to the one turned most on this frame, and the hint when nothing is turned says to turn it first.
- A new joystick's handle sits beside the skeleton (to the right of it), not at a fixed place where a bent limb could cover it; the hint under its cells wraps instead of running off the panel.
- A bone's Follow-through names its settings — swing (Hz), settle, gravity — with a line on what they do; before, three bare numbers.
- Properties: a row too wide for the panel (constraints, the shape's buttons) wraps instead of widening the whole panel and cutting every row off at its right edge; the shape's To Front and To Back buttons say Front and Back (their arrows drew as empty boxes).
- Gradient tool: the labels on the stage sit on a dark plate and name the bone ("follows Lower", "Lower · Click: the gradient follows this bone"); the status bar says which bone it follows. Messages count properly ("1 shape", "3 shapes" instead of "shape(s)").
- Auto Lip-Sync of a voice longer than the shot makes the shot longer (the status bar says to which frame) — the mouth keys used to run on past its end, so the end of the talking never played.
- Walk Cycle walks to the end of the shot (it stopped at the last whole cycle that fit — 49 of 72 frames — and the rest stood still). Walk Cycle and Repeat Cycle say in the status bar what they did and when the shot got longer. Filter fields have a name for screen readers.
- Cast Shadow on a layer adds the scene light when there is none (before, nothing showed); the editor no longer draws the selected shape's highlight round its shadow.
- Layer ▸ Particles presets go right above the selected layer like any new layer (they went on top of everything); particles are no longer outlined one by one when their drawing is selected.
- Camera ▸ Follow Selection brings what it follows into the middle when it starts out of the picture (the camera followed a ball it never showed); Follow and Shake say what they did. The Camera, Hand, Zoom and Rotate View tools have their own hint in the status bar.
- Render window: Whole shot renders frames 1 to the end (it started at frame 0, the setup frame); the Soundtrack switch is off when there is no soundtrack (it showed on); the format tiles and switches have names for screen readers.
- Render ▸ Contact Sheet includes every marked frame (they were left out when between its every-Nth frames), shows the marker's name on a plate at the top of its picture (it ran into the timecode), and says where it saved.
- Review ▸ + Note puts the keyboard in the new note's text, so you type straight away (typing went nowhere and left an empty note).
- A shot someone else is editing shows it on the stage — a red frame and a READ-ONLY band with who is editing and what to do; before, only the status line said so, and "Opened …" replaced it at once.
- Draw ▸ Gradient ▸ Follow a Bone… works: it takes the Gradient tool (with a gradient made first if the shape has none) and asks you to click the bone — the old Follow Selected Bone needed a shape and a bone selected at once, which selecting the bone undid.
- An opened character selects its skeleton (it selected a drawing, whose points then covered the face); the Examples cards and categories and the folded Controls bar have names for screen readers.
- Stop Following the Bone (and Alt+click on a bone with the Gradient tool) works — the “none” it sends was taken for “not given”.
- Crash recovery checked by killing ToonFlick mid-work: a saved shot offers its newer autosave when opened again, untitled work is offered at the next start; the tip card no longer opens on top of that question.
- Space+drag pans the stage without starting playback (Space plays when it is let go).
- Weight Paint draws every bone of the skeleton (the one under the pointer lit) so you can see what to click, and picking a bone in the Skeleton folder keeps the drawing you paint current.
- Motion paths: Ctrl+click anywhere along the path adds a key (it had to hit a frame's dot); a layer's path shows only the keys that move it, so Orient Along Path no longer covers it in diamonds.
- Over the Graph editor its keys are its own: F fits the curves (it picked the Freehand tool), and Delete, Ctrl+A, Ctrl+C and Ctrl+V work on its keys, not on the stage.
- The arrow keys always step frames; Shift+arrows move the selected points (Ctrl+Shift ten times as far).
- Esc closes the window on top (the Brushes window) and leaves the selection behind it alone; in Where Is…? one Esc closes it, also from its search field.
- Floating windows with a list (Where Is…?, Examples, Effect Guide, reports) no longer grow taller frame by frame after opening, up to the screen's edge.
- A drag that changes nothing no longer leaves the project "unsaved" (and offered for recovery).
- New layers are numbered like the first one (Layer 2, Bones 1, Group 1…) instead of all being called "Vector"; every tool keeps its own scroll of the options bar.
- A new shape is selected after drawing it, but not all its points: a point tool (Line Width, Select Points) works on the point you grab.
- A project still called Untitled takes the name of the file it is first saved as.
- A tool's options no longer run over the zoom and view buttons in a narrow window: they scroll sideways (wheel).
- Rectangle and Ellipse with Alt show the shape growing from the centre while dragging, not only after.
- Transform Points shows its own hint in the status bar; the Pen's tooltip says what it does (a click is a corner, Esc finishes).
- Counts in dialogs are whole numbers ("5", "3 times", not "5.00", "3.0 times"); a name typed into a prompt (Add Marker, Rename) replaces the suggested one instead of being added after it.
- Palette: in the Draw workspace it gets most of the right column, the swatches come right under Fill and Line (the gradient below), and double-clicking a swatch brings its editor into view.
- The line under a dialog's title...