I just updated mogrt.zinchuk.online to work with both the older Premiere projects I had been testing and projects saved by Premiere Pro 26.
That sentence sounds boringly reasonable. The process was not dramatic, but it was very Premiere.
The first symptom
After the Premiere 26 update, some projects that had worked fine before started failing during subtitle generation. The service could still read the project, inspect sequences, and find tracks. Then it reached the part where it had to clone and place subtitle MOGRT clips, and the engine suddenly had less project structure than it expected.
I did not want to patch that by guessing from a “What’s new” page. The service depends on the low-level shape of .prproj files, so the useful evidence had to come from the files themselves.
I collected paired projects: the same small Premiere setups saved in an older version and saved again in Premiere Pro 26. Then I compared the project structure, sequence graph, track items, MOGRT parameters, and text payloads.
The interesting delta turned out to be small:
- older projects kept an explicit
Starttiming node on zero-start timeline items, - Premiere 26 can omit that node,
- Premiere 26 can also reorder timing fields, so
Endmay appear beforeStart.
My writer path was still thinking, “of course this node exists.” Premiere 26 answered, “not necessarily.”
The cautious middle version
Before enabling support, I shipped the honest intermediate state.
The service started detecting projects saved by Premiere 26 and showed a visible warning that version 26 was not supported yet. That was not a glamorous feature, but it was much better than letting users feed a real project into a cheerful button and get a vague generation failure back.
I also kept collecting more samples. One pair is a clue. Several pairs that fail in the same family of ways are a fixable problem.
The actual fix
The compatibility change was deliberately narrow.
For the observed Premiere 26 zero-start form, the engine now treats a missing Start as a zero start time when reading timing. Before writing placements into cloned subtitle items, it materializes the missing timing node instead of assuming it is already there. Existing projects that already have explicit timing nodes keep their old path.
That gave me the shape I wanted:
- older Premiere projects still generate correctly,
- Premiere Pro 26 projects generate correctly,
- the rest of the subtitle logic does not have to pretend there is a whole new project format every time one XML detail moves.
I tested that first in a separate Cloud Run test service with real projects, including the files that had been failing. Only after those outputs opened correctly in Premiere did I replace the public version.
Codex was useful here in exactly the way I like: not by making a grand theory of Adobe internals, but by helping me turn a suspicious file difference into a repeatable audit, a small patch, and a testable rollout.
The finish-line banana peel
The final failure was not in Premiere at all.
Once the Premiere 26 support was ready, I removed the old “not supported” warning from the new public interface. I removed the warning block and its function, but two old JavaScript calls to that function survived.
So the freshly deployed service was healthy. The new engine worked. The health endpoint proudly said v6. And the browser page broke during startup.
The symptoms were wonderfully misleading if you looked only at the interface:
- the language switcher did nothing,
- the “How to use” panel was empty.
The reason was much smaller: one startup ReferenceError stopped the rest of the UI initialization. A warning added to protect users during the migration managed to trip the interface while being removed. It earned a final cameo.
The hotfix was two deleted calls, followed by a browser check on the live site instead of just another health check.
Current state
The public subtitle service now supports the Premiere Pro 26 project cases I tested while keeping compatibility with the older ones.
That is one of the strange pleasures of building tools around creative software. Sometimes a big compatibility update is not a sweeping rewrite. Sometimes it is noticing that a timeline item that used to say “I start at zero” now simply stays silent, and teaching your code not to panic when Adobe gets quiet.
Try the current version here:
Tool page: