Skip to main content

The Grida FX guide

Grida FX builds generated assets the way a build system builds code: you describe the steps in a workflow file, FX plans the run offline with its price, runs only what changed, and keeps every result with a record of how it was made.

This guide describes FX for the people who use it. The contracts are in spec/, which is normative: where this guide and spec/ disagree, spec/ wins. Where the guide describes something designed but not built yet, it says planned. Stable FX releases start at 0.1.0; the overview records shipped milestones and future work.

The local FX service gives a project a stable address, a run/plan index, and a read-only node canvas. Start with grida-fx init and grida-fx start --background; standalone workflows remain supported. These service commands describe current source behavior: check your installed version's help before using them. Custom step pages remain planned. Portable recorded-run exports are described in the sharing chapter; check installed help for these source capabilities.

Chapters​

  1. Getting started
  2. The workflow file
  3. Nodes: built-in, and your own in Python
  4. Cost, cache and takes
  5. Running: CLI, Python, agents
  6. Annotations and judges: marks as artifacts, verdicts as decisions
  7. Viewing workflows and runs: the bundled local node canvas
  8. Stopping and continuing a run: exact targeting, cancellation and verified local cleanup
  9. Working with runs from an SDK: names, saved records and independent observation
  10. Cleaning up runs: listing a project's runs, removing the ones you no longer need, and pruning the cache
  11. Share a recorded run: portable inspection, disclosure and immutable content

Example projects​

The examples are complete FX projects, written from scratch the way a user would write them, with original settings and characters. Their routes are FX's built-in ones (rigged-character adds one illustrative route, for a capability FX does not serve yet), so their plans price at the built-in allowances, and a live run uses your own keys. Each plans offline; without --live a run does every free step and refuses each paid call at $0.

ProjectWhat it showsWhat runs
helloyour own nodes, built-in local steps, a judge, a keyed repeat, the cacheeverything, offline, at $0
looping-parallaxplan-time facts, fallbacks, a paid call inside your own nodeoffline when every layer mirrors; a repaint is live
concept-gallerypropose a world, review it, one reviewed image per entity: YAML plus judges you writelive
game-builda game repo that builds its art with FX from its own level files: Python builderthe sky offline; the rest live
rigged-characteragents, Blender, parts × review rounds, a recovery loop, resumeplans and prices; its reviews use vision.review, which has no adapter yet, and its Blender steps use tool scripts (ctx.tool(...).script) and version constraints, which are planned

Every example has Python nodes or built-in local types, so each needs a Python with grida and Pillow (Getting started). The examples' README says how to run them from a clone of the repository.