LongCat 2.0
by meituan · family longcat
Facts
| Release date | 2026-06-30 |
|---|---|
| Retired date | — |
| Knowledge cutoff | — |
| Context (max) | 1,048,756 |
| Max output | — |
| Modalities | text → text |
| Aliases | LongCat-2.0 |
| Open weights | yes (meituan-longcat/LongCat-2.0) |
| Description | Meituan's 1.6T/48B-active sparse-MoE agentic coding model (MIT); 1M context; thinking toggleable via chat-template commands with thinking_budget. |
Unknown values are shown as —.
Offerings
| Provider | Wire ID | Variant | Endpoint | Protocol | Status | Price (USD / Mtok) | Reasoning |
|---|---|---|---|---|---|---|---|
| OpenCode Go | longcat-2.0 | go-chat-completions | openai-chat | ga | — | toggle · default on · returns reasoning_content | |
| OpenCode Zen | longcat-2.0 | chat-completions | openai-chat | retired | — | toggle · default on · returns reasoning_content | |
| OpenRouter | meituan/longcat-2.0 | chat-completions | openai-chat | ga | 0.30 / 1.20 | effort · default on · returns reasoning_content · round-trips reasoning_content |
Reasoning controls
OpenCode Go· longcat-2.0· go-chat-completions toggle
thinking_budget on 1024 · off 0
toggle · default on · returns reasoning_content
OpenCode Zen· longcat-2.0· chat-completions toggle
thinking_budget on 1024 · off 0
toggle · default on · returns reasoning_content
OpenRouter· meituan/longcat-2.0· chat-completions effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_content · round-trips reasoning_content
Example requests
OpenCode Go · openai-chat · longcat-2.0
curl 'https://opencode.ai/zen/go/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "longcat-2.0",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking_budget": "1024"
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/go/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "longcat-2.0",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking_budget": "1024"
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/go/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "longcat-2.0",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking_budget": "1024"
}),
})
console.log(await resp.json())OpenCode Zen · openai-chat · longcat-2.0
curl 'https://opencode.ai/zen/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "longcat-2.0",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking_budget": "1024"
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "longcat-2.0",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking_budget": "1024"
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "longcat-2.0",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking_budget": "1024"
}),
})
console.log(await resp.json())OpenRouter · openai-chat · meituan/longcat-2.0
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "meituan/longcat-2.0",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "meituan/longcat-2.0",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "meituan/longcat-2.0",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
reasoning_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).