> ## Documentation Index
> Fetch the complete documentation index at: https://hub.hcompany.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Models API

> Holo vision-language models that operate real user interfaces across web, desktop, and mobile.

export const Cta = ({title, body, primary, secondary}) => <div className="not-prose mt-20 flex flex-col items-center rounded-xl border border-zinc-200 bg-white px-6 py-14 text-center dark:border-zinc-800 dark:bg-zinc-950">
    <h2 className="text-3xl font-semibold tracking-tight text-zinc-900 dark:text-zinc-50">{title}</h2>
    <p className="mt-3 max-w-xl text-lg leading-7 text-zinc-600 dark:text-zinc-400">{body}</p>
    <div className="mt-8 flex flex-wrap justify-center gap-3">
      <a href={primary[1]} className="cta-primary inline-flex items-center gap-2 rounded-lg bg-zinc-900 px-5 py-3 text-base font-semibold text-white no-underline dark:bg-white dark:text-zinc-900">
        {primary[0]}
        <Icon icon="arrow-right" size={16} color="currentColor" />
      </a>
      {secondary && <a href={secondary[1]} className="outlined card inline-flex items-center gap-3 rounded-lg bg-white p-3 text-base font-medium text-zinc-800 no-underline dark:bg-zinc-900 dark:text-zinc-100">
          <Icon icon={secondary[2]} size={16} color="currentColor" />
          {secondary[0]}
        </a>}
    </div>
  </div>;

export const ModelCards = () => {
  const [copied, setCopied] = useState(null);
  const copy = id => {
    navigator.clipboard.writeText(id);
    setCopied(id);
    setTimeout(() => setCopied(null), 1500);
  };
  const icons = {
    external: <svg className="h-3.5 w-3.5" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M15 3h6v6" /><path d="M10 14 21 3" /><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" /></svg>,
    hf: <img src="/images/icons/huggingface.svg" className="h-4 w-4" alt="" />
  };
  const models = [{
    id: "holo3-1-35b-a3b",
    name: "Holo3.1 35B",
    tags: ["Free tier", "Open weights"],
    blurb: "Start here. Fast, with native function calling, so it suits interactive agent loops.",
    specs: [["Architecture", "MoE, 35B total, 3B active"], ["Context", "65,536 tokens"], ["Max output", "8,192 tokens"], ["Images", "Up to 5 per request (JPEG, PNG, WebP)"], ["Input price", "$0.25 per 1M tokens"], ["Output price", "$1.80 per 1M tokens"], ["Access", "Free tier, 10 requests per minute"], ["Tool use", "Native function calling, structured outputs"], ["License", "Apache 2.0"]],
    links: [["Hugging Face", "https://huggingface.co/Hcompany/Holo-3.1-35B-A3B", icons.hf], ["Blog", "https://hcompany.ai/holo3.1", icons.external]]
  }, {
    id: "holo3-122b-a10b",
    name: "Holo3 122B",
    tags: ["Paid tier", "API only"],
    blurb: "For long multi-step tasks, novel environments, and dense reasoning.",
    specs: [["Architecture", "MoE, 122B total, 10B active"], ["Context", "65,536 tokens"], ["Max output", "8,192 tokens"], ["Images", "Up to 5 per request (JPEG, PNG, WebP)"], ["Input price", "$0.40 per 1M tokens"], ["Output price", "$3.00 per 1M tokens"], ["Access", "Paid tier, higher rate limits"], ["Tool use", "Structured outputs"], ["License", "Research only"]],
    links: [["Blog", "https://hcompany.ai/holo3", icons.external]]
  }];
  return <div className="not-prose grid gap-5 md:grid-cols-2">
      {models.map(m => <div key={m.id} className="flex flex-col gap-4 rounded-xl border border-zinc-200 bg-white p-5 dark:border-zinc-800 dark:bg-zinc-950">
          <div className="flex flex-wrap items-start justify-between gap-2">
            <div>
              <div className="text-lg font-semibold text-zinc-900 dark:text-zinc-100">{m.name}</div>
              <button type="button" onClick={() => copy(m.id)} title="Click to copy" className={`${copied === m.id ? "mt-0.5 font-mono text-xs text-emerald-600 dark:text-emerald-400" : "mt-0.5 font-mono text-xs text-zinc-500 hover:text-zinc-900 dark:text-zinc-400 dark:hover:text-zinc-100"}`}>
                {m.id}
              </button>
            </div>
            <div className="flex flex-wrap gap-1.5">
              {m.tags.map(t => <span key={t} className="pill">{t}</span>)}
            </div>
          </div>
          <p className="min-h-12 text-sm leading-6 text-zinc-600 dark:text-zinc-400">{m.blurb}</p>
          <dl className="flex-1 divide-y divide-zinc-100 text-sm dark:divide-zinc-800">
            {m.specs.map(([k, v]) => <div key={k} className="flex items-baseline justify-between gap-4 py-2">
                <dt className="shrink-0 text-zinc-500 dark:text-zinc-400">{k}</dt>
                <dd className="text-right font-medium text-zinc-800 dark:text-zinc-200">{v}</dd>
              </div>)}
          </dl>
          <div className="flex flex-wrap gap-1">
            {m.links.map(([label, href, icon]) => <a key={href} href={href} className="outlined inline-flex items-center gap-2 rounded-lg p-2 text-sm font-medium text-zinc-800 no-underline dark:text-zinc-200">
                {icon}
                {label}
              </a>)}
          </div>
        </div>)}
    </div>;
};

