Genesis Español Buy me a coffee Download

Using Genesis

Automate: recipes and batches

#Recipes

A recipe chains Genesis tools together and is used as a single one. Once saved it appears on Home (with its own form), in the CLI as genesis run recipe.<id>, in the Assistant and for any AI connected via MCP (recipe_<id>): an AI can launch a whole process with a single call.

Built-in:

Recipe What it does
Subtitled vertical clips Finds the best moments of a long video (ai.highlights), cuts them, turns them vertical following the subject and adds subtitles
Podcast: clean audio and article Reduces noise, normalizes to −16 LUFS, transcribes (SRT) and writes a Word article
Subtitle (and go vertical) Automatic subtitles, optionally after reframing to 9:16
Image for social media 1080×1080, 1080×1920 and 1200×630 versions, cropped without distortion

Create them in Automate → New recipe or duplicate a built-in one. They're saved in <Genesis data>/recipes/<id>.json:

JSON
{
  "id": "my-recipe",
  "name": "My recipe",
  "description": "What it does (the AI using it reads this too).",
  "inputs": [
    { "name": "video", "label": "Video", "type": "file", "required": true },
    { "name": "count", "label": "Clips", "type": "number", "default": 3 }
  ],
  "steps": [
    { "id": "moments", "tool": "ai.highlights", "input": { "input": "{{inputs.video}}", "count": "{{inputs.count}}" } },
    { "id": "clips", "tool": "video.cut", "forEach": "{{steps.moments.highlights}}", "parallel": 2,
      "input": { "input": "{{inputs.video}}", "start": "{{item.start}}", "end": "{{item.end}}",
                 "output": "{{inputs.video|dir}}/{{inputs.video|stem}}_clip{{number}}.mp4" } }
  ],
  "outputs": { "clips": "{{steps.clips}}" }
}
  • Inputs: file, files, text, longtext, number, boolean and choice (with options).
  • Steps: any tool, including plugins (ext.…) and other recipes (recipe.…). if skips the step when it's false; forEach repeats it for each item of a list (item, index, number), up to parallel (1–4) at a time.
  • References: {{inputs.x}}, {{steps.id.field}}, {{steps.id.list[0].field}}. A reference on its own keeps its type (number, list…); inside a string it's written as text.
  • Filters: |stem (name without extension), |name, |dir, |ext, |json, |default:value and |or:other.reference (for example, the result of a step that was skipped).
  • Everything is checked before running (tools that don't exist, references to later steps, undeclared inputs…) and errors say which step they're in.

#Batches

Automate → Batch (or the batch.run tool) applies a tool or recipe to a list of files or to a folder, with the same settings for all. If one fails, it carries on with the rest and reports on each one. In the settings you can use {{file}}, {{file|stem}}, {{file|dir}} and {{number}}:

Terminal
genesis run batch.run tool=recipe.subtitular folder=~/Videos/talks 'extensions=["mp4"]' parallel=2
Terminal
genesis run batch.run tool=image.transform folder=photos 'input={"width": 1200, "output": "{{file|dir}}/web/{{file|stem}}.jpg"}'

#Templates

When you open Documents, Presentations, Spreadsheets or the Video editor without a file you get Start from a template: 4 documents (report, meeting minutes, business proposal, letter), 3 presentations (investor pitch, lecture, quarterly results), 3 spreadsheets (monthly budget, invoice with VAT, project tracker) and 3 videos (vertical for social media, video with intro and lower third, photo slideshow).

The Template button in each editor's toolbar saves the current project as your own template (<Genesis data>/templates/<type>/), which appears first in the gallery and can be deleted from there.

#Best moments (ai.highlights)

It transcribes the file and asks a language model (a connected account or a local model) for the fragments that work best on their own. It snaps them to subtitle boundaries so sentences aren't cut and respects the minimum and maximum duration without overlaps. It accepts hints like «funny moments» or «practical tips».