ASI:One
The adaptive default model in the ASI:One family. Balances reasoning depth, speed, and cost - and activates the right capabilities based on your prompt.
Overview
asi1 is the adaptive default and a strong starting point for most workloads. It is designed for general agent workflows, chat, tool calling, and mixed workloads where requests vary in complexity from turn to turn.
If you are unsure which model to pick, start with asi1. Move to asi1-ultra when you need maximum reasoning depth and the largest tool budget, or to asi1-mini when latency and cost are the binding constraint.
Quickstart
- cURL
- Python
- JavaScript
curl -X POST https://api.asi1.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ASI_ONE_API_KEY" \
-d '{
"model": "asi1",
"messages": [
{"role": "user", "content": "Help me plan a trip to Tokyo"}
]
}'
import requests, os
url = "https://api.asi1.ai/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.getenv('ASI_ONE_API_KEY')}"
}
data = {
"model": "asi1",
"messages": [
{"role": "user", "content": "Help me plan a trip to Tokyo"}
]
}
response = requests.post(url, headers=headers, json=data)
print(response.json()["choices"][0]["message"]["content"])
import OpenAI from 'openai';
import dotenv from 'dotenv';
dotenv.config();
const client = new OpenAI({
apiKey: process.env.ASI_ONE_API_KEY,
baseURL: 'https://api.asi1.ai/v1',
});
const response = await client.chat.completions.create({
model: 'asi1',
messages: [
{ role: 'user', content: 'Help me plan a trip to Tokyo' },
],
});
console.log(response.choices[0].message.content);
Specifications
| Specification | Value |
|---|---|
| Model ID | asi1 |
| Position | Adaptive default |
| Context Window | 200,000 tokens |
| Streaming | Supported |
| OpenAI Compatibility | Full SDK |
| APIs | Chat Completions (/v1/chat/completions), Responses (/v1/responses) |
| Rate Limits | See your API dashboard |
asi1 shares the full 200,000-token context window with the rest of the family. The difference between models is in reasoning depth, tool budget, response size, and latency - not in what they can read.
Key Features
Adaptive Reasoning
Activates the right capabilities for each request. Light prompts return quickly; heavier ones get more depth.
Agentic by Default
Discovers and orchestrates agents from the Agentverse marketplace when a request benefits from specialized agents.
Full Tool Calling
Define your functions and the model decides when and how to call them. Full multi-turn and parallel tool support.
Web3 Native
Built for blockchain and decentralized applications. Understands smart contracts, tokenomics, and on-chain interactions.
What asi1 is for
General agent workflows
When your application has to handle a mix of request types - some short, some long, some that need tool calls, some that do not - asi1 adapts to each one. You do not have to route requests to different models manually.
Chat and tool calling
The default profile for interactive chat that occasionally needs to invoke tools, retrieve data, or call out to specialized agents. The right balance of latency and capability for everyday product flows.
Mixed workloads
When complexity varies from request to request and you do not want to maintain routing logic, asi1 is the safe default. Upgrade individual paths to asi1-ultra or downgrade them to asi1-mini once you have a signal.
Content creation, drafting, and editing
Multi-paragraph drafting, rewriting, and editing tasks where you want a thoughtful response without paying for the depth of asi1-ultra.
When to use a different model
| If your workload requires... | Use this instead |
|---|---|
| Deep reasoning across many steps | asi1-ultra |
| Long agentic runs with many tool calls | asi1-ultra |
| Code review, contract analysis, deep research | asi1-ultra |
| Real-time chat, voice, autocomplete | asi1-mini |
| Classification or routing of short inputs | asi1-mini |
| High-volume, cost-sensitive workloads | asi1-mini |
Tool calling with asi1
asi1 supports the full tool-calling API. Define your functions, pass them on every request, and the model decides when and how to call them.
import requests, os
url = "https://api.asi1.ai/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.getenv('ASI_ONE_API_KEY')}"
}
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a city",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "City name"}
},
"required": ["city"],
},
},
}
]
data = {
"model": "asi1",
"messages": [
{"role": "user", "content": "What's the weather like in Tokyo right now?"}
],
"tools": tools,
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
For schemas, multi-turn flows, and parallel tool calls, see the Function Calling guide.
Trust & Transparency
| Capability | Detail |
|---|---|
| Reasoning Traces | Returns reasoning steps with clear provenance |
| Reduced Hallucination | Confidence thresholds and cross-checks keep outputs grounded |
| Safety Filters | Built-in guardrails screen for harmful content |
| Audit Support | Hashed reasoning steps available for compliance logging |
Related Models
- asi1-ultra - Deepest reasoning, longest agentic runs, up to 500 tool calls per turn
- asi1-mini - Fastest response, lowest latency, lightest cost
Ready to get started? Check out the Quick Start guide or explore OpenAI compatibility for easy integration.