- 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:
```bash
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:
```bash
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.
Ver no GitHub