---
title: Models
description: Choose an app model, understand the default and fallback, and find allowed model IDs.
---

[!nav:main](/nav/main.md)

Croche runs the model for you; usage is charged to your project's credit. Your app chooses
which model to use through its config.

For coding agents: this page is available at `https://docs.croche.ai/models.md`.
The [plain-text documentation index](https://docs.croche.ai/llms.txt) lists every page's Markdown URL.

## Recommended models

| Model | When to use it | USD / 1M tokens (input / output) | Latency in the comparison below |
| --- | --- | --- | --- |
| `deepseek/deepseek-v4.1-flash` | Recommended default for text + images and low-latency chat | $0.2002 / $0.9856 | Median **0.9 s**, p90 **1.6 s**; observed **~$0.00013/turn** |
| `openai/gpt-6-luna` | Text + image alternative; fallback subject to the reasoning limits below | $0.1114 / $0.5571 | Not measured in this comparison |
| `deepseek/deepseek-v4-flash-0731` | Text-only apps seeking cheaper output than V4.1; not for image input | $0.1773 / $0.6584 | Not measured in this comparison |
| `xiaomi/mimo-v2.6-flash` | Low token cost, but only background or latency-tolerant work | $0.14 / $0.29 | Median **11.2 s**, p90 **23.5 s**, max **54 s** |
| `anthropic/claude-opus-5.5` | Work/productivity where quality justifies higher cost; not recommended for entertainment/chat companions | $4.5455 / $22.7273 | Not measured in this comparison |
| `openai/gpt-6.1-sol` | Work/document agents that accept higher cost for quality; not recommended for entertainment/chat companions | $2.2286 / $11.1429 | Not measured in this comparison |

Prices are estimates from the Studio catalog's **2026-10-05** snapshot, in USD per million
input/output tokens, not a fixed per-turn charge. MiMo has the lowest output price in this
shortlist, but the lowest token price is not the fastest response.

Latency and observed turn cost above come from **one 32-turn Croche Chat comparison on
2026-10-13**, not a service guarantee or a general benchmark. Prompt size, output length and
workload affect both time and cost. Measure your app; do not extrapolate those timings to the
models marked unmeasured.

Set **project-level `config.model` explicitly** using this table. A coding agent should infer
whether the app sends images from the feature or existing code, and preserve a model the user
explicitly chose. Do not select the text-only option for an app that sends images.

## Set the model

**Your app can choose the model.** Set `model` inside the `config` passed to `Croche.open`,
not as a top-level open option:

```ts
const config = {
  model: 'deepseek/deepseek-v4.1-flash',
  instructions: 'You are a friendly guide. Keep replies brief.',
};
// Use this as the config option in your existing Croche.open call.
```

| Scope | Config field |
| --- | --- |
| Project | `config.model` |
| Project language | `config.languages.<tag>.model` |
| Agent | `config.agents.<agentId>.model` |
| Agent language | `config.agents.<agentId>.languages.<tag>.model` |

For the selected agent and language, later applicable levels override earlier ones in that
order: project → project language → agent → agent language. Omitting `model` at one level
inherits the preceding applicable value. Modes do not declare `model`.

See the [quickstart](quickstart.md) for a complete `Croche.open` call with project setup and
storage, or [app config](concepts/config.md) for language selection and config updates.

## When model is unset

The default when no applicable config level sets `model` is
**`deepseek/deepseek-v4.1-flash`**, with **`openai/gpt-6-luna`** as fallback.
That fallback applies only when `reasoning` is **`default` or `off`**. With `low`, `medium`,
or `high`, the fallback is dropped; do not promise an automatic switch to the alternative.

This default is live. Set `config.model` explicitly when your app needs a particular model.
Listing an alternative is not a guarantee that every explicit model choice automatically
falls back to it. Public SDK package availability remains a separate release check.

## Allowed model IDs

Use an exact ID below. This list reflects the current SDK candidate, checked on **2026-10-13**;
public package availability remains pending verification. Match it to the SDK version you ship.
The full supported selection is also available in Studio.

- `anthropic/claude-opus-5.5`
- `anthropic/claude-sonnet-5.5`
- `deepseek/deepseek-v4-flash-0731`
- `deepseek/deepseek-v4-pro-0813`
- `deepseek/deepseek-v4.1-flash`
- `google/gemini-3.1-pro-preview`
- `google/gemini-3.5-flash-lite`
- `google/gemini-3.8-flash`
- `google/gemma-4-31b-it`
- `moonshotai/kimi-k3`
- `openai/gpt-6-astra`
- `openai/gpt-6-luna`
- `openai/gpt-6.1-sol`
- `qwen/qwen3.7-flash`
- `x-ai/grok-4.7`
- `xiaomi/mimo-v2.6-flash`
- `z-ai/glm-5.3`
- `z-ai/glm-5.3-flash`

An ID outside this list is not a supported app config choice. Do not guess IDs from another
product's catalog. An allowed ID is not a claim that every model accepts every input type;
use the recommendations above for text and image input.
