APIドキュメント
最終更新日: 2026 年 10 月
初めての無料API呼び出し
メールアドレスを登録して確認するか、Google にサインインします。カードやチャージは必要ありません。 API キーを開き、qwen/qwen3.8-27b を許可するキーを作成し、表示されたシークレットを一度保存します。 このスクリプトは、cURLとPython 3を使用してBash(macOS、Linux、またはWSL)で実行してください。your-api-keyを実際のAPIキーに置き換えてください。response.jsonはローカルに保存してください。
Bash · Qwen3.8-27B · $0 コピー
export ITERACOMPUTE_API_KEY="your-api-key"
curl --fail-with-body --max-time 180 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,"chat_template_kwargs":{"enable_thinking":false}}' \
-o response.json && python3 -c 'import json; r=json.load(open("response.json")); text=r["choices"][0]["message"]["content"]; assert text and text.strip(), "Empty model reply: activation is incomplete"; print(text)'
choices[0].message.content に空でないテキストが返れば成功です。このコマンドはテキストを表示し、空の応答ではエラーになります。登録または HTTP 200 だけでは有効化は完了しません。出力例:Hello!(文言は変わる場合があります)。
この Qwen の例では、目に見える短い応答に対する思考を無効にします。401/403: キーとモデルの権限を確認します。429: コンソールで毎月の使用量と TPM を確認し、Retry-Afterを尊重します。空き容量がキューに入る可能性があります。並列再試行を繰り返し実行しないでください。
API クイックスタート → · 無料枠と制限 →
モデルのサポートとコスト 以下の高度な例では、有料の DeepSeek V4.1 Flash を使用し、API 残高から使用量を差し引きます。[モデル] ページで現在の入力、キャッシュされた入力、および出力の価格を確認します。無料の Qwen3.8-27B は、チャット完了、ストリーミング、ツール呼び出しをサポートしています。このガイドでは、Qwen Responses API のサポートを確立しません。モデル ID と推論パラメーターは互換性がありません。例を適用する前に、選択したモデルが各エンドポイントとオプションをサポートしていることを確認してください。
DeepSeek V4.1 Flashの価格 →
1. 概要
IteraCompute API は OpenAI 互換です。すでに OpenAI API を利用するアプリケーションでは、移行時に変更するのは
base_url と API キーです。Chat Completions、Responses、ストリーミング、ツール呼び出しは、選択したモデルが対応する範囲で互換形式を使用します。
2. ベース URL と認証
API リクエストの送信先: https://api.iteracompute.com/v1 に送信します。Chat Completions および Responses の認証には、API キーを次のヘッダーに指定します:
Authorization 。
export ITERACOMPUTE_API_KEY="your-api-key"
curl --fail-with-body https://api.iteracompute.com/v1/chat/completions \
-H "Authorization: Bearer $ITERACOMPUTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek/deepseek-v4.1-flash","messages":[{"role":"user","content":"Reply with exactly: Hello!"}],"temperature":0,"max_tokens":128}'
3. モデルID
Models エンドポイントが返す provider/model 形式の ID をそのまま使用してください。次の接頭辞は追加しないでください: iteracompute/ 。ゲートウェイが現在公開しているモデルは、次のコマンドで確認できます:
curl --fail-with-body https://api.iteracompute.com/v1/models
Models エンドポイントは公開されており、現在のゲートウェイのモデル一覧を返します。次のフィールドの値を id 返されたとおりに使用してください。モデルの商用利用の可否は、引き続き API キーと契約により制御されます。
4. Chat Completions
POST /v1/chat/completions OpenAI のリクエストとレスポンスの形式に従います。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.iteracompute.com/v1" ,
api_key=os.environ["ITERACOMPUTE_API_KEY" ],
)
resp = client.chat.completions.create(
model="deepseek/deepseek-v4.1-flash" ,
messages=[{"role" : "user" , "content" : "Reply with exactly: Hello!" }],
temperature=0,
max_tokens=128,
)
print (resp.choices[0].message.content)
print (resp.usage) # prompt_tokens / completion_tokens / total_tokens
5. Responses API
POST /v1/responses Codex などのクライアントによって使用される OpenAI Response API をサポートします。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.iteracompute.com/v1" ,
api_key=os.environ["ITERACOMPUTE_API_KEY" ],
)
response = client.responses.create(
model="deepseek/deepseek-v4.1-flash" ,
input="Reply with exactly: Hello!" ,
max_output_tokens=128,
)
print (response.output_text)
6. ストリーミング (SSE)
設定: "stream": true により SSE を受信します。分割データは生成に応じて届きます。トークン使用量は、次のフィールドを持つ最後の分割データに含まれます:
usage 。このデータは次の終了イベントより前に届きます:
[DONE] 。ストリーム全体を 1 つの論理リクエストとして扱ってください。トークンの出力開始後は、リクエストが透過的に再試行されることはありません。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.iteracompute.com/v1" ,
api_key=os.environ["ITERACOMPUTE_API_KEY" ],
)
stream = client.chat.completions.create(
model="deepseek/deepseek-v4.1-flash" ,
messages=[{"role" : "user" , "content" : "Reply with exactly: Hello!" }],
stream=True ,
stream_options={"include_usage" : True },
temperature=0,
max_tokens=128,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print (chunk.choices[0].delta.content, end="" )
if chunk.usage: # final chunk: token usage
print ("\n" , chunk.usage)
7. ツールの呼び出し
ツールは tools
パラメータで、OpenAI の function calling 形式に従って宣言します。モデルがツールの呼び出しを選ぶと、応答には次のフィールドが含まれます:
tool_calls 。ツールの実行結果を返す際は、次のロールを指定してください: "tool" 。これにより会話を続行できます。
import json
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.iteracompute.com/v1" ,
api_key=os.environ["ITERACOMPUTE_API_KEY" ],
)
messages = [{"role" : "user" , "content" : "What is the weather in Singapore?" }]
tools = [{
"type" : "function" ,
"function" : {
"name" : "get_weather" ,
"description" : "Get current weather for a city" ,
"parameters" : {
"type" : "object" ,
"properties" : {"city" : {"type" : "string" }},
"required" : ["city" ],
},
},
}]
resp = client.chat.completions.create(
model="deepseek/deepseek-v4.1-flash" ,
messages=messages,
tools=tools,
tool_choice={"type" : "function" , "function" : {"name" : "get_weather" }},
max_tokens=512,
)
assistant_message = resp.choices[0].message
messages.append(assistant_message)
for call in assistant_message.tool_calls or []:
arguments = json.loads(call.function.arguments)
result = {"city" : arguments["city" ], "temperature_c" : 29}
messages.append({
"role" : "tool" ,
"tool_call_id" : call.id,
"content" : json.dumps(result),
})
final = client.chat.completions.create(
model="deepseek/deepseek-v4.1-flash" ,
messages=messages,
tools=tools,
max_tokens=512,
)
print (final.choices[0].message.content)
8. エラーコード
エラーは、次の JSON 本文を持つ OpenAI エラー形式を使用します。
{"error": {"message", "type", "code"}} :
ステータス
意味
400 無効なリクエスト - JSON の形式が間違っているか、必須パラメータが欠落しています
401 認証に失敗しました - API キーが見つからないか無効です
403 このモデルまたはアクションにはキーが許可されていません
404 不明なモデルまたはエンドポイント
429 レート制限を超えました - 速度を落としてRetry-Afterを尊重します
500 内部エラー - リクエストを再試行しても安全です
503 モデルは一時的に利用できません - バックオフで再試行してください
9. レート制限
Qwen3.8-27B の月間利用枠と TPM はアカウント単位です。Free / Starter / Pro は、UTC の暦月ごとに 30M / 100M / 300M トークン、160K / 300K / 600K TPM、128K / 128K / 256K のコンテキストを利用できます。完了済みの累積純チャージ額 $10 / $50 で Starter / Pro を利用できます。GPU が混雑すると無料アカウントはキューで待機する場合があります。GPU 1 台あたり待機リクエストは最大 32 件、待機時間は最大 120 秒です。他のモデルにはキーごとの制限が適用されます。利用枠の消尽、キューの満杯、待機タイムアウト時の応答コードは 429 。再試行前に次のヘッダーの指示に従ってください: Retry-After 。