For the complete documentation index, see llms.txt. This page is also available as Markdown.

Getting Started

EyePop.ai enables developers to create Pops. Pops are vision workflows that process images, videos, and livestreams into structured AI predictions: bounding boxes, confidence scores, and classificatio

Step 1 β€” Create an Account & Get Your API Key

  1. Sign up at eyepop.ai.

  2. Open the dashboard and navigate to API Keys.

  3. Generate a new API key β€” it will look like eyp_....

  4. Store it as an environment variable:

export EYEPOP_API_KEY=eyp_...

Never hardcode your API key. Load it from the environment or a .env file.


Step 2 β€” Install the SDK

Python (3.12+)

pip install eyepop

Node / React

npm install --save @eyepop.ai/eyepop

Browser (CDN)

<script src="https://cdn.jsdelivr.net/npm/@eyepop.ai/eyepop/dist/eyepop.min.js"></script>

Step 3 β€” Connect to Your Pop

Python

The primary entry point is async_worker(). Use it with async with so the connection is automatically closed.

The SDK reads EYEPOP_API_KEY and EYEPOP_URL from the environment automatically. You can also pass the key explicitly:

For scripts where async is not available (rare, one-shot image only):

Node / TypeScript


Step 4 β€” Configure a Pop

A Pop defines what models run on your endpoint. Set it after connecting:

Python

Node / TypeScript


Step 5 β€” Run Your First Prediction

Upload a local file

Python

Node

Load from a URL or RTSP stream

Python

Node


Step 6 β€” Understand the Output

Predictions return structured JSON. Example response:

Result key
Used by

objects

Detection abilities (eyepop.person:latest, eyepop.vehicle:latest, etc.)

classes

Classification abilities

texts

VLM / describe abilities and OCR


Step 7 β€” Process Video (Async Frame Loop)

For video files or live streams, iterate frame-by-frame:

To process at a lower frame rate (e.g., 1 fps):


Step 8 β€” Batch Processing

Process multiple files concurrently using asyncio.gather:


Step 9 β€” Visualization

Node / Canvas (browser or Node)


Step 10 β€” Live Browser Streams (Node / Browser only)

Connect a browser MediaStream directly to an EyePop endpoint:

liveIngress is a browser/Node API and takes a MediaStream. It is not available in the Python SDK.


Step 11 β€” Authentication Options

Method
Use case

api_key= / EYEPOP_API_KEY env var

Server-side β€” standard eyp_... key for transient cloud inference

secret_key=

Server-side β€” long encoded key for named pops

Session token

Browser apps β€” generate a short-lived token server-side and pass it to the client

OAuth2

Development / dashboard login only

Python β€” standard (transient pop)

Python β€” named pop with secret key

api_key and secret_key are not interchangeable. Passing an eyp_... key as secret_key raises a ValueError at runtime.

Node β€” generate a session token for browser clients


Step 12 β€” Deploy On-Premise (Optional)

EyePop supports on-premise deployment for IP camera workflows. Run eyepop-instance locally to process RTSP streams with cloud inference offload and a local dashboard.

Use is_local_mode=True in the SDK to connect to a local instance instead of the cloud:


Tuning Options

Option
Python
Node
Effect

Disable auto-start

auto_start=False

autoStart: false

Don't start a worker on connect

Preserve pending jobs

stop_jobs=False

stopJobs: false

Keep queued jobs when disconnecting


Resources

Last updated