Skip to main content

Validation messages

Reelcraft checks a blueprint as you edit it. Problems show on the stage they belong to, as ✗ for an error and ⚠ for a warning, and problems with the blueprint as a whole show above Blueprint settings. See Versions.

  • An error makes the blueprint Not runnable yet. Fix it before you can run.
  • A warning is advice. The blueprint still runs.

Motion graphics​

  • Generate Motion Graphic produces data (the code and its settings): set the output to Data, with the motion graphic schema. See Generate Motion Graphic.
  • Add the motion_code check so code that breaks the rules is sent back to the model to fix (warning): add the motion_code built-in check and set Check attempts to 2 or 3.
  • Render Motion Graphic produces a video: set the output to Video. See Render Motion Graphic.

Pictures​

Sound effects and music​

  • describe the sound you want in the stage instructions / describe the music you want in the stage instructions: Generate Sound Effect and Generate Music work from a description. Write it in Instructions.
  • Length must be 0.5 to 22 seconds (sound effect) or 3 to 600 seconds (music): set durationSec in range.
  • "…" can't make sound effects / music: the pinned model is for something else. Choose a sound effect or music model.

The blueprint​

MessageWhat to do
a blueprint must declare at least one stageAdd a stage
duplicate stage key "…"Two stages have the same key. Delete one and add it again
A blueprint may declare at most one Character roleRemove all but one role in the Blueprint tab → Role
role "…" is declared but never bound by any stage (warning)Bind a stage's slot to the role, or remove the role
memory key "…" is written by multiple stages (warning)Give each stage its own memory key. See Connecting stages

Parallel stages​

MessageWhat to do
runs after unknown stage "…"Runs after names a stage that doesn't exist. Pick another or switch to Previous stage
runs after itself — remove it from dependsOnUntick the stage itself in Runs after
runs after "…", which comes later in the graph — move this stage after "…"A stage can only wait for an earlier stage. Move this stage after it
reads the output of unknown stage "…"The stage chosen under Output of stage… is gone. Pick another
reads the output of "…", which comes later in the graph — move this stage after "…"Move this stage after the one it reads
{from:'stage'} cannot read this stage's own output — use {from:'prevItem'} for the previous itemTo read the previous item of the same stage, use prevItem
memory key "…" is written by "…" and "…", which can run at the same time — make one run after the otherSet Runs after on one of them to the other. See Parallel stages
onReject target "…" is not upstream of this stage …Pick this stage or a stage it waits for under Retry stage

Characters and roles​

MessageWhat to do
role "…" must select a channel CharacterChoose a character in the role
role "…" uses a Character that was deleted; choose another onePick another character
Character "…" has no usable referencesAdd a reference image to the character, so it is Ready
role "…" must select at least one reference imageTick at least one reference image
a Character role may bind only to a cardinality:'many' media.image reference slotUse the role only on an image or video stage's references slot
a Character role in Context must be attached as a file (tick Attach file) on a text stageTick Attach file on that context entry, on a Generate Text stage

See Characters.

Stages and models​

MessageWhat to do
unknown capability "…"The stage type isn't available. Choose another
capability "…" does not allow output kind "…"Choose an output the stage type supports. See Outputs
OpenRouter model "…" does not support structured outputPick another model for a data output
… model "…" is not availablePick another model, or fix the provider's setup in Settings
reasoning effort "…" is not supported by …Choose an Effort the model supports
… model discovery failed: …The provider couldn't be reached. Check its key and your connection
Model "…" can't read … inputs — pick a model that supports them or remove this bindingUse a model that accepts that kind of file, or untick Attach file
attaches N files but model "…" reads at most M per requestAttach fewer files
"…" is text or data, not a file, so it can't be attachedOnly files can be attached. Untick Attach file
browser automation requires data outputSet the stage's output to data
browser startUrl must use HTTP or HTTPSFix the address in startUrl
human.timeline_edit requires a timeline, clips, or images slotConnect at least one of them
a "data" output schema with no properties provides little type safety (warning)Add properties to the schema

Connections​

MessageWhat to do
required slot "…" is unboundConnect the slot
incompatible source: …The connected value is the wrong kind, for example a field of a data output where text is needed. Choose another source, such as a stage with a text output
cardinality:'one' slot bound to an iterating producerSee Connecting stages
cardinality:'many' slot bound to a scalar sourceThe slot wants a list, and the source is one value
{from: "prev"} is invalid on the first stage in a blueprintThe first stage has nothing before it. Use another source
{from:'prev'} cannot bind an iterating stage's output — use {alignWith:'item'} … or Run MemorySee Iterate
binds {from:'prev'} to "…", which is conditionally enabled …Give this stage the same Enabled when
reads memory key "…", written only by conditionally-enabled stage "…" …Give this stage the same Enabled when
template references undeclared slot/context name "…"Fix the {{ }} name in the prompt, or add the context entry
template path "…": …The path doesn't exist in that value. See Prompts
output instructions reference undeclared slot/context name "…"As above, in Output instructions
references undeclared input "…"The Enabled when input doesn't exist
{from:"prevItem"} bound to a required slot/context/check ref is always an error …Make the slot optional, so the first item can go without it

Iterate, approval and conditions​

MessageWhat to do
iterate.over a many-cardinality media source is not yet supportedIterate over a list in data, not a set of files
iterate.over does not narrow to an array schemaOver must be a list: a memory key whose value is a list, or the previous stage's whole output when that is a list. prev with a path into a field isn't accepted. See Iterate
alignWith:'item' requires … to declare iterateBoth stages must iterate
iterate.over does not align with "…"'s iterate.over …Both stages must iterate over the same list
{from:"prevItem"} cannot be used while iterate.concurrency is above 1: …Items running together can't read the previous item. Set Concurrency to 1, or stop using prevItem
approval.mode "item" requires the stage to declare iterateAdd Iterate, or use mode stage
references unknown stage "…"Retry stage names a stage that doesn't exist
onReject target "…" comes after this stage in the graph …Choose this stage or an earlier one
target stage "…" has no instructions template … (warning)Give that stage a Template so your rejection note has something to change

Checks and quality control​

MessageWhat to do
unknown builtin check "…"Choose a check from the list
script check does not compile: …Fix the script's syntax. See Checks
qc is not allowed on media.video output — human approval replaces itRemove quality control, and use human approval
qc is not allowed on human.input — user submissions run checks onlyRemove quality control
Include transcript only works on an audio (media.audio) outputUntick it, or use it on a Generate Speech stage
wpm measures speaking pace and needs a Generate Speech (media.audio) output … (warning)Use wpm on a Generate Speech stage only
stage declares neither checks nor qc (warning)Consider adding a check
video-modality stage declares neither checks nor approval … (warning)Add human approval

Not checked​

Reelcraft doesn't warn you about every mistake. In particular, a stage that calls a model but has no model and no default isn't flagged until it runs. See Models.