Motion Vector Studio

Draw procedural SVG animations in code, preview them live, and export stock-ready MP4 video. Everything runs in your browser.

Preview

The animation loops from t = 0 to t = 1 over the chosen duration. The same seed is used for every frame, so random() stays consistent while t moves.

Checking video support...

Code Editor

Write a function named draw(svg, W, H, t, random). t runs 0 to 1. random() is seeded, so the same seed gives the same shapes every frame.

Helper API

svg.background(color) - svg.circle(cx, cy, r, fill) - svg.rect(x, y, w, h, fill) - svg.roundRect(x, y, w, h, r, fill) - svg.ellipse(cx, cy, rx, ry, fill) - svg.line(x1, y1, x2, y2, stroke, width) - svg.path(d, fill, stroke) - svg.polygon(points, fill) - svg.polyline(points, stroke, width) - svg.text(x, y, str, size, fill, font)

Export

MP4 is H.264 with faststart, 30 fps, at the width above. Height follows the canvas aspect ratio. SVG and PNG export the current frame.

Log in to see your monthly export usage.

About EPS export

The EPS writer covers basic filled and stroked shapes (rect, circle, ellipse, polygon, polyline, line, and simple paths with M, L, C, Z). Text is written with the standard Helvetica font. Gradients, opacity, and filters are not exported.

Prompt Builder

Pick the options and copy the prompt into ChatGPT, Gemini, or Claude. Paste the draw() code it returns back into the editor above. You can leave any option on Auto.

Batch Generator

Runs the current code once per file, each time with a different seed, and downloads one ZIP of SVG files. Tick PNG to also include a 2000 px wide PNG render per file.

Saved Projects

Save the current code and settings to your account. Log in to use projects.

Log in to save and load projects.

Metadata CSV

Generates one CSV row per platform (Adobe Stock and Shutterstock) for the current design. Keep the title short and the keywords comma separated.