ImmersivePage Admin Console
Operator tools for accounts, plans, billing recovery, and global announcements.
Requires DOCUMENTREADER_ADMIN_SECRET in production (local dev allows access without it).
Search for a user and select them from the list to view details and manage their account.
User detail
Plan & trial
Account edits
Broadcast banner
Shown to all signed-in users at the top of the app. Dismissible per browser when enabled.
Enhanced Stories
Edit curated packs in draft, then publish to the store shelf. Drafts live in content-packs/.drafts/.
| Pack | Version | Segments | Price | Draft | Cover | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Store defaults
Default pack and voice engine for every Enhanced Story you sell. Per-pack overrides are in each pack’s Overview tab.
Global pronunciations
Default dictionary applied to every book and Enhanced Story. Per-story pack dictionaries and listener overrides still take precedence for the same word.
Voice rankings
Rank voices per engine (1 = best). Story import and Apply best voices prefer lower ranks when auto-casting. Listeners can set their own rankings in Settings.
Bulk import
Drop story files into content-packs/_imports/stories/ (or another folder inside this repo),
then process them into published, sellable Enhanced Stories — full wizard pipeline, no manual library upload.
Drop files here
Story files (.txt, .doc, .docx, .epub, .pdf, …) plus one shared
generic.pack.json (sourceNote, rights, price, environment for all).
Title and pack id come from each file name. Optional per-story .pack.json overrides.
or ·
Supported: .doc, .docx, .epub, .pdf, .txt. .doc uses Word or LibreOffice on the server.
Content pack editor
Manifest
Store listing, preview cutoff, voice engine, and Stripe configuration.
Narrator & cast
Open the full Cast editor (voice preview, gender/age, merge). Saves to this pack’s draft — publish when ready.
| ID | Display name | Voice | Pan | Pitch | Rate |
|---|
Playback segments
Dialogue and narration lines. Drag the handle to reorder. Right-click a row for segment actions — link segment images, add format-override image pages, set Listen start, and more. Drop an image file onto a segment row to upload it and create a linked segment image. Green outline marks the Listen start segment. Colored bars and page labels show Format Override pages — click a page label to open that page in Format Overrides. Chapter headers come from the book structure. Use Search segments to find text. Editing segment text on a page with custom format overrides prompts to sync those overrides. Use Combine fragments to merge Gutenberg-style line-wrap splits into paragraphs.
| # | Kind | Speaker | Text | Director (JSON) |
|---|
Segment images
Assign images to segment ranges (companion page in Cinema). Start/End use the same segment numbers shown during playback (Segment 1 = first segment). Row order is for organization only — drag the handle to sort visually.
Cover every segment. In Book View with Standard (dialog) playback, segment image ranges should be contiguous and include all segments (0 through the last). Gaps between ranges can cause missing illustrations and playback sync issues. Use no segment images at all if you want two-page text spreads only.
| ID | Title | Start seg | End seg | Image | Preview |
|---|
Format Overrides
Fine-tune Full paragraph pages. Use this only for minor formatting: add/remove line breaks, join lines, or inline emphasis. Do not delete, rewrite, or reorder segment text. After adding or splitting segments, use Regenerate pages to refresh pagination — saved overrides are merged back by segment range.
Inline formatting tags (Listen)
Immersion sounds
Pack assets
Upload images into assets/ on the draft pack.
Drag images here
or choose files — PNG, JPEG, WebP, SVG, GIF. Multiple files OK.
Pack pronunciation
Default dictionary for this story only. For words that should apply to every book (e.g. breathed → brethed), use on the Content packs list.
Source manuscript
Abridged text for reference and future marker import.