
Adapted from our CloudGPU guide on using DeepSeek V4 Flash in Roo Code.
Short answer: create one Roo Code configuration profile per model, all using the OpenAI Compatible provider with the same Base URL (https://cloudgpu.app/v1) and API key, and change only the Model field: deepseek-v4.1-flash, kimi-k2.6, kimi-k3 or minimax-m3. Then link a profile to each Roo Code mode, and run one tool-call request per model ID before you trust it with a task.
Disclosure: I work on CloudGPU, and the endpoint below is ours. The Roo Code steps follow the official Roo Code docs (API Configuration Profiles and Using OpenAI Compatible Providers). We haven't run Roo Code end to end against this endpoint, so the checks below are for you to run, not results we measured.
Why profiles
According to the Roo Code docs, a configuration profile holds its own provider, API key, model selection, temperature, thinking budget and rate limit setting, and you can switch profiles from Settings or from the API Configuration dropdown in the chat. The docs also say you can link a profile to each mode, and that each task remembers the profile it started with, so a resumed task keeps its original model.
That fits a gateway well: the provider, URL and key never change, so each profile differs only in its model ID.
What you need
- An API key (
cgw-sk-...) from the API console. It is shown once, so copy it right away. The quick start is on the API docs page. - Roo Code installed in VS Code.
- The key in an environment variable for the checks below:
export CLOUDGPU_API_KEY="cgw-sk-your-key"
Step 1: Pick the model IDs
These chat model IDs are in the model table on the CloudGPU API page (checked 2026-10-28). IDs are case-sensitive.
| Model ID | Model |
|---|---|
deepseek-v4.1-flash |
DeepSeek V4.1 Flash |
kimi-k2.6 |
Kimi K2.6 |
kimi-k3 |
Kimi K3 |
minimax-m3 |
MiniMax M3 |
GET /v1/models is public: it lists model IDs without a key. Other endpoints still need your key.
curl -s https://cloudgpu.app/v1/models
Step 2: Create one profile per model
Following the Roo Code docs: open Settings (gear icon), go to Providers, click + next to the profile selector and name the profile, for example cgw-deepseek. Then fill in:
| Roo Code field | Value |
|---|---|
| API Provider | OpenAI Compatible |
| Base URL | https://cloudgpu.app/v1 |
| API Key | your cgw-sk-... key |
| Model | deepseek-v4.1-flash |
Repeat for cgw-kimi-k2.6, cgw-kimi-k3 and cgw-minimax, changing only the Model field.
The docs list a per-profile Rate Limit (minimum seconds between requests, default 0, meaning off). Leave it at 0 unless you hit 429 rate_limit_exceeded; the API docs list 100 requests per minute per key and 10,000 requests per day per account. Every profile here uses the same key, so they share the per-key limit.
Model Configuration (Max Output Tokens, Context Window and so on) is optional. We don't publish values for these models, so leave the defaults unless you know the limits you need.
Step 3: Link profiles to modes
The Roo Code docs say you can associate a profile with each mode in the Prompts tab, and Roo Code also remembers the last profile you used in each mode. Which model goes with which mode is your call; one way to try it is a Kimi profile for Architect and a DeepSeek profile for Code, then swap and compare on the same small task.
Orchestrator subtasks inherit the parent task's profile, according to the docs, so a subtask won't switch models on you mid-task.
Step 4: Tool-call check for every profile
The Roo Code docs say it "uses native tool calling exclusively" and that a model without native tool calling "cannot be used with Roo Code". We haven't confirmed tool calls for any of these four IDs inside Roo Code, so the way to verify is to run one request with a tools array for each model ID. This uses the openai Python package (pip install openai):
import os
from openai import OpenAI
client = OpenAI(
base_url="https://cloudgpu.app/v1",
api_key=os.environ["CLOUDGPU_API_KEY"],
)
tools = [{
"type": "function",
"function": {
"name": "read_file",
"description": "Read a file from the workspace",
"parameters": {
"type": "object",
"properties": {"path": {"type": "string"}},
"required": ["path"],
},
},
}]
for model in ["deepseek-v4.1-flash", "kimi-k2.6", "kimi-k3", "minimax-m3"]:
try:
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "Open README.md using the tool."}],
tools=tools,
max_tokens=2048, # leave room: some models think before they answer
)
except Exception as e:
print(f"{model}: error -> {e}")
continue
msg = resp.choices[0].message
if msg.tool_calls:
call = msg.tool_calls[0].function
print(f"{model}: tool call -> {call.name}({call.arguments})")
else:
print(f"{model}: no tool call, text -> {msg.content!r}")
How to read it:
tool_callspresent (aread_filecall with{"path": "README.md"}or similar): try that profile in Roo Code on a small task.- Plain text or an error: don't use that profile with Roo Code; try another ID.
- Empty
contentand no tool call: some models spend output tokens on thinking first. Raisemax_tokenshere (and Max Output Tokens in that profile's Model Configuration) and run it again before you decide.
Troubleshooting
- HTTP 401
invalid_api_key: the key is wrong or revoked. Create a new one in the console and update it in every profile. - HTTP 401
missing_authorization: noAuthorization: Bearerheader was sent (/v1/modelsis public, but chat requests need the key). In a shell, check thatecho $CLOUDGPU_API_KEYisn't empty. - HTTP 400
model_not_found: check the Model field against/v1/models; IDs are case-sensitive. - Connection errors: the Base URL must be exactly
https://cloudgpu.app/v1. - HTTP 429
rate_limit_exceeded: all profiles share the same key's limit; set a small per-profile Rate Limit or slow down parallel tasks. - A resumed task uses the "wrong" model: per the docs, tasks keep the profile they started with. Start a new task to use another profile.
FAQ
Can Roo Code use several models through one OpenAI-compatible endpoint? Yes. Create one configuration profile per model ID with the same Base URL and API key, and switch profiles from Settings or the chat dropdown.
Can each Roo Code mode use a different model? Yes. The Roo Code docs say you can link a configuration profile to each mode in the Prompts tab.
Do deepseek-v4.1-flash, the Kimi IDs and minimax-m3 support the tool calling Roo Code needs? We haven't confirmed tool calls on any of them inside Roo Code. Run the Step 4 Python check for each ID before you rely on it.
Do all profiles share one rate limit? They share the limits of the key they use: 100 requests per minute per key and 10,000 requests per day per account, per the API docs.
Where are the rates? Per-model rates are in the price table on the CloudGPU API page.
Facts checked 2026-10-28.
Comments
Join the discussionNo comments yet. Be the first to comment.



