CLI Command Server

CLI Command Server

Highlight Studio includes a local TCP command server that lets you control the app programmatically from your terminal, scripts, or AI agents.

How It Works

When Highlight Studio is running, it listens on localhost:9847 for incoming JSON commands. Each command is a single-line JSON object terminated by a newline character. The server responds with a JSON result for every command.

Connecting

You can connect using any tool that supports TCP sockets. For example, using netcat:

echo '{"command":"project.info"}' | nc localhost 9847

Available Commands

  • record.start — Start a new screen recording with the current settings.
  • record.stop — Stop the active recording and open it in the editor.
  • clip.split — Split the clip at a given time. Example: highlight-cli clip.split --at 5.0
  • zoom.add — Add a zoom effect at the current playhead position.
  • annotation.add — Add an annotation to the timeline.
  • subtitle.generate — Trigger AI transcription on the current project.
  • project.export — Export the current project with the configured settings.
  • project.open — Open a project file by path.
  • project.save — Save the current project.
  • project.close — Close the current project.
  • project.info — Get information about the current project state.

Response Format

Every command returns a JSON response with a status field ("success" or "error") and a data object with the result.