Manage Elgato Prompter scripts without Camera Hub lock-in.

A free local tool for Elgato Prompter creators. Import and export plain text, organize your library, and create registered-library backups with the CLI.

Use the GUI for text import/export, rename, delete, and index normalization. Use the CLI for explicit reorder and JSON backup/restore.

PrompterKit — Manage your Elgato Prompter scripts

Script tools

PrompterKit provides local text conversion, script organization, and registered-library backups.

Import text and Markdown

Import a UTF-8 .txt or .md file. Starting in 1.0.2, .txt keeps literal characters while .md strips common formatting. Blank lines separate chapters; line endings and repeated blank lines are normalized. Text conversion does not preserve empty chapters or blank lines within a chapter.

Back up your library

CLI backups contain registered readable scripts and full AppSettings.json, excluding missing, corrupt, and unregistered files. Replace restore replaces all Texts files and unrelated Camera Hub settings too. Keep an independent full directory copy before restoring. Merge can overwrite unregistered files with matching GUIDs. Recovery is not guaranteed.

Guided setup

Use the plain-text AI-assisted install guide if you want an assistant to handle setup commands with your approval. After launch, the browser GUI handles daily script management.

WorkflowAvailable in
Text / Markdown import, text exportGUI and CLI
Rename, delete, normalize indexesGUI and CLI
Explicit script order, external editorCLI
Registered-library JSON backup and restoreCLI
Export-all text ZIP (not a restorable backup)GUI

Quick setup

PrompterKit requires Python 3.10 or later. Check with python3 --version. If Python is missing, install it from python.org.

Runs locally. No accounts, no telemetry, no cloud sync. Your scripts stay on your machine.

Use with care: PrompterKit edits local Camera Hub data files. Schema checks cover known fields; restore bypasses the live guard. Unknown formats can break reads and writes. Close Camera Hub before write operations and use PrompterKit at your own risk. The software is provided under the MIT License without warranty.

The simplest way in: ask ChatGPT, Claude, Codex, or another local coding assistant to walk you through setup. Point it at the structured assistant guide and approve each command as it runs.

The guide targets the GuideCheck 0.7.1 profile for human-verifiable assistant guides. It pins installation to reviewed app 1.0.2 and includes script hash checks, a sidecar manifest, and a public hash record. Level 4 is the guide-file target; check the current result at guidecheck.org/verify. No Level 5 runtime claim is made. Neither conformance nor matching hashes establish software safety.

Before any import, rename, delete, restore, or reindex operation, close Camera Hub and make a PrompterKit backup.

Open the assistant guide View evidence
  1. Download PrompterKit

    Literal

    git clone https://github.com/snapsynapse/prompter-kit.git
    cd prompter-kit
  2. Create a local environment and install Flask

    Literal

    python3 -m venv .venv
    source .venv/bin/activate
    python3 -m pip install -r requirements-gui.txt

    On Windows, activate with .venv\Scripts\activate

  3. Close Camera Hub, then launch PrompterKit

    Literal

    python3 prompter_kit_gui.py

    Your browser opens automatically at http://127.0.0.1:5000

Using PrompterKit

Once PrompterKit is installed, here is how to start it and manage your library day to day.

  1. Quit Camera Hub first PrompterKit and Camera Hub share the same local script files. Close Camera Hub before launching so the two never write at the same time.
  2. Start the app Activate your environment, then run the GUI. Your browser opens automatically at http://127.0.0.1:5000.

    Literal

    source .venv/bin/activate
    python3 prompter_kit_gui.py

    On Windows, activate with .venv\Scripts\activate

  3. Import and organize your scripts Import a UTF-8 .txt or Markdown file, then rename or delete entries. Use Normalize indexes explicitly when needed. Arbitrary reorder is available through the CLI.
  4. Back up your library Use the CLI backup command for registered script JSON and settings. GUI Export all produces text files only and cannot be used with restore. Preserve a separate full data-directory copy before replace restore.
  5. Stop the server and reopen Camera Hub When you are done, press Ctrl+C in the terminal to stop PrompterKit, then reopen Camera Hub to record with your updated library.

Prefer the terminal? Every action is also a one-liner. The GUI covers import, export, rename, delete, and index normalization; the CLI covers registered-library backup, restore, explicit reorder, and Camera Hub lifecycle commands.

  • import script.txt --name "Episode 42"Import a text file as a new script
  • export --listSee all registered scripts
  • backupArchive registered readable scripts and settings
  • restore backup.zipRestore from a backup archive
  • delete "Old Draft"Remove a script by name
  • rename "Draft" "Episode 42 Final"Rename a script
  • import --restart script.txt --name "Live"Auto-stop Camera Hub, import, restart after success or failure

If the launch command does not work, one of these is usually why.

  • "can't open file '.../prompter_kit_gui.py': No such file or directory" You are not inside the project folder. The clone created a prompter-kit directory; move into it before launching: cd prompter-kit, then run python3 prompter_kit_gui.py. Run ls first and confirm you see prompter_kit_gui.py in the listing.
  • "No module named 'flask'" The virtual environment is not active, or dependencies were never installed. Activate it with source .venv/bin/activate (.venv\Scripts\activate on Windows), then run python3 -m pip install -r requirements-gui.txt.
  • "command not found: python3" or a version below 3.10 PrompterKit needs Python 3.10 or later. Check with python3 --version and install from python.org if it is missing or too old.
  • "Address already in use" on port 5000 PrompterKit is probably already running in another terminal or browser tab. Close the other instance, or stop it with Ctrl+C, then launch again. On macOS, AirPlay Receiver can also hold port 5000, so disable it in System Settings if needed.
  • Changes do not show up in Camera Hub Camera Hub reads the library only at startup. Quit Camera Hub before editing in PrompterKit, and reopen it afterward so it picks up the updated scripts.

Free and open source

I built PrompterKit because I needed it. After losing a library of scripts to a Camera Hub reinstall with no recovery path, I wrote the tool I wished existed. Now it's free for every creator who runs into the same wall.

MIT-licensed. No accounts, no subscriptions, no telemetry. Your scripts stay on your machine. The source is on GitHub and contributions are welcome.