ClaudeGuide
A video edit JSON recipe that survives revision
Short answer
A video edit JSON recipe should identify exact assets, units, segment order and every required layer. Bind it to the final output hash, validate its structure and reject missing references before rendering. Keep captions, music and graphics explicit so a revision can reconstruct the approved cut instead of silently dropping ingredients the renderer does not support.
Treat the recipe as a contract
A useful edit file describes enough of the cut for another process to reconstruct it. A list of clip filenames alone leaves unanswered questions about source intervals, voice, captions, graphics and layer order. Define explicit units and asset identities, then validate the recipe so an ambiguous field does not become an invisible production decision.
In our production in October 2026, each final video has a machine-readable recipe tied to its hash and catalog assets. claude for ads provides the Claude context. Anthropic’s skills documentation and permission controls concern instructions and execution authority. The recipe contract below is our proposed production design, separate from those tool mechanisms.
A hypothetical bottle recipe cannot be reconstructed from a filename and the instruction “show pouring.” It needs a source interval, timeline placement and declared timing units, plus the voice and overlay relationships. A declared contract makes those choices inspectable before rendering. A validator can then reject missing references or contradictory fields without inventing the editor’s intent. The final rendered file still needs review; an unambiguous recipe can describe an unsuitable editorial choice accurately.
Give each source a stable catalog ID, path or resolvable reference, media type and content hash. A friendly name helps the editor, but the hash establishes which bytes the recipe means. Preserve the parent relationship for trims, intermediates and alternate takes.
Bind the recipe to the final output ID and hash after rendering. If the final file changes, create a new recipe-output record instead of leaving the old binding in place. Version control for video ads: know the approved cut covers version history and approvals. The recipe explains how a cut is built; the version record explains which cut was reviewed. Keeping those roles separate avoids turning an asset filename into both a technical reference and a vague approval label.
| Check | Suggested action |
|---|---|
| Assets | Resolve exact IDs and content hashes |
| Time | Declare units and interval meaning |
| Layers | Require captions, sound and graphics |
| Binding | Attach recipe to final output hash |
Source: Turntake editorial checklist (proposed), October 2026.
Declare units and interval semantics
State whether times are seconds, milliseconds or another defined unit. Specify whether an interval’s ending is exclusive and whether positions refer to the source or output timeline. A number such as 1200 is ambiguous without that contract.

For a hypothetical segment, distinguish source start and end from output start and duration. A speed change affects the relationship between them. Validate that the selected source interval exists and that the output interval is positive. Do not infer units from how large a value looks. The author and renderer should agree on the schema version before interpreting the file, especially when a later revision introduces a new time representation.
- 01Identify exact assetsRecord IDs and hashes
- 02Declare time contractFix units and intervals
- 03Describe all layersPreserve music and graphics
- 04Validate then renderBind final output hash
Make the layer stack explicit
List base video, cutaways, graphics, captions, voice, music and effects with their own timing and ordering. If a label must remain above a cutaway, that relationship belongs in the recipe. A source image containing the label is not enough when the layer is intended to remain editable.
In our production in October 2026, required graphics must not disappear during a mechanical revision. Mark required layers so unsupported operations fail clearly. Keep the music source and gain treatment explicit instead of assuming a renderer will inherit them from an old output. A flattened final can show what existed, but it cannot fully explain how the layer should be reconstructed.
Validate structure before resolving media
Check schema version, required fields, allowed operations, number types and referenced IDs. Reject unknown fields that could indicate a misspelled instruction, unless the schema deliberately permits extensions. A permissive parser can otherwise accept a recipe while ignoring the field that carries the intended change.
Then resolve actual media and inspect relevant properties. A syntactically valid ID can still point to a missing file or an interval beyond its duration. Build a video render queue with visible job states covers the render queue that should receive a validated job. Keep validation results with the recipe hash so a queued job cannot substitute another recipe while retaining an earlier green result.
- Recipe fieldAsset hashFailure it preventsWrong source revision
- Recipe fieldDeclared unitsFailure it preventsMisinterpreted timing
- Recipe fieldRequired layerFailure it preventsSilent missing graphic
- Recipe fieldSchema versionFailure it preventsUnrecognized operation semantics
Reject incomplete reconstruction
If the selected renderer cannot reproduce a declared layer or operation, return the limitation before producing an apparently complete final. An ad with a missing factual label is not an acceptable fallback simply because the video still plays.
Validate AI video ad outputs before human review covers the machine gates around schema, media and rendered output. Distinguish those gates from editorial acceptance. The recipe may be complete and technically valid while the chosen shot still fails to explain the mechanism. Preserve the original final for comparison and return any unsupported operation to the revision owner rather than deleting it from the contract.
Keep the recipe readable for a human
Use descriptive asset IDs, stable ordering and a short revision note. A person should be able to find the changed clip or caption group without decoding a giant opaque object. Avoid storing credentials, temporary signed URLs or unrelated project state inside the edit file.
Turntake’s model plans describes Turntake’s model plans. The recipe method supports controlled editing in a studio workflow; it does not promise that every flattened video is already reconstructable through a current self-service connection.
For a proposed acceptance fixture, include one base clip, one cutaway, a required label, captions, voice and music. Remove the music reference in a copied recipe and require a clear validation failure. Restore it, then change the declared time unit without changing values and require a schema or semantic error. These checks test the contract’s useful boundaries rather than merely confirming that the parser can read a well-formed example.

Name unsupported operations before execution
A hypothetical recipe may declare a tracked label while the selected renderer supports only fixed screen anchors. That is an incompatibility to report, not a reason to reinterpret the instruction silently. Include the layer ID and unsupported operation in the failure. The author can choose another route or revise the visual plan with approval. Preserving the original instruction keeps the technical limit visible and prevents a simpler output from being mistaken for a faithful reconstruction.
Who wrote this We made the ads first, for SmartSolar in Denmark, Sweden and Ireland. Then we built Turntake. Where Turntake comes from
FAQ
What should a video edit JSON recipe contain?
A video edit JSON recipe should identify exact assets, units, segment order and every required layer. Bind it to the final output hash, validate its structure and reject missing references before rendering. Keep captions, music and graphics explicit so a revision can reconstruct the approved cut instead of silently dropping ingredients the renderer does not support.
How do I identify assets with IDs and hashes?
Give each source a stable catalog ID, path or resolvable reference, media type and content hash. A friendly name helps the editor, but the hash establishes which bytes the recipe means. Preserve the parent relationship for trims, intermediates and alternate takes.
How do I declare units and interval semantics?
State whether times are seconds, milliseconds or another defined unit. Specify whether an interval’s ending is exclusive and whether positions refer to the source or output timeline. A number such as 1200 is ambiguous without that contract.
How do I make the layer stack explicit?
List base video, cutaways, graphics, captions, voice, music and effects with their own timing and ordering. If a label must remain above a cutaway, that relationship belongs in the recipe. A source image containing the label is not enough when the layer is intended to remain editable.
Sources
- Anthropic: Claude Code skills checked 11 October 2026
- Anthropic: Claude Code permissions checked 11 October 2026
Model facts come from each maker’s own documentation, checked on the date shown. Models change, so read the source again before you plan a batch.