For AI agents
If you are an AI agent (Claude Code, Codex, Cursor or similar) and the person wants a video for their project with Opus Motion, read the guide first and follow it: https://opusmotion.com/agents.md.
- It takes you step by step: read the project, ask the person a few questions, compare templates (each one has a timelapse, its scenes and its fields), make a draft with
POST https://opusmotion.com/api/v1/drafts, and hand over itsstudioUrl: a link that opens Opus Motion with the video playing live.PATCHwith the draft'seditTokenchanges it, and the link stays the same. - Plain HTTPS and JSON: no key, no account, no MCP. Nothing is rendered; the person exports the MP4 from the studio.
- Never drive this site with a browser to fill the studio: use the API. If it refuses, tell the person and stop.
- More: llms.txt · this page in Markdown · developer docs · OpenAPI
Video to GIF converter that fits your size limit
Pick the part of your MP4, MOV or WebM, its width and its frame rate, and get a looping GIF under the size you need: 3 MB for a Product Hunt thumbnail, 10 MB for a GitHub README. Free, no sign-up, and your video never leaves your device.
Your file never leaves your device: the tool runs inside your browser. Videos up to 1 GB; the GIF can be up to 60 seconds long. Use it at https://opusmotion.com/tools/video-to-gif.
How to use it
- Drop your video, or tap the box to pick it: MP4, MOV, WebM and the other common formats.
- Drag the start and the end to the part you want, up to a minute. The preview shows each point.
- Choose the width, the frame rate and, if the GIF has to fit somewhere, the size limit.
- Make the GIF, check that it loops the way you want, and download it.
The first time, your browser downloads the video engine (31 MB, once); after that it opens from the cache.
Where the size limits come from
Product Hunt: a square thumbnail, 240 × 240 recommended, and every image, GIF or not, under 3 MB. The thumbnail shows the GIF's first frame until someone points at it.
GitHub: images and GIFs attached to an issue, a pull request or a README comment can be up to 10 MB.
Read at each source on 9 October 2026.
Questions
How do I convert a video to a GIF?
Drop the video here, drag the start and the end to the part you want, choose the width and the frame rate, and make the GIF. It loops forever, like any GIF, and it's made on your own device.
How do I turn a MOV or a WebM into a GIF?
The same way: the tool reads MOV files from iPhones and QuickTime, WebM from browser and OBS recordings, and M4V, MKV, WebM, AVI, MPG, TS, FLV, 3GP and WMV, with H.264, HEVC, VP8, VP9, MPEG-4, ProRes and the other common codecs inside. AV1 videos can't be read yet.
How do I make a GIF smaller?
Fewer seconds, a narrower width and a lower frame rate all shrink it. Set a size limit and the tool does the rest: if the first GIF is too big, it lowers the colors, the frame rate and then the width, only as far as it has to, and keeps the smallest version.
What size should a GIF be for Product Hunt or GitHub?
Product Hunt asks for a square thumbnail, 240 × 240 recommended, and every image under 3 MB; GitHub takes images and GIFs up to 10 MB. Choose the limit and the GIF comes out under it. For the square, resize the GIF with the GIF resizer.
Is my video uploaded anywhere?
No. The GIF is made inside your browser, with ffmpeg compiled to WebAssembly, and your video never leaves your device. The first time, your browser downloads the video engine (31 MB, once); after that it opens from the cache.
Should I post a GIF or a video?
A GIF plays and loops by itself almost everywhere, READMEs and emails included, but it holds 256 colors per frame and weighs far more than a video of the same clip. Where a site plays videos, like X or LinkedIn, an MP4 looks better and loads faster: the GIF to MP4 tool turns one into the other.
More free tools
- GIF compressor: Shrink a GIF under the size you need, like Product Hunt's 3 MB
- GIF to MP4: A GIF as an MP4 that plays smoothly on X, LinkedIn and Slack, usually far smaller
- Trim video: Cut a video to the part you want, from its exact first frame
- All free tools