Skip to content

Remotion

Niche workflow, useful if you're producing short-form video and want a programmatic pipeline.

The bundled zen-remotion-generate workflow takes a script and produces a Remotion composition: the React components, the timeline, the render config. You hand it the script and an output target; the workflow writes the composition and (optionally) kicks off the render.

When to use it

You're shooting one-per-week short videos and the assembly is mostly the same shape every time. You don't want to rebuild the Remotion project from scratch every episode; you want a workflow that takes the script and produces the next composition.

If you're not producing video, this page isn't for you. Move along.

How it works

bash
zen workflow run zen-remotion-generate "<path to your script file>"

The workflow:

  1. Reads the script. Pulls out scenes, beats, visual notes.
  2. Maps each scene to a Remotion component. Reuses your component library if you've written one.
  3. Writes the composition file into your Remotion project.
  4. Optionally runs the render command (npx remotion render) and stashes the output.

The workflow is Remotion-specific in the sense that it knows the Remotion file conventions. For other video tools (After Effects, Final Cut, plain ffmpeg), this exact workflow won't help; you'd want a different one with the same shape.

Customizing

zen workflow show zen-remotion-generate prints the YAML. Copy it to .zen/workflows/, edit the components it maps to, the render config it uses, the post-processing it triggers. The whole pipeline is in one file.

Provider choice

The default is Claude for the script-to-composition reasoning. The render step is a bash node and doesn't use any provider. If you want a different provider for the reasoning, swap provider: claude for provider: codex on the relevant nodes.

Niche but solid

This is the kind of workflow Z.E.N. is built for: a repetitive structured task you'd otherwise do by hand every Tuesday. If your work has a similar shape (recurring publication, structured output, mostly the same components every time), the pattern probably works for you too with a different bundled-default as the starting point.

AI that follows a recipe, not a conversation.