> For the complete documentation index, see [llms.txt](https://docs.eyepop.ai/developer-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eyepop.ai/developer-documentation/pop.md).

# Pop

A Pop is the core building block of EyePop.ai.

A Pop defines how visual data is processed by combining AI models, logic, prompts, and workflows into a reusable pipeline. Every image, video, livestream, or camera feed analyzed by EyePop runs through a Pop.

Think of a Pop as a visual intelligence workflow that transforms raw media into structured, actionable data.

### Why Pops Exist

Most real-world visual AI problems require more than a single model.

For example, reading a license plate may involve:

1. Detecting a vehicle
2. Locating the license plate
3. Cropping the plate
4. Running OCR
5. Returning structured results

A Pop allows these steps to be combined into a single reusable workflow.

### What Can a Pop Contain?

A Pop can include:

* Object detection models
* Classification models
* OCR models
* Tracking
* Segmentation
* Keypoint detection
* Vision Language Models (VLMs)
* Structured extraction
* Prompting logic
* Data transformations
* Multi-stage processing pipelines

### Examples

#### License Plate Reading

```
Vehicle Detection
    ↓
License Plate Detection
    ↓
OCR
    ↓
Structured Results
```

#### Construction Site Monitoring

```
Worker Detection
    ↓
PPE Analysis
    ↓
Safety Violation Classification
```

#### Retail Shelf Analytics

```
Product Detection
    ↓
Product Classification
    ↓
Inventory Reporting
```

#### Visual Intelligence

```
Object Detection
    ↓
Crop Object
    ↓
Vision Language Model
    ↓
Structured Insights
```

### Inputs

A Pop can process:

* Images
* Video files
* Livestreams
* RTSP camera feeds
* RTMP streams
* WebRTC streams

### Outputs

A Pop returns structured JSON data that can be consumed by applications, dashboards, workflows, or business systems.

Outputs may include:

* Bounding boxes
* Labels
* Counts
* OCR results
* Tracking IDs
* Classifications
* Structured fields
* Event detections
* Visual Intelligence responses

### Reusability

Once created, a Pop can be used across multiple environments:

* Dashboard applications
* REST APIs
* SDKs
* Mobile applications
* Livestreams
* On-prem deployments
* Permanent Sessions

This allows teams to build a workflow once and deploy it anywhere.

### Deployment Options

A Pop can run in:

#### Cloud

Hosted and managed by EyePop.ai.

#### On-Prem

Deployed within a customer’s infrastructure.

#### Hybrid

A combination of cloud and edge processing.

#### Permanent Session

A dedicated runtime where a single Pop remains continuously active for low-latency and real-time workloads.

### Best Practices

When designing a Pop:

* Start with the simplest workflow that solves the problem.
* Use detection models to narrow the scope before running more expensive analysis.
* Return structured outputs whenever possible.
* Test with representative production data.
* Reuse Pops across applications rather than duplicating workflows.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.eyepop.ai/developer-documentation/pop.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
