Skip to main content
alexb95125258
December 9, 2025
Open for Voting

Request for Timeline Editing API Support (Clip Track Movement / Flattening)

  • December 9, 2025
  • 3 replies
  • 866 views

 

Hello Adobe Team,

I am currently exploring automation and plugin development for Adobe Premiere Pro. I’m trying to create a tool that automatically consolidates a sequence with multiple video tracks into a single track — similar to manually dragging clips from V5 → V4 → V3 → V2 → V1 while preserving their timing and allowing natural overwrite behavior.

In older versions of Premiere, this could be done through the QE API using functions like:

 

 
app.enableQE(); clip.moveToTrack(videoIndex, audioIndex);

 

 

However, in current Premiere Pro builds (2023–2025), this function appears to exist in the QE object model but is not operational. Calling it returns either:

  • "not enough parameters"

  • "illegal parameter type"

  • or simply does nothing

We tested multiple calling patterns, including:

 

 
moveToTrack(int); moveToTrack(int, int); moveToTrack(int, int, boolean); moveToTrack(trackObject, flags);
 

None resulted in track movement.

We also attempted:

  • ExtendScript / JSX scripting

  • CEP Panel communication

  • UXP calls

  • Premiere scripting DOM

  • Reflection via clip.reflect.methods

  • Keyboard Shortcut control

  • QE test loops to check argument signatures

The results indicate that:

  • There is no current API method (DOM, QE, CEP, or UXP) that can move an existing clip vertically between tracks.

  • Premiere Pro no longer includes a keyboard mappable command like Move Clip Up/Down Between Tracks, meaning even UI automation cannot rely on a universal shortcut.

  • The function in QE appears to be stubbed or deprecated without a documented replacement.

This means that currently there is no programmatic way to manipulate clip positions across video tracks while preserving edit timing, which blocks automation use cases such as:

  • Track consolidation

  • Cleanup workflows

  • Smart flattening

  • AI-guided editing

  • Bulk sequence organization tools


Request

Is there:

  1. An updated replacement for moveToTrack() in newer Premiere builds?

  2. An internal API, flag, or method allowing non-destructive clip relocation across tracks?

  3. Plans to expose timeline editing capabilities in UXP or a future scripting API?

  4. Documentation or guidance for modifying sequence clip positions programmatically?

This functionality would unlock a large number of professional workflow tools and automation pipelines, especially for:

  • Editing at scale

  • AI-assisted editing

  • Social media batch workflows

  • Multi-camera editing

  • Timeline classification or cleanup


Thank you for your time. Any clarification or future roadmap information would be appreciated.

Best regards

    3 replies

    ThioJoe
    Community Expert
    Community Expert
    December 9, 2025

    Here's a function which demonstrates how to use moveToTrack:

    /**
     *  {QETrackItem} qeClip 
     *  {Number} moveAmount 
     */
    function moveClipNewTrack(qeClip, moveAmount) {
        if (qeClip.mediaType === "Video") {
            // moveToTrack
            // 1st param is amount to move video track
            // 2nd is amount to move audio track
            // 3rd is amount to move along track, given as timecode string
            // 4th is whether to copy instead of move
            qeClip.moveToTrack(moveAmount, 0, '', false);
        } else if (qeClip.mediaType === "Audio") {
            qeClip.moveToTrack(0, moveAmount, '', false);
        }
    }

     

    I suspect you already know this but make sure you are calling the moveToTrack method on the QETrackItem object for the clip, not the vanilla TrackItem type.

    Bruce Bullis
    Legend
    December 9, 2025

    > The function in QE appears to be stubbed or deprecated without a documented replacement.

    This is not the case. 

    Not sure why or how you're running into trouble with moveToTrack(); there have been zero changes to QE DOM APIs, and no such changes are planned or scheduled. Of course, the QE DOM will also remain 100% unsupported, and not at all recommended. 🙂

     

    The 'premiere_api' UXP example plugin, the right starting point for any future integrations, shows how to clone and remove track items.

     

     

    erinferinferinf
    Adobe Employee
    Adobe Employee
    December 9, 2025

    This is one for @Bruce Bullis 

     

    Also because UXP is mentioned, you might also consider cross posting in the UXP forum: https://forums.creativeclouddeveloper.com/c/uxp-for-premiere-pro/105