## Models

<ModelCards />

## Three ways to use Holo

<CardGroup cols={3}>
  <Card title="Agent loop" icon="arrows-rotate" href="/models-api/agent-loop">
    Multi-turn. Conversation and screenshots in, the next action out. Holo as the brain of your own agent.
  </Card>

  <Card title="Element localization" icon="crosshairs" href="/models-api/element-localization">
    Single-turn. A screenshot and a target description in, click coordinates out.
  </Card>

  <Card title="Document OCR" icon="file-lines" href="/models-api/document-ocr">
    Single-turn. A page image in, its full text out.
  </Card>
</CardGroup>

Prefer to try Holo without writing code? [HoloTab](https://hcompany.ai/holotab) runs it in your browser with no setup.

## Run Holo on your own GPU

The API is the fastest way to start, but you do not need it. Holo3.1 is open weights under Apache 2.0. The [Holo3.1 collection on Hugging Face](https://huggingface.co/collections/Hcompany/holo31) has four sizes, from 0.8B for on-device to the 35B served by this API, plus FP8, GGUF, and NVFP4 checkpoints of the 35B for smaller GPUs.

| Model                                                               | Best for                                                                                                                                                                                                                                  |
| ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Holo3.1 35B-A3B](https://huggingface.co/Hcompany/Holo-3.1-35B-A3B) | Same model as `holo3-1-35b-a3b`. Also in [FP8](https://huggingface.co/Hcompany/Holo-3.1-35B-A3B-FP8), [GGUF](https://huggingface.co/Hcompany/Holo-3.1-35B-A3B-GGUF), and [NVFP4](https://huggingface.co/Hcompany/Holo-3.1-35B-A3B-NVFP4). |
| [Holo3.1 9B](https://huggingface.co/Hcompany/Holo-3.1-9B)           | Dense model. The most capable you can run on one GPU.                                                                                                                                                                                     |
| [Holo3.1 4B](https://huggingface.co/Hcompany/Holo-3.1-4B)           | Smaller and faster on one GPU. Pair it with HoloDesktop CLI to run fully local.                                                                                                                                                           |
| [Holo3.1 0.8B](https://huggingface.co/Hcompany/Holo-3.1-0.8B)       | On-device.                                                                                                                                                                                                                                |

See [Hosted or local models](/holo-desktop-cli/getting-started/hosted-or-local-models#local-mode) for llama.cpp and vLLM setups.

## Benchmarks

Holo3.1 35B-A3B against the previous generation and comparable open models. Best score per row in bold.

<div className="bench">
  |                   | Holo3.1<br />35B-A3B | Holo3<br />35B-A3B | Qwen3.5<br />397B-A17B | Qwen3.5<br />122B-A10B | Qwen3.5<br />35B-A3B | Kimi<br />K2.5 | Claude<br />Sonnet 4.6 |
  | ----------------- | :------------------: | :----------------: | :--------------------: | :--------------------: | :------------------: | :------------: | :--------------------: |
  | **Overall**       |       **78.3**       |        73.3        |          70.9          |          67.0          |         65.9         |      69.5      |          67.4          |
  | OSWorld           |       **80.0**       |        77.8        |          62.1          |          61.6          |         54.2         |     63.3\*     |         72.5\*         |
  | Android World     |       **79.3**       |        67.2        |          69.0          |                        |        71.0\*        |                |                        |
  | E-Commerce        |       **97.8**       |        94.1        |          92.2          |          83.3          |         80.7         |      84.4      |          61.1          |
  | Business Software |       **90.1**       |        86.3        |          82.4          |          62.9          |         69.7         |      84.7      |          66.4          |
  | Collaboration     |         75.3         |      **76.0**      |          66.3          |          60.3          |         57.7         |      69.7      |          52.8          |
  | Multi-Apps        |         65.5         |        50.0        |          61.9          |          47.6          |         42.9         |      64.3      |        **69.0**        |
  | ScreenSpot-Pro    |       **71.5**       |        67.6        |          69.3          |          65.5          |         64.5         |                |                        |
  | OSWorld-G         |       **78.8**       |        77.3        |          78.4          |          77.5          |         76.9         |                |                        |
</div>

Overall averages the four H Corporate benchmarks (E-Commerce, Business Software, Collaboration, Multi-Apps) first, then takes the mean across OSWorld, Android World, H Corporate, ScreenSpot-Pro, and OSWorld-G. Baselines are evaluated by H; starred numbers are reported from the original source. OSWorld runs on H's internal implementation of the benchmark, so numbers differ slightly from the official OSWorld-Verified leaderboard.

## FAQ

<AccordionGroup>
  <Accordion title="Which model should I use?">
    Start with `holo3-1-35b-a3b`. It is on the free tier, has native function calling, and its latency suits interactive loops. Move to `holo3-122b-a10b` for complex multi-step tasks and novel environments. Switching is a model ID change.
  </Accordion>

  <Accordion title="How do rate limits and credits work?">
    | Tier | Rate limit             | Models            | How to get there                                                                                              |
    | ---- | ---------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------- |
    | Free | 10 requests per minute | `holo3-1-35b-a3b` | Create an account. No credit card.                                                                            |
    | Paid | Higher limits          | Both models       | [Add credits](https://portal.hcompany.ai/credits?product=modelsapi\&source=docs). Up to 15 minutes to appear. |

    The [credit dashboard](https://portal.hcompany.ai/credits) shows your balance and usage.
  </Accordion>

  <Accordion title="Can my balance go negative?">
    By a few cents, yes. The balance is checked before a request runs, so a large request on a low balance can overshoot. If it keeps growing, contact [support@hcompany.ai](mailto:support@hcompany.ai).
  </Accordion>

  <Accordion title="Do credits expire? Are they refundable?">
    Unused credits may expire one year after purchase and are not refundable by default. Regional obligations may apply. See the [terms of use](https://hcompany.ai/terms-of-use).
  </Accordion>

  <Accordion title="What data is logged?">
    Request time, model, and token counts. Prompts and responses are not stored: the API uses zero data retention by default. H runs its own models, so inputs and outputs are never shared with third parties. See the [privacy policy](https://hcompany.ai/privacy-policy).
  </Accordion>

  <Accordion title="Do model IDs change?">
    No. IDs are stable. Before a model is removed, its [`deprecation_date`](/models-api/list-models) is set in `GET /v1/models` and a notice appears on this page. After removal, requests to the old ID fail with `model_not_found`. Pin an ID in production and check `deprecation_date` when you upgrade.
  </Accordion>
</AccordionGroup>

<Cta title="Get an API key" body="Holo3.1 35B is free to use. Log in, create a key, and point your OpenAI client at it." primary={["Create an API key", "https://portal.hcompany.ai/?product=modelsapi&source=docs"]} secondary={["Read the quickstart", "/models-api/quickstart", "bolt"]} />
