main
anastasia Hero Studio hero + showcase source; skill frontmatter fixes 25acb0c 10d ago

name: premiere-editing description: >- Use when cutting, trimming, adding effects, transitions, keyframes or audio changes to a Premiere timeline. Recipes for editing a Premiere Pro timeline through the premiere bridge — rough cuts from clips, razor + ripple delete, closing gaps, trimming, effects (Gaussian Blur, Lumetri, etc.), Motion/Opacity transforms, keyframe animation, video transitions, audio volume in dB, audio fades and ducking, markers, MOGRT titles, clip speed, and adding tracks. Trigger words: rough cut, cut out the silence, remove this part, tighten the edit, close the gap, add blur, zoom in, scale the clip, fade to black, fade in, cross dissolve, lower the volume, duck the music, fade out the audio, add a title, speed up the clip, slow motion, add a track, keyframe. user-invocable: true

Parent skill: premiere-bridge

Editing recipes

Re-read premiere_get_sequence between edits: clip refs ("V1:2") are positional and shift.

Build a rough cut

adom-bridge premiere_import_media '{"paths":["/Users/me/Footage/a.mp4","/Users/me/Footage/b.mp4"]}'
adom-bridge premiere_create_sequence '{"name":"Rough Cut","fromItems":["a.mp4"]}'   # matches a.mp4's size/fps
adom-bridge premiere_append_clip '{"item":"b.mp4"}'
adom-bridge premiere_contact_sheet '{"count":8}'

item accepts the project item's id, exact name, "Bin/name", or {mediaPath}.

Remove a section (e.g. 12.0–15.5 s)

adom-bridge premiere_razor '{"time":12.0}'
adom-bridge premiere_razor '{"time":15.5}'
adom-bridge premiere_get_sequence '{"detail":false}'                 # the middle piece is the one starting at 12.0
adom-bridge premiere_remove_clips '{"clip":"V1:3","ripple":true}'    # its linked audio goes too

razor uses the CEP helper's true razor when it's connected (method:"qe-razor"). Otherwise it uses an exact UXP fallback (method:"uxp-overwrite"), which keeps A/V sync but leaves effects on the left half only, and refuses clips with a speed change.

Trim / move / gaps

  • premiere_trim_clip {clip, trimStart:0.5} shaves 0.5 s off the head. trimEnd shaves the tail. start/end set absolute timeline times.
  • premiere_remove_gap {clip} pulls the clip and everything after it left to close the gap before it.
  • premiere_move_clip {clip, by:-2} or {to:30}. Moving onto another clip overwrites it.

Effects and parameters

adom-bridge premiere_list_effects '{"kind":"video","search":"blur"}'
adom-bridge premiere_add_effect '{"clip":"V1:0","name":"Gaussian Blur"}'
adom-bridge premiere_get_clip_effects '{"clip":"V1:0"}'              # exact component + param names, values
adom-bridge premiere_set_param '{"clip":"V1:0","component":"Gaussian Blur","param":"<name from get_clip_effects>","value":30}'

Always take component/param names from get_clip_effects; they vary by effect and Premiere version.

  • Motion > Position is normalized: [0.5,0.5] is the frame centre. Scale is a percent.
  • premiere_set_transform {clip, scale:120, position:[0.45,0.5], rotation, opacity} sets several at once.

Keyframes (fades, zooms)

adom-bridge premiere_add_keyframes '{"clip":"V1:1","component":"Opacity","param":"Opacity","keyframes":[{"time":11,"value":0},{"time":13,"value":100}],"interpolation":"linear"}'

Times are sequence time; the bridge converts them to the clip's media time for you (pass timeBase:"clip" to give media time directly). Enabling animation also drops an automatic key at the clip start.

Transitions

premiere_add_transition {clip, name:"Cross Dissolve", duration:1, position:"end"|"start"}. Video only. For audio, fade with keyframes.

Audio

  • Level: premiere_set_clip_volume {clip:"A1:0", db:-6}. 0 dB = unity. Add time to set a keyframe instead.
  • Fades: premiere_audio_fade {clip:"A2:0", type:"out", duration:2}.
  • Ducking music under a voiceover: put volume keyframes on the music clip around the VO's start/end with premiere_set_clip_volume {clip, db:-18, time}.
  • premiere_audio_probe {clip} reads back the level in dB.
  • Mute a track: premiere_set_track_mute {track:"A3"}.

Markers, titles, transcripts

  • premiere_add_marker {time, name, comments, colorIndex} and premiere_list_markers.
  • Titles: premiere_insert_mogrt {path:"…/Lower Third.mogrt", time, track:"V2"}, then get_clip_effects + set_param to change the text.
  • premiere_transcribe {item} starts Speech-to-Text. premiere_get_transcript {item} returns word timings, which are good for finding cut points.

Helper-only verbs (need the CEP helper connected)

premiere_set_speed {clip, speed:0.5, ripple}, premiere_add_tracks {video:1, audio:1}, premiere_remove_track, premiere_lock_track, premiere_set_track_target, premiere_extendscript {code}. These act on the active sequence.

Anything else

premiere_eval {code} runs an async JS function body inside Premiere with ppro (the API), h (helpers: findClip, toTick, tx, trackClips…) and args. Edits must go through h.tx(project, "label", () => [actions]), with the actions built synchronously:

const p = await ppro.Project.getActiveProject(); const seq = await p.getActiveSequence();
const { clip } = await h.findClip(seq, "V1:0");
h.tx(p, "Disable", () => clip.createSetDisabledAction(true));
return "ok";