> For the complete documentation index, see [llms.txt](https://docs.degirum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.degirum.com/hailo/basics/specifying-a-model/discover-hailo-models.md).

# Discover Hailo models

*Estimated read time: 3 minutes*

## Where the model comes from: Hailo Model Zoo

In the [First inference](/hailo/basics/first-inference.md) guide, we specified the model by:

* `model_name="yolov8n_coco--640x640_quant_hailort_multidevice_1"`
* `zoo_url="degirum/hailo"`
* `inference_host_address="@local"`
* `model_properties={"device_type": ["HAILORT/HAILO8", "HAILORT/HAILO8L"]}`

That `zoo_url` points to the [Hailo Model Zoo](https://hub.degirum.com/public-models/degirum/hailo?utm_source=docs.degirum.com\&utm_medium=site\&utm_campaign=cookbooks-hailo-cookbook-specifying-a-model-discover-hailo-models), a curated collection of models precompiled for HailoRT and tested to run on Hailo devices. We highlight this zoo because it lets you run examples immediately, without any conversion steps.

{% hint style="info" %}
Any model compiled for Hailo can be used with the same pattern. The advanced guide shows how to bring your own model (BYOM).
{% endhint %}

## Why we start with the Hailo Model Zoo

* **Instant results**: models are precompiled and follow predictable I/O, so examples “just work”
* **Consistent setup**: you focus on `model_name`, `zoo_url`, and `device_type`—everything else stays the same
* **Easy to swap**: change only the `model_name` to try a different model

## Example models

{% code overflow="wrap" %}

```python
# ImageNet classification model
model_spec = ModelSpec(
    model_name="yolov8s_silu_imagenet--224x224_quant_hailort_hailo8l_1",
    zoo_url="degirum/hailo",
    inference_host_address="@local",
    model_properties={"device_type": ["HAILORT/HAILO8", "HAILORT/HAILO8L"]},
)

# COCO object detection model
model_spec = ModelSpec(
    model_name="yolov8n_coco--640x640_quant_hailort_hailo8_1",
    zoo_url="degirum/hailo",
    inference_host_address="@local",
    model_properties={"device_type": ["HAILORT/HAILO8", "HAILORT/HAILO8L"]},
)

# Face detection model
model_spec = ModelSpec(
    model_name="yolov8n_relu6_face--640x640_quant_hailort_multidevice_1",
    zoo_url="degirum/hailo",
    inference_host_address="@local",
    model_properties={"device_type": ["HAILORT/HAILO8", "HAILORT/HAILO8L"]},
)
```

{% endcode %}

## Hailo-8 vs. Hailo-8L: picking the right device type

#### **Compatibility rule of thumb**

A model compiled for Hailo-8L will run on Hailo-8, but not the other way around.

That's why our starter examples use 8L-compatible or multidevice builds. We also specify `device_type` as a list—so the same code runs on both boards.

* **For examples**: We prioritize plug-and-play. Your snippet should "just work," whether you use Hailo-8 or Hailo-8L.
* **For deployments**: A model compiled for Hailo-8L will run on Hailo-8, but won't be optimized. For best performance (e.g., FPS, latency, power), use a model compiled specifically for your hardware.

### Example: picking a YOLOv8n variant

* **Runs on both (portable)**: `yolov8n_coco--640x640_quant_hailort_multidevice_1`
  * Great for docs and demos—this model works on Hailo-8 and Hailo-8L with the same code.
* **Optimized for Hailo-8**: `yolov8n_coco--640x640_quant_hailort_hailo8_1`
  * Best for production on Hailo-8; this model does *not* support Hailo-8L.

{% code overflow="wrap" %}

```python
# Portable demo (both Hailo-8 and Hailo-8L)
model_spec = ModelSpec(
    model_name="yolov8n_coco--640x640_quant_hailort_multidevice_1",
    zoo_url="degirum/hailo",
    inference_host_address="@local",
    model_properties={"device_type": ["HAILORT/HAILO8", "HAILORT/HAILO8L"]},
)

# Optimized for Hailo-8 (recommended for real deployments on Hailo-8)
model_spec = ModelSpec(
    model_name="yolov8n_coco--640x640_quant_hailort_hailo8_1",
    zoo_url="degirum/hailo",
    inference_host_address="@local",
    model_properties={"device_type": ["HAILORT/HAILO8"]},
)
```

{% endcode %}

## Bring your own Hailo model (advanced)

When you’re ready, the advanced guide shows how to:

* Package your Hailo-compiled artifacts with a PySDK `model.json` that defines inputs, outputs, preprocessing, and postprocessing.
* Point PySDK to your private or local model zoo.
* Rescan the zoo as you add models.
* Use the same `ModelSpec` pattern—only the `zoo_url` and `model_name` change.

{% hint style="info" %}
**Bottom line**: Start fast with the Hailo Model Zoo, then graduate to bring in your own Hailo models, all using the same stable PySDK workflow.
{% endhint %}


---

# 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.degirum.com/hailo/basics/specifying-a-model/discover-hailo-models.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.
