| name | LightFlow Video Auto Edit |
| description | Use this skill to run or modify the end-to-end lightflow.video_auto_edit package-owned workflow that plans and renders videos. |
| version | 0.4.0 |
LightFlow Video Auto Edit
Use lightflow.video_auto_edit only after lightflow.video_highlights has
returned its HMAC-verified clips output. Pass that output unchanged as
sources. The workflow renders a normalized
MP4 from explicit verified ranges; it never creates segments from silence,
scene changes, or filename metadata.
Runtime
The published workflow crate contains a Rust-native runner.v1 binary. No
repository-relative script or global command runner is required. FFmpeg and
FFprobe are the only host media dependencies and missing tools fail closed.
Contract
- Required
sources: JSON array of clip objects with VideoScore provenance.
- Required
brief: editing goal used for deterministic ranking.
- Required
output_path: destination MP4.
- Optional
style: defaults to clean social edit.
- Optional
constraints: supports aspect_ratio, max_duration_seconds,
fps, width, and height.
- Outputs:
edit_plan, video, video_path, and summary.
Set LIGHTFLOW_VIDEOSCORE_EVIDENCE_KEY in the runtime environment for both
the highlight and auto-edit workflows. Each clip requires path and a
highlight object. Preserve an explicit
start / end range when supplied; the highlight's source_path must resolve
to the same source, its start_seconds / end_seconds must match that range
within 0.001 seconds, its numeric score must be 1 through 4, and both
model and reason must be non-empty. Require
workflow:"lightflow.video_highlights",
model:"TIGER-Lab/VideoScore-v1.1", and an evidence lowercase-hex HMAC tag
generated by the highlight workflow. String-only sources and missing or
mismatched evidence are rejected.
CLI Usage
From this project root:
lfw run lightflow.video_auto_edit \
--input sources='[{"id":"intro","path":"media/intro.mp4","start":0,"end":8,"highlight":{"workflow":"lightflow.video_highlights","source_path":"media/intro.mp4","start_seconds":0,"end_seconds":8,"score":3.7,"model":"TIGER-Lab/VideoScore-v1.1","reason":"Strong full-vehicle opening.","evidence":"<generated-by-lightflow.video_highlights>"}}]' \
--input brief='"Create a concise product recap with a strong hook."' \
--input output_path='"output/recap.mp4"' \
--input constraints='{"aspect_ratio":"9:16","max_duration_seconds":30}'
When lfw is not installed, replace lfw with
cargo run --manifest-path ../../Cargo.toml --bin lfw --.
API Usage
Start lfw serve, then use the shared HTTP workflow contract:
curl -sS -X POST http://127.0.0.1:5174/workflows/lightflow.video_auto_edit/run \
-H 'content-type: application/json' \
-d '{"inputs":{"sources":[{"path":"media/intro.mp4","start":0,"end":8,"highlight":{"workflow":"lightflow.video_highlights","source_path":"media/intro.mp4","start_seconds":0,"end_seconds":8,"score":3.7,"model":"TIGER-Lab/VideoScore-v1.1","reason":"Strong full-vehicle opening.","evidence":"<generated-by-lightflow.video_highlights>"}}],"brief":"Create a concise product recap with a strong hook.","output_path":"output/recap.mp4","constraints":{"aspect_ratio":"9:16","max_duration_seconds":30}}}'
Run the crate's Rust tests and Clippy after changing the runner, planner,
edit-plan schema, or FFmpeg behavior. Update this skill whenever the workflow
contract or common command changes.