Quick Start Notebook
For programmatic access to Nomadic, you can use our Python SDK. Quick Start Notebook below.1. Install the SDK
2. Initialize the Client
To get your API key, log in to the web platform, go to Profile > API Key, and generate a new key.
We recommend storing your API key in an environment variable for security.
3. Upload and Analyze Videos
The standard workflow involves uploading your videos first, then running analysis on them. Uploads accept local paths or remote URLs that end with a common video extension (.mp4, .mov, .avi, .webm):
upload and a list of ids to analyze for batch operations.
4. Semantic Search with Chain-of-Thought
Search can be used are open in the natural language queries. Nomadic will reason about what fits best. Search response includes a chain-of-thought summary plus the reasoning behind each matched video. Supply the natural language query, the folder name, and the scope ("user", "org",
or "sample"), and the call returns the complete set of results in one
payload.
5. Analysis
Nomadic prompt analysis can be run on a single video, a list of videos, or a folder.Prompt Analysis
Extracts custom events based on your specific requirements. The default analyzer uses Thinking mode. Use Fast mode when you want speed-preferring router behavior.6. Project-Based File Management & Composite Workflows
For larger projects, you can organize videos into folders and run batch analysis on entire folders at once. This is especially useful for processing datasets or running systematic reviews.Example: Deleting videos
Example: Creating and looking up folders
Example: Analysis + Search Workflow
This example demonstrates a common workflow: first, run a broad analysis to cast a wide net, then use search across analysis results to hone in on specific events, and finally, run a detailed analysis on the resulting subset of videos.7. Re-analyzing Videos
You don’t need to re-upload videos to run new analyses. You can efficiently query already uploaded videos using either their specificvideo_ids or by organizing them into folders.
Re-analyzing Specific Videos by ID
This is the most direct way to re-run analysis on a few specific videos. After you upload a video, the API returns avideo_id. Store this ID to reference the video in future calls.
Using Folders for Batch Re-analysis
For larger-scale projects, organizing videos into folders is the best practice. This allows you to run analysis on an entire dataset with a single command.8. Visualizing Results
Use the SDK visualizer to inspect detected events against the source video.Creating a Video/Event Viewer
The visualizer returns standalone HTML and displays inline in notebooks when possible.batch_id:
9. Livestream Analysis
Useclient.livestream to start a live HLS session, run a continuous rapid-review query, and poll newly detected events.
stream_time, capture_time, chunk_relative_time, t_start, t_end, and backend creation timestamp created_at. See Livestreams for the full event schema.
10. Working with Overlay Metadata
Nomadic can extract telemetry data from on-screen overlays in videos. This is useful for videos with embedded metadata like timestamps, GPS coordinates, speed, altitude, or custom telemetry values.Important: Metadata describing overlay fields must be provided at upload time. During analysis, request the telemetry you need directly in the prompt.
Uploading Videos with Metadata
You can provide metadata files that describe the overlay fields in your videos. Metadata must be a properly formatted JSON file according to the Metadata Ingestion Spec, and the.json file must share the same base filename as the video (for example, drone_footage.mp4 pairs with drone_footage.json).
Overlay-Aware Queries
For videos uploaded with metadata or visible overlays, request the telemetry you need in the prompt. The router selects the appropriate extraction path.Batch Analysis with Overlay Extraction
For batch processing of videos with overlays:Metadata File Format
The metadata JSON file should describe the fields that appear as overlays in your video. For the complete metadata ingestion specification and detailed schema documentation, see the Metadata Ingestion Spec. Example metadata file:Metadata files must have the same base filename as their corresponding video file. For example,
dashcam_recording.mp4 should have metadata named dashcam_recording.json.11. Storing Results in a Document Database
All SDK methods return serializable Python dictionaries, which can be easily processed and stored in any document database.Example: Storing in MongoDB
Example: Storing in Supabase
Supabase provides a Postgres database with a Python client that’s simple to use.Next Steps
Uploading From Cloud Storage
A guide to integrate with common cloud storage providers.
SDK Documentation
A concise listing of all video-related SDK functions