# Heabsy and FlexAI join Agno as model providers

> Agno adds the Heabsy and FlexAI model classes for two OpenAI-compatible inference APIs that serve open-weight models. Pass Heabsy(id=...) or FlexAI(id=...) to an agent, or use a "heabsy:" or "flexai:" model string.

- Published: 2026-10-08
- Author: kafomichev
- Categories: Changelog
- Canonical: https://www.agno.com/blog/heabsy-and-flexai-join-agno-as-model-providers
- Markdown: https://www.agno.com/blog/heabsy-and-flexai-join-agno-as-model-providers.md

Agno's `Heabsy` and `FlexAI` classes both extend `OpenAILike`, so tools, structured output and streaming behave the way they do with any OpenAI-compatible provider. Each one reads its key from its own environment variable and ships with a default model:

|               | Heabsy                                  | FlexAI                                  |
| ------------- | --------------------------------------- | --------------------------------------- |
| Import        | `from agno.models.heabsy import Heabsy` | `from agno.models.flexai import FlexAI` |
| Model string  | `heabsy:<model>`                        | `flexai:<model>`                        |
| API key       | `HEABSY_API_KEY`                        | `FLEXAI_API_KEY`                        |
| Default model | `qwen38`                                | `DeepSeek-V4-Flash-0731`                |
| Base URL      | `https://api.heabsy.com/v1`             | `https://api.flex.ai/v1`                |

```python
from agno.agent import Agent
from agno.models.flexai import FlexAI
from agno.models.heabsy import Heabsy

heabsy_agent = Agent(model=Heabsy(id="qwen38"), markdown=True)
flexai_agent = Agent(model=FlexAI(id="DeepSeek-V4-Flash-0731"), markdown=True)

# Model strings resolve to the same classes
heabsy_agent = Agent(model="heabsy:qwen38", markdown=True)
flexai_agent = Agent(model="flexai:DeepSeek-V4-Flash-0731", markdown=True)

flexai_agent.print_response("Explain quantum computing in simple terms")
```

With no key set, both classes stop before the first request. Real output from resolving the two model strings:

```text
heabsy:qwen38 -> Heabsy qwen38 https://api.heabsy.com/v1
   ModelAuthenticationError HEABSY_API_KEY not set. Please set the HEABSY_API_KEY environment variable.
flexai:DeepSeek-V4-Flash-0731 -> FlexAI DeepSeek-V4-Flash-0731 https://api.flex.ai/v1
   ModelAuthenticationError FLEXAI_API_KEY not set. Please set the FLEXAI_API_KEY environment variable.
```

Heabsy's `qwen38` is Qwen3.8 27B with a 262,144-token context, vision input and tool calling. You turn its reasoning on or off per request with `extra_body={"chat_template_kwargs": {"enable_thinking": False}}`. Heabsy serves no embeddings, so knowledge bases need a different embedder.

FlexAI hosts open-weight families such as DeepSeek, Qwen, GLM, Gemma, gpt-oss, Llama and MiniMax. Its default `DeepSeek-V4-Flash-0731` has a 1M context and supports tool calls. Both providers list their current models at `GET /v1/models`. FlexAI's chat endpoint rejects `n` above 1 and the `verbosity` parameter.

See the [Heabsy cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/90_models/heabsy/basic.py) and the [FlexAI cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/90_models/flexai/basic.py), and learn more about [OpenAI-compatible providers](https://docs.agno.com/models/providers/openai-like) and [model strings](https://docs.agno.com/models/model-as-string) in the documentation.
