Features / Agent tools
Uncensored models that search, fetch and run code.
Declare web search, web fetch, a remote MCP server or the code sandbox in the tools array. The model calls them, the gateway runs them, and the loop finishes inside one request.
Tool prices
- Web search
- $0.01 per search
- Web fetch
- $0.001 per page fetched
- Code sandbox
- $0.05 per container-hour, 1-minute minimumbash, javascript, python
- Remote MCP
- No tool feetokens only
One request, worked
- Round 1
- 1,150 in → 70 outcalls web_search twice · $0.0018
- Round 2
- 4,900 in → 60 outcalls web_fetch on one result · $0.0059
- Round 3
- 9,400 in → 520 outanswers with citations · $0.014
- Tool fees
- 2 searches + 1 fetch$0.021
- Total
- $0.0427Nemotron 3 Ultra 550B Uncensored
Web search and web fetch
The model gets two tools: search the web, and read one page in full. It decides when to use them; the results go back into the conversation and the answer links its sources as url_citation annotations. web_search_options and web_search_preview are read the same way.
curl https://api.uncensoredllm.ai/v1/chat/completions \ -H "Authorization: Bearer sk-ullm-live-…" \ -H "Content-Type: application/json" \ -d '{ "model": "nemotron-3-ultra-550b-a55b-uncensored", "tools": [{"type": "web_search"}, {"type": "web_fetch"}], "max_tool_rounds": 4, "messages": [{"role": "user", "content": "What changed in the latest Node.js release? Cite the release notes."}] }'Remote MCP servers
Point the request at any Streamable HTTP MCP server you run or use. Its tools are listed for the model, calls go to the server with the headers you set, and allowed_tools limits what the model sees. MCP calls carry no tool fee.
curl https://api.uncensoredllm.ai/v1/chat/completions \ -H "Authorization: Bearer sk-ullm-live-…" \ -H "Content-Type: application/json" \ -d '{ "model": "nemotron-3-ultra-550b-a55b-uncensored", "tools": [{ "type": "mcp", "server_label": "tracker", "server_url": "https://mcp.example.com/mcp", "headers": {"Authorization": "Bearer YOUR_MCP_TOKEN"}, "allowed_tools": ["search_issues"], "require_approval": "never" }], "messages": [{"role": "user", "content": "List the open issues tagged crash."}] }'To reach several servers through one URL, register them once in the console or at /v1/mcp-servers with an admin key; https://api.uncensoredllm.ai/mcp/org then lists every tool as server__tool for any MCP client on your API key. Hosted agents attach MCP servers the same way.
Code sandbox
code_interpreter gives the model a sandbox to write and run code in (bash and javascript and python). Files stay in the sandbox for the session; the session id comes back in x-uplink-sandbox-session.
from openai import OpenAI client = OpenAI(base_url="https://api.uncensoredllm.ai/v1", api_key="sk-ullm-live-…")raw = client.chat.completions.with_raw_response.create( model="nemotron-3-ultra-550b-a55b-uncensored", tools=[{"type": "code_interpreter"}], messages=[{"role": "user", "content": "Write fib.js that prints the first 30 Fibonacci numbers, run it, show the output."}],)sandbox = raw.headers.get("x-uplink-sandbox-session")print(raw.parse().choices[0].message.content) # Same sandbox, same files: send the session back on the code tool.follow = client.chat.completions.create( model="nemotron-3-ultra-550b-a55b-uncensored", tools=[{"type": "code_interpreter", "session_id": sandbox}], messages=[{"role": "user", "content": "Run fib.js again with 50 numbers."}],)Models that run the tools
The listed builds whose every route takes tool calls, with their prices per million tokens from the live catalog. All models.
| Model | Model id | Input | Output |
|---|---|---|---|
| Nemotron 3 Ultra 550B Uncensored | nemotron-3-ultra-550b-a55b-uncensored | $1.125 | $6.60 |
| Abliterated Large Flash | abliterated-model-large-flash | $2.50 | $5.00 |
| Abliterated Model Large | abliterated-model-large | $7.50 | $12.50 |
| Abliterated Model Large V2 | abliterated-model-large-v2 | $7.50 | $12.50 |
| Aion RP Llama 3.1 8B | aion-rp-llama-3.1-8b | $3.20 | $6.40 |
| Apex Flash 1 Abliterated | apex-flash-1-abliterated | $0.68 | $2.32 |
| CyberHeabsy | cyberheabsy | $5.25 | $15.75 |
| Cydonia 24B v4.1 | cydonia-24b-v4.1 | $1.20 | $2.00 |
| DeepSeek V4.1 Flash 1017 Heretic | deepseek-v4.1-flash-1017-heretic-uncensored | $0.825 | $3.30 |
| DeepSeek V4.1 Flash 1017 Heretic Thinking | deepseek-v4.1-flash-1017-heretic-uncensored-thinking | $0.825 | $3.30 |
| Gemma 4 12B Starry Ocean | gemma-4-12b-starry-ocean | $0.175 | $0.875 |
| Gemma 4 12B StationKeeper | gemma-4-12b-station-keeper | $0.175 | $0.875 |
| Gemma 4 26B A4B Cybersecurity | gemma-4-26b-a4b-it-cybersecurity | $0.4224 | $1.3376 |
| Gemma 4 26B-A4B ChimeraX Heretic | gemma-4-26b-a4b-chimerax-heretic | $0.484 | $1.52 |
| Gemma 4 26B-A4B Uncensored | gemma-4-26b-a4b-uncensored | $0.60 | $2.80 |
| Gemma 4 31B Garnet V2 | gemma-4-31b-garnet-v2 | $1.071 | $1.071 |
| Gemma 4 31B Gembrain | gemma-4-31b-gembrain | $0.35 | $1.575 |
| Gemma 4 31B Isometry | gemma-4-31b-isometry | $0.35 | $1.575 |
| Gemma 4 31B K1 v5 | gemma-4-31b-k1-v5 | $1.071 | $1.071 |
| Gemma 4 31B Scarlet | gemma-4-31b-scarlet | $0.35 | $1.575 |
| Gemma 4 31B Split-Untied | gemma-4-31b-split-untied | $0.35 | $1.05 |
| GLM-4.6 Derestricted v5 | glm-4.6-derestricted-v5 | $1.40 | $5.25 |
| GLM-5.3 Flash Cybersecurity | glm-5.3-flash-cybersecurity | $0.5093 | $1.6975 |
| Inkling Uncensored | inkling-uncensored | $2.13 | $12.1403 |
| MiMo V2.6 Flash Abliterated | mimo-v2.6-flash-abliterated | $2.00 | $6.00 |
| MiMo V2.6 Flash Uncensored Thinking | mimo-v2.6-flash-uncensored-thinking | $1.25 | $3.75 |
| MiMo V2.6 Pro Uncensored | mimo-v2.6-pro-uncensored | $1.5225 | $3.045 |
| MiMo-V2.5 Uncensored | mimo-v2.5-uncensored | $0.75 | $4.00 |
| OrcaCyber MiniMax M3.1 Flash | minimax-m3.1-flash-cybersecurity | $2.00 | $4.00 |
| OrcaCyber MiniMax M3.1 Flash | orcacyber-minimax-m3.1-flash | $2.00 | $4.00 |
| OrcaCyber Qwen3.8 Flash Next | orcacyber-qwen3.8-flash-next | $2.00 | $4.00 |
| OrcaCyber Qwen3.8 Flash Next | qwen3.8-flash-next-cybersecurity | $2.00 | $4.00 |
| OrcaCyber Zero 1.5 | orca-zero-1.5-cybersecurity | $7.50 | $18.75 |
| Qwen3.5 27B Queen Derestricted | qwen3.5-27b-queen-derestricted | $1.071 | $1.071 |
| Qwen3.8 27B Antislop | qwen3.8-27b-antislop | $0.35 | $2.10 |
| Qwen3.8 27B Cybersecurity | qwen3.8-27b-cybersecurity | $0.40 | $2.40 |
| Qwen3.8 27B DarkIdol | qwen3.8-27b-darkidol | $0.40 | $2.40 |
| Qwen3.8 27B Fimi | qwen3.8-27b-fimi | $0.35 | $2.10 |
| Qwen3.8 27B Hemingway | qwen3.8-27b-hemingway | $0.875 | $5.25 |
| Qwen3.8 27B Kimiko | qwen3.8-27b-kimiko | $0.35 | $2.10 |
| Qwen3.8 27B Kiwen | qwen3.8-27b-kiwen | $0.35 | $2.10 |
| Qwen3.8 27B Novelist | qwen3.8-27b-novelist | $0.35 | $2.10 |
The Anthropic and Responses shapes of the same tools are in the OpenAPI document; snippets for every SDK are in the console docs.
Questions
Yes. Add {"type": "web_search"} to the request's tools and the model searches when it decides to; the search runs on our side, the results go back to the model, and the answer comes back with url_citation annotations. Each search is $0.01.
The listed models whose every route takes tool calls: 42 today, in the table on this page. The model decides when to call a tool, so the tools run on any of them without changes to your client.
Up to max_tool_rounds, 1 to 8 (8 unless set, or the x-uplink-max-tool-rounds header). After the last round the model is asked once more without tools, so the answer ends in text.
Each model round at the model’s per-token price, each on its own receipt, plus the tool fee per call. The response headers x-uplink-tool-calls, x-uplink-tool-rounds and x-uplink-tool-charge give the counts and the tool fees of the request.
No. The tools are declared in the OpenAI format the SDKs already send, and the loop runs inside the one request, streamed or not. A tool error goes back to the model as the tool result, never as an HTTP error.
Yes. The first answer carries x-uplink-sandbox-session; send it back as the code tool's session_id and the next request runs in the same sandbox with its files. The sandbox runs bash and javascript and python.