cutr
Use this skill when the user works with cutr or .cutr timeline files.
What cutr is
cutr is a tiny video DSL: one line per timeline item, key=value options, compiled to an ffmpeg command.
Basic flow:
- Declare reusable inputs with
asset id=... path=.... - Add timeline items:
video,image,gif,audio,text,subtitle,concat. - Set final export with
output .... - Run
cutr check,cutr ffmpeg, orcutr render.
Commands
cargo run -- check proyecto.cutr
cargo run -- ffmpeg proyecto.cutr
cargo run -- render proyecto.cutr --from 10 --to 20
cargo run -- ffmpeg proyecto.cutr --preview
cargo run -- proyecto.cutr
Use ffmpeg mode first when debugging; it prints the generated command without rendering.
Minimal file
asset id=clip path=video.mp4
video asset=clip at=0 duration=5
text text="Hola" at=1 duration=2 align=center y=80 size=56 color=white
output path=out.mp4 duration=5 size=1920x1080 fps=30 preset=youtube
Timeline model
atplaces an item on the timeline.from,to,durationtrim or bound input/time.- Items layer by
trackorz_index; higher values render later/on top. x/y,anchor_x/anchor_y,scale,rotate,opacitycontrol overlay placement.*_kfvalues are keyframes:time:value[:linear|ease-in|ease-out]|....
Common features
Video/image/GIF:
video asset=clip at=0 from=2 duration=5 track=1 \
x_kf=0:0|2:400:ease-out y=0 scale_kf=0:1|2:1.2 \
fade_in=0.3 fade_out=0.3 transition=slide transition_from=left transition_duration=0.5
Audio:
audio asset=music at=0 duration=8 volume=0.8 fade_in=1 normalize=true compressor=true
Subtitles/text:
text text="Mi título" at=1 duration=3 align=center y=80 size=56 color=white outline=2 shadowx=2 shadowy=2
subtitle text="hola mundo" at=4 duration=2 y=900 size=36 outline=2
Output:
output path=out.mp4 duration=8 size=1920x1080 fps=30 preset=youtube bitrate=8M
Agent rules
- Prefer the smallest valid
.cutrfile that renders the requested result. - Reuse existing assets by
id; do not duplicate asset declarations. - Run
cutr checkbefore render when possible. - If render is slow, use
--previewor--from/--to. - For exact supported keys and edge cases, read
references/cutr-reference.md.