Skip to main content
Jumper analyzes your media files locally on your machine. This API lets external tools (MAM systems, automation scripts, custom integrations) tap into those capabilities: semantic search across video, speech transcription, face detection and clustering, and more. Base URL: http://localhost:6699/api/v1

Authentication

Every endpoint except GET /health requires a Jumper Pro license key. Pass it one of two ways:
The key is validated on the first request and cached for the session — subsequent requests with the same key skip the network check.
StatusMeaning
401No license key provided
403Key is valid but not a Pro license
401: {"error": "Authentication required", "message": "Provide license_key in request body or X-License-Key header"}
403: {"error": "Jumper Pro license required", "message": "The public API requires a Jumper Pro license"}

Key concepts

The folder where Jumper stores analysis data (visual analysis, transcriptions, face clusters). You choose this path when running analysis or loading data.
Absolute filesystem paths to media files. Jumper needs direct access to these files on the machine running the backend.
A CRC32-based hash that uniquely identifies a media file. Returned by the metadata endpoint and used in other endpoints for efficient lookups.
Internal identifier for a visual or speech analysis model variant (e.g. v2-medium-256, mlx-large-v3-turbo).

Typical workflow

Most integrations follow this pattern:
1

Check health

Verify the backend is running with GET /health (no authentication required).
2

Analyze media

Run visual and/or speech analysis on your files via POST /analyze. Returns a task_id for progress tracking.
3

Load analysis data

Load analysis results into memory for searching with POST /analysis-data/load or POST /analysis-data/load-for-media.
4

Search

Find matching moments by text, image, or frame similarity using the /search/* endpoints.
5

Get transcriptions

Retrieve speech-to-text results via POST /transcriptions.
6

Get thumbnails

Fetch preview images for specific timestamps with POST /thumbnails or POST /thumbnails/scene.

Example requests

curl http://localhost:6699/api/v1/health

Error format

All errors follow the same structure:
{"error": "Description of what went wrong"}
CodeMeaning
400Bad request (missing or invalid parameters)
401No license key provided
403Not a Pro license
404Resource not found (e.g. watch folder ID)
500Server error
503Models still loading — retry shortly

For long-running operations (POST /analyze, POST /faces/recluster), connect to the SocketIO server at http://localhost:6699 and join the room matching the returned task_id.Event: progress
{
  "progress": 45.5,
  "video_path": "/Videos/interview.mp4",
  "done": false,
  "type": "video"
}
The type field indicates what’s being processed: "video" for visual analysis, "speech" for transcription. When done is true, the task is complete.

Endpoint reference

Use the sidebar to browse the full API reference. Endpoints are grouped by area:
  • HealthGET /health
  • Models — Load, list, and switch analysis models
  • Media — Metadata for media files
  • Analysis — Run analysis, cancel, load/clear data
  • Search — Text, image, frame, and transcript search
  • Transcriptions — Retrieve speech-to-text results
  • Thumbnails — Single frames and scene strips
  • Face Clustering — Clusters, samples, names, modify, recluster
  • Watch Folders — Automatic analysis on new files
  • Export — Clips and Premiere Pro XML

Jumper

Learn more at getjumper.io
Last modified on February 18, 2026