You only render to a flat file when you’re done iterating. Until then, every layer stays editable and motion replays from JSON, not from a baked clip. This page covers what you get when you click Export.Documentation Index
Fetch the complete documentation index at: https://docs.hiveku.com/llms.txt
Use this file to discover all available pages before exploring further.
Static designs → PNG
For designs without animation:- Click Export in the top-right of the editor.
- Pick PNG.
- The file downloads at the artboard’s native dimensions (1:1 pixel ratio with what you see on the canvas).
Animated designs → MP4
For designs with any layer animation:- Click Export in the top-right of the editor.
- Pick MP4.
- A render job submits to the Remotion render worker.
- The worker bundles the canvas state, plays the same animation runtime server-side, captures every frame, and encodes to MP4.
- The file lands in your project’s media library and downloads automatically.
MP4 export is a queued job, not a synchronous download. You’ll see a progress indicator. You can keep editing the design while it renders — the exported MP4 is a snapshot at the moment you clicked Export.
What the MP4 captures
The render worker uses aCanvasComposition Remotion component that maps Fabric primitives to Remotion equivalents:
| Fabric primitive | Renders as |
|---|---|
| Text layer | Remotion <AbsoluteFill> with the text styled via inline CSS |
| Rectangle / circle | SVG shape |
| Image | <Img> from the same S3 URL the canvas loads |
| Animation property | Remotion interpolation over the timeline |
animation schema your canvas plays, the exported MP4 is frame-accurate to what you saw in the editor. There’s no drift, no “looks different in Remotion than in Fabric.”
What the MP4 doesn’t capture (current limitations)
- Audio — animated designs are visual only today. Audio tracks and voiceovers are on the roadmap.
- GIF format — MP4 only for now. Email teams who need GIF can convert via FFmpeg (
-vf fps=15,scale=480:-1:flags=lanczos); native GIF export is on the roadmap. - Multi-clip timeline — one canvas exports as one continuous MP4. Sequencing multiple designs into a multi-scene Reel is on the roadmap.
Recommended dimensions
The artboard size is locked when you create the design. If you’re not sure what to pick:| Surface | Dimensions | FPS | Typical duration |
|---|---|---|---|
| Instagram post | 1080×1080 | 30 | 3-15s |
| Instagram Story / Reel | 1080×1920 | 30 | 5-15s |
| TikTok | 1080×1920 | 30 | 9-30s |
| YouTube / LinkedIn video | 1920×1080 | 30 | 5-30s |
| Email banner | 600×200 | 24 | 3-5s (loop) |
| Display ad (web) | Standard IAB sizes (728×90, 300×250, 160×600) | 24 | 5-15s |
How MP4 rendering works
Behind the scenes:- Builder serializes the canvas (layers + animation metadata + canvas-level config) to JSON
- POST to
/api/marketing/design/[id]/export-videoon the builder - Builder forwards the JSON to the Remotion render worker (
hiveku_remotion_worker, hosted on Render.com) - Worker bundles a Remotion composition with
CanvasCompositionas the root - Worker invokes
@remotion/rendererwith Puppeteer + Chromium under the hood - MP4 is uploaded to your project’s S3 bucket
- Builder receives the S3 URL via SSE and triggers the download
generate_motion_graphic baked-MP4 generation. The difference is the input: legacy mode renders a hardcoded Remotion template with prop slots; export mode renders your canvas state as the source of truth.
Versioning and re-export
Every design saves continuously tobuilder_code_versions as you edit. The MP4 you exported is a snapshot at the moment of export — if you keep editing and want a new version, click Export again. Older MP4s stay in your media library; nothing is overwritten.
This means you can:
- A/B export two variations of the same design
- Roll back to an older edit if something goes wrong
- Share the MP4 with a teammate while continuing to iterate
What’s coming
Roadmap items relevant to export:GIF export
FFmpeg post-step on the worker for email-friendly looping animations
Audio + voiceover
ElevenLabs voiceover generation, drop on canvas as audio track, mix into MP4
Multi-clip timeline
Sequence multiple designs into a single Reel with drag-to-reorder and trim
Per-clip mute toggle
Audio defaults to muted in editor; per-clip unmute on export