How do I turn a logo into a motion graphic with AI?
Give an agent connected to the FLORA MCP your logo file and describe the reveal. For an exact reveal, FLORA's motion compositor skill animates the real file and renders an MP4 on your machine with no generation cost: our 3-second FLORA wordmark reveal rendered in 9 seconds. For generated motion, Seedance 2.5 animated a test logo in 4 minutes 11 seconds for $2.447.
Key takeaways
- The flora-motion-compositor skill, fetched through the FLORA MCP, rendered a 3-second 1080p reveal of the FLORA wordmark in 9 seconds with no generation charge.
- Two compositor renders of the same scene file were byte-identical, so a change means editing numbers and rendering again.
- Our 5-second 720p Seedance 2.5 reveal of a test logo cost $2.447 and took 4 minutes 11 seconds.
- Seedance ended on the exact logo, but one letter appeared on its own mid-clip, so generated reveals need a frame-by-frame check.
At a glance
| What it does | Animates a static logo into a short reveal |
|---|---|
| Works in | Compositor: Claude Code, Cursor or Codex with a shell. Seedance: any client with the FLORA MCP |
| Tools | flora-motion-compositor skill; Seedance 2.5 image-to-video, id i2v-gengateway-seedance-2-5-i2v |
| Inputs | The logo as SVG or PNG, plus a description of the reveal |
| Outputs | MP4: 3 s at 1920 x 1080, 30 fps (compositor); 5.04 s at 1280 x 720, 24 fps (Seedance) |
| Typical cost | No generation charge for the compositor; $2.447 for 5 seconds of Seedance at 720p |
| Typical time | 9 seconds to render (compositor); about 4 minutes (Seedance) |
What you need
- An agent with the FLORA MCP installed. Install steps are in the FLORA MCP docs.
- For the compositor: an agent with a shell, Python 3 with Pillow and numpy, ffmpeg, and Chrome to turn an SVG logo into a PNG.
- For Seedance: a FLORA workspace with video generation.
- The logo as an SVG or a large PNG. For Seedance, place it on a flat background in a 16:9 or 9:16 frame with room around it.
Best for
- End cards for social videos and ads
- Intro stings for videos, podcasts and streams
- Quick tests of how a mark could move before a motion designer animates it
- Brands without a motion designer on hand
Step by step
Step 1: Get the logo file
Use the SVG when you have one; the compositor turns it into a sharp PNG. For Seedance, the image you animate is the frame the reveal lands on, so put the logo on a flat background in the video's aspect ratio, centered, with clear space around it.
Step 2: For an exact reveal, use the motion compositor
Ask the agent to fetch the flora-motion-compositor skill through the FLORA MCP and write a scene file: the logo as an image layer, its moves as keyframes, then a frame check and a render. Nothing is generated, so the logo stays the real file in every frame.
Fetch the flora-motion-compositor skill with flora_discover_skills and run it on my logo SVG. 1920 x 1080, 30 fps, 3 seconds, near-black gradient background. The logo fades up and rises into place over about 1.3 seconds with a short focus pull, and a slow 4% camera push runs the whole shot. Check frame 0 and a six-frame strip before the full render.Step 3: For generated motion, describe the build piece by piece
Say which part appears first, how it moves and how it settles. Keep it to two or three beats for a 5-second clip. End with a line that pins the final frame.
Animate my logo with Seedance 2.5 through FLORA, 5 seconds, 720p, 16:9. On the flat off-white background, the three triangles of the pine mark drop into place one after another, top to bottom, with a soft settle. Then the HALDEN wordmark slides in from the left. End on the exact still logo. Flat 2D motion, no camera move, no particles, no new elements, letters stay exactly as spelled.Step 4: Check the type frame by frame
Look at the first frame, a strip across the clip and the last frame. A generated clip can show letters in the wrong order mid-move even when the ending is right; a composited one can show a layer sitting where you did not expect it. Fix the prompt or the scene file and render again.
Step 5: Cut it onto the end of your video
Ask the agent to put the reveal at the end of your edit on a FLORA timeline, or download the MP4 for your editor. Add the sound design there.
What happened when we turned a logo into a motion graphic in FLORA?
On October 16, 2026, the agent fetched the flora-motion-compositor skill with flora_discover_skills. The MCP returned the skill's instructions, its scene schema and its renderer, comp.py, a Python script that composites real files and fonts frame by frame and pipes them to ffmpeg. We ran it on the FLORA wordmark SVG served from FLORA's marketing site, recolored white for a dark background.
The scene file set 1920 x 1080 at 30 fps for 3 seconds on a near-black gradient with a 0.4 vignette and light grain. The wordmark, 900 pixels wide, fades up over 0.5 seconds, rises 60 pixels and scales from 94% to full size over about 1.3 seconds, and comes into focus from a 12-pixel blur in 0.6 seconds, while a 4% camera push runs the whole shot. comp.py turned the SVG into a 1791 x 286 PNG through headless Chrome, rendered frame 0 and a six-frame strip as checks, then rendered the full shot: 90 frames, a 2.5 MB H.264 MP4, in 9 seconds. No FLORA generation ran, so nothing was charged. We rendered it a second time and the two files had the same SHA-1 hash.
What went wrong with the compositor: the first version added a 120-pixel accent rule under the wordmark. It landed just below the F's underline and read as part of the logo. We deleted that layer from the scene file and rendered again in 9 seconds.
For comparison, we made a test logo with t2i-gpt-image-2-5-flare for $0.055: a pine tree mark of three stacked triangles beside the wordmark HALDEN in a wide geometric sans, flat dark green on off-white, centered in a 16:9 frame.
The agent added a video node with flora_add_to_canvas, model i2v-gengateway-seedance-2-5-i2v, duration 5, aspect_ratio 16:9, resolution 720p, wired to the logo image, and started it with flora_run_canvas_nodes. It polled flora_list_generations until the run completed after 4 minutes 11 seconds. The charge was $2.447.
The clip is 5.04 seconds at 1280 x 720, 24 fps. It opens on an empty off-white frame. One triangle drops in, then the second and third stack beneath it into the pine mark. The wordmark arrives next, and the last second holds on the full logo with HALDEN spelled correctly, in the right color, on a clean background.
What went wrong with Seedance: we asked for the wordmark to slide in from the left, and mid-clip the letter N appears on its own beside the mark before the rest of the word fills in. The mark also starts higher in the frame and drifts down to its final spot, which we had not asked for. The clip still ends clean, so it works as an end card, but the middle frames are not on brand. The motion compositor avoids that, because it never redraws the logo.

