OpenAI-compatible

Use a model with Roo Code through IteraCompute.

Run coding agents in your editor.

Connect in three steps

1. Create an API key

Create or sign in to your IteraCompute account, then create a key in the Console.

2. Configure the base URL

Choose OpenAI Compatible and enter the connection fields. Set the context window and image support for your selected model.

3. Select the model

Use the exact API Model ID for your chosen model. Check its context and capabilities before enabling agent or vision features.

Choose your model

Example configuration

Keep API keys in your server environment or tool credential store. Replace the example key field with your own key where applicable.

Connection settings · enter each field in the tool
API Provider: OpenAI Compatible
Base URL: https://api.iteracompute.com/v1
API Key: YOUR_ITERACOMPUTE_API_KEY
Model ID: qwen/qwen3.8-27b
Context window: 131072
Supports images: Yes

Find each field in Roo Code

Roo fieldWhere to find itExample value
API ProviderSettingsOpenAI Compatible
Base URLBelow API Providerhttps://api.iteracompute.com/v1
API KeyBelow Base URLYOUR_ITERACOMPUTE_API_KEY
Model / Model IDBelow the connection fieldsqwen/qwen3.8-27b
Context WindowExpand Model Configuration131072
Max Output TokensModel Configuration8192
Image SupportModel ConfigurationYes
Computer UseModel ConfigurationNo

Open the Roo Code sidebar in VS Code, click its Settings gear, then select OpenAI Compatible under API Provider. Expand Model Configuration below the model selector. Field wording may vary by version. These values use free Qwen3.8-27B: 131072 total tokens, including up to 8192 output tokens. Input Price and Output Price, if shown, are both 0 for this model.

Test the connection

cURL · Chat Completions
# Bash / zsh / WSL; set ITERACOMPUTE_API_KEY in your environment first.
curl --fail-with-body https://api.iteracompute.com/v1/chat/completions \
  -H "Authorization: Bearer $ITERACOMPUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen/qwen3.8-27b","messages":[{"role":"user","content":"Reply with exactly: Hello!"}],"max_tokens":512}'

Check that choices[0].message.content contains visible text; HTTP 200 alone is insufficient. Reasoning may consume the output budget. For free Qwen, use the first free call example to disable thinking, then send a prompt inside your tool.

Complete a small coding task

Open an empty folder in VS Code with Node.js 22 or newer installed. In Roo Code, select Code mode and the configured IteraCompute provider, then send this prompt. Review the proposed file writes and approve the test command when Roo asks.

Roo Code · task prompt
In this empty workspace, create slugify.mjs exporting slugify(text).
Trim whitespace, lowercase the text, replace each run of non-ASCII-alphanumeric characters with one hyphen, and strip leading/trailing hyphens.
Create slugify.test.mjs with node:test and node:assert/strict for these four cases:
"Hello Roo Code" -> "hello-roo-code"
"  IteraCompute API  " -> "iteracompute-api"
"Hello,   World!!" -> "hello-world"
"---" -> ""
Run node --test slugify.test.mjs. Fix failures, then complete the task with the files changed and the actual test result. Do not install dependencies.

Reference files for the completed task

slugify.mjs
export function slugify(text) {
  return text.trim().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '');
}
slugify.test.mjs
import test from 'node:test';
import assert from 'node:assert/strict';
import { slugify } from './slugify.mjs';

for (const [input, expected] of [
  ['Hello Roo Code', 'hello-roo-code'],
  ['  IteraCompute API  ', 'iteracompute-api'],
  ['Hello,   World!!', 'hello-world'],
  ['---', ''],
]) {
  test(JSON.stringify(input), () => assert.equal(slugify(input), expected));
}
node --test slugify.test.mjs · result summary
# tests 4
# pass 4
# fail 0

These reference files were tested locally on October 12, 2026: all four tests passed. To verify your Roo run, confirm both files exist, the command exits with code 0, and Roo reports task completion with the test result. A chat reply or HTTP 200 alone does not verify file edits and command execution. The local reference test does not establish an end-to-end Roo API run.

Selected model capabilities

These are API capabilities of the selected model. Feature availability in your workflow also depends on the tool and its settings; reasoning controls vary by model.

  • Chat CompletionsSupported
  • Tool callingSupported
  • ReasoningSupported
  • Image inputSupported
  • StreamingSupported

Troubleshooting

401 / 403 · Active provider

In Roo Settings, check the API Key for the provider configuration selected in your current task, including model permission. Save it and retry. Free Qwen requires no balance or card.

404 · Base URL / Model ID

In Roo Settings, choose OpenAI Compatible, keep /v1 in Base URL and enter qwen/qwen3.8-27b as the Model ID without an openai/ prefix. Use the Chat Completions endpoint.

400 / Tools not executed

Roo requires native tool calling. Check Model Configuration: free Qwen context is 131072 and max output is 8192. For file edits, use Code mode and inspect pending tool approvals in the task timeline; a completed chat reply alone is insufficient.

429 / Empty reply

Check monthly usage and TPM in the IteraCompute Console and honor Retry-After before retrying the Roo task. For empty replies, run the first free API call separately to verify visible content, then retry a small Code-mode task.

401 / 403: check the key and model permission. Free Qwen requires no balance or card. For paid models, also check available balance.

Roo Code configuration reference →

Start building with Roo Code.

Connect your key, choose a model and send your first request.