The sellable animations come from code written for you, not from a free generator. Copy the instruction below into a chat with Muse, say what you want, then paste the code back here. It runs as a template, so preview, color controls, 4096 × 2160 60 FPS export and the metadata CSV all work on it.
Write ONE JavaScript function for a canvas animation, plus two comment lines. Reply with code only, no explanation, no markdown fences.
Format, exactly:
// TITLE: a stock video title, max 100 characters
// KEYWORDS: 12 to 15 comma separated keywords
// FILENAME: the-export-file-name (hyphenated, no extension, no spaces)
function draw(ctx, W, H, p, S) { ... }
Rules:
- ctx is a Canvas 2D context. W and H are the canvas size in pixels, up to 4096x2160. Scale every size relative to H, never hardcode sizes for one resolution.
- p is the loop phase from 0 to 1. The animation MUST loop seamlessly: the frame at p = 0 and p = 1 must be identical. Use p * Math.PI * 2 for angles, whole-number cycles per loop, and frac(x + p) wrapping for anything that crosses the screen.
- S has S.colorA, S.colorB and S.bg as hex color strings, S.density from 0.2 to 1.6, S.intensity from 0.2 to 1.8. Use these colors so the page color controls keep working.
- First fill the whole canvas with S.bg.
- Helpers that already exist and may be used: rnd(n) deterministic 0..1, clamp(v, a, b), frac(v), hexToRgb(hex) returns {r,g,b}, mixRgb(a, b, t), rgba(rgbObject, alpha) returns a css color string, drawGlow(ctx, x, y, radius, rgbObject, alpha).
- No DOM, no images, no network, no Date, no Math.random, no timers, no requestAnimationFrame. Those break the seamless loop and the frame by frame export.
- Keep it fast, it is drawn thousands of times at 4K: a few hundred shapes per frame at most.
- Make it rich and dense, premium stock footage quality, full frame, not a few thin lines on an empty background.
The animation I want: (write your description here)
Columns match the Adobe Stock and Shutterstock CSV upload format: Filename, Title, Keywords, Category, Releases.