Skip to content

AdobeDocs/uxp-premiere-pro-samples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

213 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Premiere Pro UXP Samples

A collection of sample plugins for Adobe Premiere Pro built with UXP. Use them as a reference, adapt them in your own projects, or explore them to understand the Premiere Pro UXP API surface. The full API reference is available at developer.adobe.com/premiere-pro/uxp.

New to UXP plugins? We recommend starting with the official Building your first UXP plugin tutorial. It walks through scaffolding a plugin with the UXP Developer Tool and loading it into Premiere Pro. The samples in this repository will be easier to follow afterwards.


Contents


Prerequisites

Tool Version Where to get it
Premiere Pro (stable or beta) 25.2 or newer adobe.com/products/premiere
UXP Developer Tool (UDT) 2.2 or newer Install via Creative Cloud Desktop
Node.js LTS (18.x or newer) nodejs.org
Code editor Visual Studio Code, Cursor, or any editor of your choice

Before loading any plugin from UDT, enable Developer Mode in Premiere Pro:

Settings → Plugins → Enable developer mode, then restart Premiere Pro.


Samples

Sample Description Stack Build required
premiere-api A comprehensive reference panel that exercises a broad set of Premiere UXP APIs: projects, sequences, markers, metadata, effects, transitions, keyframes, source monitor, import/export, encoder, transcripts, and project conversion (AAF, FCPXML, OTIO). The recommended starting point when investigating how a specific API behaves. TypeScript Yes
metadata-handler A production-style workflow panel for managing project item metadata. Supports column-to-column copy and exchange, batch updates with prefix/suffix/sequence numbering, metadata export, and clip marker export. Ported from a popular CEP panel used in film turnover workflows. JavaScript No
oauth-workflow-sample An end-to-end example of integrating an OAuth 2.0 authorization-code flow into a Premiere Pro UXP plugin, using Dropbox as the example service. Includes a small Node.js server that brokers the token exchange. JavaScript + Node.js server Server only

Which sample should I start with?


Version compatibility

The values below are sourced directly from each sample's manifest.json and package.json. In the event of a discrepancy, the manifests are authoritative.

Sample Min Premiere @adobe/premierepro Manifest
premiere-api 25.1.0 ^26.3.0-beta.67 v5
metadata-handler 25.2.0 ^26.3.0-beta.67 v5
oauth-workflow-sample 25.2.0 v5

Getting started

1. Clone the repository

git clone https://github.com/AdobeDocs/uxp-premiere-pro-samples.git
cd uxp-premiere-pro-samples

2. Build the sample you want to run

Each sample has its own build (or no-build) requirements.

premiere-api — TypeScript, requires a build See the premiere-api README for full build and setup instructions.

metadata-handler — JavaScript, no build required No installation or build step needed. See the metadata-handler README for setup instructions.

oauth-workflow-sample — JavaScript with a local Node.js server See the oauth-workflow-sample README for server setup and credential configuration before first run.

3. Load the plugin in Premiere Pro

The loading flow is the same for every sample:

  1. Launch Premiere Pro (or Premiere Pro Beta).
  2. Launch the UXP Developer Tool.
  3. Click Add Plugin and select the manifest.json for the sample.
  4. Click Load, or Load & Watch to enable automatic reloads while editing source files.

Loading a panel in UDT

The panel appears in Premiere Pro under Window → UXP Plugins.

Sample panel loaded in Premiere Pro


TypeScript support

The Premiere Pro UXP APIs ship official TypeScript declarations through the @adobe/premierepro package. Install the channel that suits your project:

# Stable APIs
npm install -D @adobe/premierepro

# Beta APIs (preview of upcoming surface)
npm install -D @adobe/premierepro@beta

TypeScript projects pick up the declarations automatically. For JavaScript projects that want autocomplete and inline documentation in Visual Studio Code or Cursor, add a jsconfig.json at the root of your plugin:

{
  "compilerOptions": {
    "types": ["@adobe/premierepro"]
  },
  "excludes": ["node_modules"]
}

Autocomplete and inline documentation are then available in both TypeScript and JavaScript projects.

TypeScript autocomplete for Premiere UXP APIs

JSDoc type hints for Premiere UXP APIs in JavaScript


Linting

The premiere-api sample uses the official @adobe/eslint-plugin-premierepro plugin to catch common mistakes when calling the Premiere UXP APIs. We recommend adopting the same plugin in your own projects.

cd sample-panels/premiere-api/html
npm run lint

Frequently asked questions

My plugin does not appear in Premiere Pro.

Verify the following:

  1. Developer Mode is enabled in Premiere Pro, and Premiere Pro has been restarted since enabling it.
  2. The host.minVersion declared in your manifest.json is less than or equal to your installed Premiere Pro version.
  3. UDT can detect Premiere Pro in its left-hand pane. If it cannot, restart both applications.
Where do console.log outputs appear?

In UDT, locate your loaded plugin and click Debug. This opens a Chromium DevTools window attached to your plugin, providing access to the console, network activity, and DOM inspector.

Are Premiere UXP API calls asynchronous?

Yes. Most Premiere UXP APIs return Promises and must be awaited (or chained with .then()). Failing to await them produces incorrect results and can block the panel UI. The premiere-api sample uses async/await consistently throughout its src/ modules and serves as a reference for the recommended pattern.

How do I request file system or network access?

Declare the required capabilities under requiredPermissions in your manifest.json:

UDT is not reloading my changes to manifest.json.

UDT's Watch mode only reloads source files. Changes to manifest.json require an explicit Unload followed by Load in UDT.

Can I combine a UXP panel with a native C++ plugin?

Yes. See the Hybrid Plugins guide in the official documentation.

Is the Premiere Pro transcript JSON format documented?

Yes. The full specification is included in this repository at sample-panels/premiere-api/html/assets/transcript_format_spec.json.


Additional resources


Contributing

Contributions are welcome. Before submitting a pull request, please:

Bug reports and feature requests can be filed via GitHub Issues.


License

This project is released under the terms of the LICENSE. See COPYRIGHT for additional notices.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors