Import
Bring existing PanelWave graphic novels into the CMS — from a self-contained work archive with all media, or from a JSON manifest file.
The CMS can import a complete graphic novel in two ways: from a work archive (a .zip that carries the whole work including every media file) or from a PanelWave JSON manifest — for example a backup, or a manifest produced by other tooling against the open format.
Starting from a screenplay instead of a manifest? The Script Import turns a Fountain script into a work — with AI-suggested chapters, panels, and speech bubbles you review before anything is created.
Importing a work archive
A work archive is the .zip produced by the Archive export. Unlike a JSON manifest, it carries the complete work: the manifest for all page formats plus every media file (originals and generated variants), your asset folders, all translations, and the speech-bubble audio (uploaded voice lines and TTS output per language) — so the imported copy is immediately editable and publishable, with nothing pointing back at the source system.
Open the archive import
On the My Works page, click Import Archive.
Upload the zip
Pick the archive file (up to 50 GiB). The upload goes directly to storage; progress is shown in the dialog. Archives above 16 MiB are uploaded in parts of 8 MiB; a part that fails is retried up to five times with increasing pauses, so slow or throttled connections still get through, and progress counts the bytes sent — cancelling or closing the dialog stops the upload and discards the parts already sent.
Wait for the import
The archive is validated and imported in the background: first the work's structure (in a single transaction — if anything fails, nothing is created), then the media files. The work appears in your list as a draft as soon as the structure is in; a marker on the card clears when all assets have arrived.
Retry if needed
A failed import shows the reason in the dialog and offers Retry — already-transferred files are skipped, so retries are fast. The uploaded zip is kept for 7 days; after that, upload it again.
Everything gets fresh ids on import, plan limits apply exactly as for a JSON import, and archives written by format versions 1.0–1.7 are accepted. Use archives to move works between systems and accounts — development to production, handing a work to another team, or keeping full local backups.
Panels keep their friendly ids (ch1-p022) in the copy, so exporting the imported work again yields the same ids, and translations attached to panels, pages and chapters are re-pointed at the new copies — nothing is left orphaned. The same applies to a JSON manifest exported from PanelWave. In an archive import, the work cover, character portraits and extras images point at the imported copies of their files as well.
Bubble audio is re-attached to the same bubbles in the copy. A track whose bubble or file is missing from the archive is skipped (the import's statistics count them); archives made before 28 September 2026 carry no bubble audio, so those bubbles arrive silent — regenerate or re-upload their lines.
Paywall rules arrive disabled
The archive carries every paywall rule of the work — live rules and inactive drafts. The import creates each one disabled, with its price, currency, tiers, age limit, and preview count intact and its locked panels pointing at the new copies of those panels. The rule's description gets a note saying when it was imported, whether it was live in the source work, and how many locked panels could not be matched (those are dropped). Review the rules in Monetization and enable the ones you want — nothing is sold on the target system until you do. Archives made before this change bring only the rules that were live, also disabled.
Not carried over (by design): products and reader entitlements, publish history, releases and review links, analytics, and community data (comments, likes). Review the paywall rules and publish anew on the target system.
Importing a JSON manifest
Open the import dialog
On the My Works page, click Import (next to Create New Work). The Import Graphic Novel dialog opens.
Select the file
Click the drop zone to browse, or drag and drop a .json file onto it. The file must be a PanelWave manifest of at most 10 MB.
Review the preview
The dialog parses the file and shows a preview before anything is imported: the work's Title, the number of Chapters, and the format Version. If something is wrong you'll see an error instead — use Try Another File to pick a different one.
Import
Click Import. Progress is shown while the data is validated and uploaded ("Validating graphic novel data…", "Uploading to server…", "Import complete!"). The new work then appears in your works list.
What the file must contain
The import validates the file before accepting it:
- It must be valid JSON with the required top-level sections
panelwave,meta, andchapters(see Manifest structure). - The declared format version (
panelwave.version) must be a format from 1.0 to 1.7 — the range up to the version the CMS itself exports (1.7.0), so a CMS export can always be imported back. Patch and pre-release versions of a supported format are fine (1.5.1,1.3.0-rc.1). Newer formats (1.8.0,2.0.0) and missing or malformed versions are rejected before anything is imported. - Maximum file size: 10 MB. The manifest references assets by URL; large media files are not embedded in the JSON.
What gets imported
Imports preserve the content of the manifest:
- Work metadata — title, description, creators, publisher, series, tags, age rating, locales
- The assets catalog (images, audio, video entries with their variants) and, from format 1.5, the asset folders with their assignments
- Chapters, including their navigation graphs, entry panels and sequence audio tracks
- Pages and their layouts, and infinite-canvas layouts (format 1.4)
- Panels with all layers, speech bubbles, hotspots, panel variants and interactive elements
- Extras (typed extras buckets; unknown
x-*buckets are skipped) and variables - Settings — typography and style presets, output presets, the video UI defaults and the preload setting (
settings.preload; a value outside the CMS's ranges is dropped rather than failing the import — see the Perf tab) - The localization block (format 1.5): translations and glossary
Hotspot labels and accessibility labels are kept, so the choices of an imported work still show their texts; edges keep their labels and their variable changes (Edge.action). References between them — panels, assets, characters, hotspot targets, canvas placements — are remapped to the new ids. Re-importing a CMS export gives an equal copy (hotspot-derived graph edges are no longer duplicated).
Not imported from a JSON manifest: paywall rules (only the work archive carries them, as disabled drafts), tracking settings and the top-level ui block. Set those up again in the CMS.
The import is atomic: if anything fails partway, nothing is created — you never end up with a half-imported work.
Asset entries are imported as catalog references (URLs). If the manifest points at externally hosted files, they keep working as external URLs; to manage the files inside the CMS, upload them to the Assets library and relink.
Common errors
| Message | Cause / fix |
|---|---|
| Invalid file type. Please select a JSON file. | The file doesn't end in .json |
| File too large. Maximum size is 10MB. | Strip embedded data or split the work |
| Invalid JSON file. Please check the file format. | The file isn't parseable JSON — validate it with the CLI |
| Invalid PanelWave graphic novel file. Missing required fields. | panelwave, meta, or chapters is missing |
| This manifest uses format X; this CMS supports 1.0–1.7. | The manifest declares a newer format (a minor above 1.7, or 2.x). Use a manifest in format 1.0–1.7 |
| This manifest has no valid format version (…); this CMS supports 1.0–1.7. | panelwave.version is missing or not a version like 1.7.0 |
Other imports in the CMS
The work import is not the only way to bring data in:
- Screenplays — turn a Fountain script into a full work skeleton with the AI-assisted Script Import.
- Finished pages — let AI split page images into panels and rebuild them as a work with Page Import.
- Characters — import/export a character set as JSON in the Characters Manager.
- Translations — import JSON, CSV, or XLIFF files from translators in the Localization Workshop.
- Team invites — bulk-invite members from a CSV on the Team page.