Standalone-first MVP for syncing timestamps between scripts and Premiere Pro markers.
marker-syncCLI (Node.js)
- Extracts timestamps from local scripts or Google Docs text into normalized marker JSON.
- Handles strict formats and fuzzy/loose formats (
--fuzzy) for messy scripts. - Exports CSV for audit/review.
- Injects markers back into a script as a timestamp section.
- UXP plugin scaffold for Premiere Pro (
premiere-uxp-plugin/)
- Imports marker JSON into the active sequence.
- Exports active sequence markers to JSON.
- Fastest path to value: standalone parser + lightweight panel bridge.
- Keeps parsing logic independent of Premiere internals.
- Lets you iterate AI extraction in the CLI without reloading the panel each time.
npm run test:sanityThen inspect:
sample/out.markers.jsonsample/out.markers.csv
node ./src/cli.js extract \
--input ./sample/script.txt \
--output ./sample/out.markers.json \
--csv ./sample/out.markers.csv \
--fps 30 \
--fuzzyPublic doc:
node ./src/cli.js extract \
--input "https://docs.google.com/document/d/<DOC_ID>/edit" \
--output ./out.markers.jsonPrivate doc:
export GOOGLE_OAUTH_ACCESS_TOKEN="<oauth_access_token>"
node ./src/cli.js extract --input "https://docs.google.com/document/d/<DOC_ID>/edit" --output ./out.markers.jsonnode ./src/cli.js inject \
--script ./sample/script.txt \
--markers ./sample/out.markers.json \
--output ./sample/script.with-markers.txt- Open UXP Developer Tools.
- Add the
premiere-uxp-plugin/folder as a plugin. - Launch in Premiere Pro (Window -> Plugins -> Marker Sync).
- Use:
Import JSON into SequenceExport Sequence to JSON
Do not edit plugin code first. This is usually an app connection issue.
- Run the preflight checker:
npm run premiere:preflight- Apply this exact recovery sequence:
- Close Premiere and UXP Developer Tool.
- Start Premiere first and wait until it is fully loaded.
- Start UXP Developer Tool as Administrator.
- In Premiere, enable developer mode in
Preferences -> Plugins, then restart Premiere. - Confirm Premiere appears as connected in UDT, then load
premiere-uxp-plugin/.
- Verify compatibility:
premiere-uxp-plugin/manifest.jsonrequireshost.minVersion: 25.6.0.- Stable/Beta mismatches can break connection (for example, launching Beta while targeting stable).
{
"schemaVersion": 1,
"exportedAt": "2026-02-26T00:00:00.000Z",
"fps": 30,
"markers": [
{
"name": "Hook line",
"comments": "",
"startSeconds": 3.5,
"durationSeconds": 0,
"markerType": "Comment",
"confidence": 1,
"source": "strict",
"sourceLine": 1,
"rawTimestamp": "00:00:03.500"
}
]
}Current MVP uses deterministic + fuzzy parsing. To add model-based recovery for poor formatting:
- Add
src/aiExtractor.jsthat maps raw script lines to{ timestamp, title }. - Merge AI candidates into
extractMarkersFromTextwhen strict parsing fails. - Keep confidence scoring and human-review CSV.
- Google Docs ingestion is plain text export only (formatting/comments ignored).
- Plugin scaffold is built for Premiere UXP APIs and needs real host validation.
- Fuzzy parsing may produce false positives on number-heavy scripts; review CSV before import.
- Premiere UXP API overview: https://developer.adobe.com/premiere-pro/uxp/ppro_reference/
- Markers API: https://developer.adobe.com/premiere-pro/uxp/ppro_reference/classes/markers/
- Project transactions (
executeTransaction): https://developer.adobe.com/premiere-pro/uxp/ppro_reference/classes/project/ - ExtendScript support status (through September 2026): https://ppro-scripting.docsforadobe.dev/
- Google Docs API overview: https://developers.google.com/workspace/docs/api/quickstart
- Google Drive
files.exportfor plain text: https://developers.google.com/drive/api/reference/rest/v3/files/export