- Compositor
- flora-motion-compositor via flora_discover_skills; comp.py, 9 s render, no charge
- Seedance tools called
- flora_add_to_canvas, flora_run_canvas_nodes, flora_list_generations
- Seedance cost
- $2.447 for the clip, $0.055 for the test logo
- Seedance time
- 4 min 11 s
| Reveal | What to say | Risk to the type |
|---|---|---|
| Build | Each part of the mark drops in, in order, then the wordmark | Medium: letters can appear out of order |
| Fade and settle | Logo fades up from the background and settles with a slight scale | Low |
| Draw on | The mark's lines draw themselves, then the wordmark fades up | Medium |
| Reveal by light | A soft light sweep crosses the logo, which is already in place | Low |
| Object to logo | A real object turns into the mark | High: the model reshapes the mark |
Generated reveal or composited reveal: pros and cons
Pros
- Generated reveal (Seedance 2.5): motion with weight and settle from one prompt, no keyframes.
- Generated reveal: can add texture, light and physical effects around the logo.
- Composited reveal (motion compositor skill): every frame is the real file and set type, so nothing is misspelled.
- Composited reveal: rerenders identically after a change.
Cons
- Generated reveal: letters can appear out of order or reshape mid-move, so check every frame.
- Generated reveal: each run is a paid video generation that takes minutes.
- Composited reveal: limited to moves you describe exactly, such as slides, scales, tilts and staggered type.
- Composited reveal: runs on your machine, so it needs an agent with a shell and Python, not a chat-only client.
How do I keep the logo from changing shape?
Keep the move simple, the background flat and the camera still. Say the clip ends on the exact still logo and that the letters stay as spelled. Builds with many moving pieces give the model more chances to redraw something.
- Use a flat background with no texture or gradient.
- Ask for two or three beats in 5 seconds, not six.
- Name what must not happen: no particles, no new elements, no camera move.
- Check the middle frames, not only the last one.
Can I get a vertical version for Stories?
Yes. With the motion compositor, set the scene size to 1080 x 1920, move the logo to the new center and render again. With Seedance, make the end frame at 9:16 with the logo centered and run it again, or reframe the finished clip with FLORA's video resize workflow. A reveal made for 9:16 from the start usually holds better than a reframe.
Does the clip have sound?
Seedance 2.5 clips can come with an audio track, but a logo sting usually wants designed sound, such as a chime or a hit timed to the last beat. Add it on a FLORA timeline or in your editor.
Frequently asked questions
How much does a logo animation cost in FLORA?
Our 3-second composited reveal had no generation charge, because the motion compositor renders on your machine. Our 5-second 720p reveal on Seedance 2.5 cost $2.447.
Can I use my real logo file?
Yes. Give the agent a link to a PNG, or in Claude Code, Cursor or Codex point it at the file. Place it on a flat background in the video's aspect ratio first.
How long does it take?
The composited FLORA wordmark reveal rendered in 9 seconds. The Seedance 2.5 clip took 4 minutes 11 seconds from start to finished file.