Platform Editor Pricing Docs Sign In Get Started

Chapter 27: Importing and Exporting

Templates do not have to start blank, and they do not have to stay inside FX Express. The File menu handles both directions.

Getting a template out

CommandProducesUse it for
File ▸ Download template (.fxt)The template JSON aloneVersion control, hand-editing, sending to someone who already has the media
File ▸ Download with assets (.fxz)A ZIP with the template plus its images, audio, and custom fontsMoving a template between accounts, projects, or regions
File ▸ Save to Library…An entry in the shared Library tabMaking a design reusable inside your own workspace
File ▸ DuplicateA copy beside the originalBranching a design without losing the original

About .fxz bundles

An .fxz is a ZIP containing template.fxt, a manifest.json, and the referenced assets under assets/media, assets/fonts, and assets/audio. The manifest records how each original reference maps to a bundled file, so importing rewrites the references back correctly.

Everything the template references is collected: image and video layers, scene backgrounds and layout media, audio layers and scene sounds (including generated voiceover that has been stored beside the template), subtitle files, and the fonts used by text, table and list layers or by a custom theme. Each file is read from wherever the template itself lives — its project, or your UserFS folder — so a template in a subfolder or a project bundles exactly the files it plays.

Scene layers are followed: an imported scene’s media is bundled from the source template’s own directory and project, which is what makes an .fxz self-contained even when it contains borrowed scenes.

Two things do not travel, by design:

  • Media referenced through a {variable}. A source like products/{sku}.jpg names a different file per render, so there is no one file to bundle.
  • Media at an external URL. An https:// source is kept as-is and keeps loading from that address.

Both are recorded in the manifest as not bundled and produce no warning.

Media that could not be read is different. If a referenced file is missing from its store, or a locally recorded sound is no longer in this browser, the bundle is still saved but a Bundle incomplete notice lists every file that was left out and where the editor looked for it. Treat that as a failed export: fix or re-upload the asset and export again, rather than sending a bundle that will show gaps at the far end.

One rare case is also reported there: when an imported scene uses the same relative name (say media/logo.png) as the host template for a different file, only the host’s copy can be bundled under that name.

Getting a template in

File ▸ Import Template… is one picker for every supported format. The extension decides which importer runs:

ExtensionImporter
.fxt, .jsonTemplate JSON
.fxz, .zipBundle — unpacks assets and rewrites references
.idmiDooMo / After Effects composition

An unrecognised name goes to the template importer, which sniffs the bytes and reports its own error.

Importing After Effects compositions (.idm)

An .idm file is an After Effects composition exported by iDooMo. Importing one is not a mechanical file conversion — the composition is recreated:

  1. Reading the file — a deterministic extractor pulls out a digest: layer names, fonts, placeholder images, numeric evidence.
  2. Installing fonts — custom fonts found in the composition are uploaded.
  3. Recreating with Claude — a model writes the FX Express document from the digest. This is the slow stage; the progress dialog shows elapsed seconds so a multi-minute analysis doesn’t look stuck.
  4. Storing images — placeholder and embedded images are uploaded.
  5. Saving template — the result is compiled and saved.

The import report

When it finishes you get a report dialog:

  • What came across — canvas size, duration, layers by kind, variables, media, custom fonts.
  • What didn’t — diagnostics grouped by code, each with a count, the affected layers, and help text.
  • The layer map — how each source layer was interpreted, with notes on what was recovered, what was inferred, and what was dropped.

Read the layer map. An AE composition has features FX Express does not, and the notes tell you exactly where the model made a judgement call — that is where to look first when something is off.

An import is a starting point, not a finished template. Expect to fix typography and timing by hand.

Authoring templates as FXHTML

For building templates from scratch programmatically — rather than clicking them together — FX Express accepts FXHTML, an HTML dialect that compiles to a template. It is the recommended route for AI-assisted authoring and for generating families of similar templates.

FXHTML is a developer feature rather than an editor one; see docs/ in the repository and the fxhtml-authoring skill for the profile and the compiler CLI.

Troubleshooting

The .fxz imported but images are missing. The export would have shown a Bundle incomplete notice listing the files it could not read; check the bundle’s manifest for references recorded as not bundled. Variable-driven and external sources are expected there (nothing to bundle); anything else was unreachable at export time. Re-export from a session where the media resolves.

“Unsupported bundle version”. The .fxz was written by a newer FX Express. Bundle version is a hard compatibility boundary; importers refuse versions they don’t know.

The IDM import is taking minutes. Expected during “Recreating with Claude…”. The dialog counts elapsed seconds so you can tell it is still working.

The IDM import lost an effect or an animation. Check the diagnostics and the dropped notes in the report. FX Express implements a smaller feature set than After Effects; anything with no counterpart is reported rather than silently approximated.

Fonts came in with the wrong name. Custom fonts are installed from the composition and referenced by family. Check the Uploaded group in any Font Family dropdown and re-point the text layers if the family name differs from what the composition used.


← Previous: Publishing