TL;DR
Qwen 3.6 Plus Previewは2026年3月30日にリリースされ、100万トークンのコンテキストウィンドウ、必須の思考連鎖推論、ツール使用のサポートを備えています。現在、OpenRouterで完全に無料で利用可能です。モデルID qwen/qwen3.6-plus-preview:free をOpenAI互換クライアントで指定するだけで、すぐにリクエストを送信できます。
静かに登場したモデル
Alibaba CloudはQwen 3.6 Plus Previewを2026年3月30日にリリースしました。派手な発表やウェイティングリストはありません。OpenRouter上で100万トークンあたり0ドルで利用できる新モデルとして登場しました。
リリース直後の2日間で約40万リクエスト、4億トークン以上の完了を処理し、開発者たちからその高速性に注目が集まりました。
この記事では、アカウント設定からAPIキー発行、cURL/Python/Node.jsの動作サンプル、パフォーマンスを最大限活かすための具体的なアドバイスまで、すぐに実装を開始するための情報をまとめています。
💡 AI APIで構築する場合、リクエストのテストやデバッグも不可欠です。Apidogは無料で使え、OpenRouterを含むあらゆるREST APIに対応しています。
このガイドを読めば、Qwen 3.6を無料で呼び出す手順・特徴・注意点まで確実に理解できます。
Qwen 3.6が3.5シリーズに追加した機能
3.5から3.6への進化は段階的なものではありません。主な違いは以下の3点です。
1. コンテキストウィンドウが100万トークンに拡大
Qwen 3.5は32K〜128Kトークンでしたが、Qwen 3.6は100万トークンの入力をサポートします。
実用的に言えば、100万トークンは約75万語。コードベース全体や1年分のSlackログ、大量の法的文書や研究データも1リクエストで処理可能です。
無料モデルで1Mトークン対応はほぼ例外的なスペックです。
2. 推論機能は組み込みで必須
Qwen 3.6は必ず推論トークンを使い、回答前に自動で思考チェーンを生成します。「step by stepで考えて」などの追加指示は不要です。
DeepSeek R1型の思考パターンが、数学だけでなくコーディングや一般的な問題解決まで適用されます。
3. エージェント的なツール呼び出しが信頼性向上
3.5系はツール呼び出しで引数型の誤りや幻覚がありましたが、3.6では大きく改善。多段階ワークフローでの壊れた関数呼び出しが減少します。
特に強いタスクは以下の3つです。
- エージェント的コーディング(多段階コード生成)
- フロントエンド開発(HTML/CSS/JavaScriptの自動生成)
- 複雑な問題解決(長文要約・分析・研究支援)
Qwen 3.6に無料でアクセスする方法
必要なのはOpenRouterアカウントとAPIキーのみ。無料モデルならクレジットカードも不要です。
ステップ1:OpenRouterアカウント作成
openrouter.ai にアクセスし、メールアドレスまたはGoogleアカウントでサインアップ。2分で完了します。
支払い方法の登録は不要。メール認証後すぐにAPIが使えます。
ステップ2:APIキーを発行
- 右上のプロフィールアイコンをクリック
- ドロップダウンからAPI Keysを選択
- Create Keyをクリック
- 名前を入力(例:
qwen-test)、Createをクリック - 表示されたキー(
sk-or-v1-...で始まる)をコピー
このキーは再表示されないので必ず安全に保管してください。
ステップ3:最初のリクエストを送信
モデルIDはqwen/qwen3.6-plus-preview:freeです。OpenAI API互換なので、既存クライアントがそのまま利用可能です。
cURL例:
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer sk-or-v1-YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3.6-plus-preview:free",
"messages": [
{
"role": "user",
"content": "JWTトークンを解析し、ペイロードを辞書として返すPython関数を記述してください。"
}
]
}'
Python (requests):
import requests
def call_qwen(prompt: str, api_key: str) -> str:
response = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
},
json={
"model": "qwen/qwen3.6-plus-preview:free",
"messages": [{"role": "user", "content": prompt}],
},
timeout=60,
)
response.raise_for_status()
return response.json()["choices"][0]["message"]["content"]
result = call_qwen(
"JWTトークンを解析し、ペイロードを返すPython関数を記述してください。",
api_key="sk-or-v1-YOUR_KEY_HERE"
)
print(result)
Node.js (fetch):
async function callQwen(prompt, apiKey) {
const response = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "qwen/qwen3.6-plus-preview:free",
messages: [{ role: "user", content: prompt }],
}),
});
if (!response.ok) {
throw new Error(`OpenRouter error: ${response.status} ${await response.text()}`);
}
const data = await response.json();
return data.choices[0].message.content;
}
callQwen(
"メールアドレスを検証するJavaScript関数を記述してください。",
"sk-or-v1-YOUR_KEY_HERE"
).then(console.log);
OpenAI SDK (Python):
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-YOUR_KEY_HERE",
)
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=[
{
"role": "system",
"content": "あなたはベテランのバックエンドエンジニアです。クリーンで本番環境対応のコードを記述してください。"
},
{
"role": "user",
"content": "指数関数的バックオフを使用して、失敗したHTTPリクエストを最大3回再試行するPython関数を記述してください。"
}
],
)
print(response.choices[0].message.content)
ツール使用とエージェントワークフロー
Qwen 3.6は無料モデルでありながらツール呼び出しに対応しています。以下はOpenAI SDKを使ったサンプルです。
from openai import OpenAI
import json
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-YOUR_KEY_HERE",
)
tools = [
{
"type": "function",
"function": {
"name": "search_api_docs",
"description": "特定のエンドポイントまたはパラメーターのAPIドキュメントを検索します",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "検索クエリ"
},
"version": {
"type": "string",
"enum": ["v1", "v2", "v3"],
"description": "検索するAPIバージョン"
}
},
"required": ["query"]
}
}
},
{
"type": "function",
"function": {
"name": "run_api_test",
"description": "APIエンドポイントに対してテストリクエストを実行します",
"parameters": {
"type": "object",
"properties": {
"endpoint": {"type": "string"},
"method": {"type": "string", "enum": ["GET", "POST", "PUT", "DELETE"]},
"body": {"type": "object"}
},
"required": ["endpoint", "method"]
}
}
}
]
messages = [
{
"role": "user",
"content": "/usersエンドポイントのドキュメントを見つけて、それに対してテストGETリクエストを実行してください。"
}
]
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=messages,
tools=tools,
tool_choice="auto",
)
message = response.choices[0].message
if message.tool_calls:
for tool_call in message.tool_calls:
print(f"Tool: {tool_call.function.name}")
args = json.loads(tool_call.function.arguments)
print(f"Arguments: {json.dumps(args, indent=2)}")
else:
print(message.content)
モデルは構造化された関数呼び出しを返し、それを実行して結果を次ターンで渡すことで、多段階のエージェントワークフローを簡単に構築できます。
100万トークンのコンテキストウィンドウを活用する
1Mトークンの大容量コンテキストは、以下のようなシナリオで真価を発揮します。
コードベース全体レビュー
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-v1-YOUR_KEY_HERE",
)
def load_codebase(directory: str, extensions: list[str]) -> str:
content_parts = []
for path in Path(directory).rglob("*"):
if path.suffix in extensions and path.is_file():
try:
text = path.read_text(encoding="utf-8", errors="ignore")
content_parts.append(f"--- FILE: {path} ---\n{text}\n")
except Exception:
continue
return "\n".join(content_parts)
codebase = load_codebase("./src", [".py", ".js", ".ts"])
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=[
{
"role": "user",
"content": f"このコードベースをレビューし、以下を特定してください。\n1. セキュリティ脆弱性\n2. エラー処理がない関数\n3. 一貫性のない命名規則\n\nコードベース:\n{codebase}"
}
],
)
print(response.choices[0].message.content)
大規模ドキュメント分析
with open("annual_report_2025.txt", "r") as f:
document = f.read()
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=[
{
"role": "user",
"content": f"このドキュメントから、APIレート制限と料金変更に関するすべての言及を抽出してください。\n\n{document}"
}
],
)
長い会話履歴を保持したデバッグや面接
conversation = []
def chat(user_message: str) -> str:
conversation.append({"role": "user", "content": user_message})
response = client.chat.completions.create(
model="qwen/qwen3.6-plus-preview:free",
messages=conversation,
)
assistant_message = response.choices[0].message.content
conversation.append({"role": "assistant", "content": assistant_message})
return assistant_message
print(chat("GitHub APIから401エラーが出ています。コードはこれです..."))
print(chat("トークンを追加しましたが、今度は403エラーが出ます。トークンにはリポジトリスコープがあります。"))
print(chat("リポジトリはプライベートです。実際に必要なスコープは何ですか?"))
ApidogでOpenRouter APIリクエストをテストする
OpenRouter APIでの失敗リクエストのデバッグは手間がかかりがちです。Apidogはリクエスト作成・レスポンス検証・テスト自動化をワンストップで実現できる無料APIクライアントです。
ApidogでQwen 3.6エンドポイントをテストする手順:
-
https://openrouter.ai/api/v1/chat/completionsへのPOSTリクエストを作成 -
Authorization: Bearer sk-or-v1-...ヘッダーを追加 - ボディに
modelとmessagesを含むJSONをセット - リクエスト送信→レスポンスを検証
テストコレクション化・モデル比較・自動アサート(例えばchoices[0].message.contentが空でないか、関数名が正しいか等)も可能。OpenRouterアプリを開発する際、早期にテストを整備しておくと運用の手戻りを防げます。
無料ティアの制限と注意点
Qwen 3.6は今は無料ですが、恒久的ではありません。実装時には以下の制約を把握しておきましょう。
レート制限は全ユーザーで共有
無料モデルは全ユーザーで容量共有されるため、ピーク時(米国の夕方など)は高レイテンシやレート制限エラーが発生します。本番コードには必ずリトライロジックを仕込んでください。
import time
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
session = requests.Session()
retry_strategy = Retry(
total=3,
backoff_factor=2,
status_forcelist=[429, 500, 502, 503, 504],
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session.mount("https://", adapter)
response = session.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": "Bearer sk-or-v1-YOUR_KEY_HERE"},
json={
"model": "qwen/qwen3.6-plus-preview:free",
"messages": [{"role": "user", "content": "こんにちは"}],
},
timeout=30,
)
データはログに記録される
モデルページに「モデルはプロンプトと完了データを収集し、改善に利用」と明記されています。APIキーやパスワード、個人情報は送信しないでください。
プレビュー提供
現状はプレビュー提供のため、仕様変更の可能性があります。本番利用時はモデルIDを固定し、リグレッションテストを運用しましょう。
テキストのみ対応
Qwen 3.6はテキスト入出力のみ。画像・音声・ファイルアップロードは未対応です。
実際のユースケース
コードレビューエージェント構築
社内PRレビューツールで、巨大な差分(1万行超)もQwen 3.6ならチャンキング不要で一括レビュー。ロジックエラーやセキュリティ課題を自動抽出。フロントエンドコンポーネント生成
SaaSダッシュボード開発で、デザイン指示からReactコンポーネントを自動生成。TypeScript型やレスポンシブCSSも高精度。APIドキュメント比較・要約
サードパーティAPI移行時、双方の巨大なドキュメントを一括投入し、認証やWebhookなどを比較テーブルで出力。
openrouter.aiでサインアップし、APIキーを発行して、qwen/qwen3.6-plus-preview:freeを指定すればすぐに試せます。
よくある質問
Qwen 3.6は本当に無料で利用できますか?
はい。2026年3月時点でOpenRouterでは100万入力・出力トークンごとに0ドル。プレビュー終了後に無料でなくなる可能性があるので、コスト前提の設計は要注意です。
無料ティアのレート制限は?
OpenRouterは具体的なレート制限値を公開していません。全ユーザーでスロットを共有し、混雑時はスロットリングされます。最初は1リクエストずつ+リトライ実装推奨。
Qwen 3.6を商用プロジェクトで使っていい?
はい。OpenRouterは商用利用を許可しています。ただし成果物を配布する場合は、基盤モデルのライセンス(Alibaba Cloud Qwenモデル)も確認してください。
Qwen 3.6はなぜ他モデルより応答が遅い?
必須推論トークン(思考チェーン)の生成が追加レイテンシとなります。シンプルなプロンプトでも数秒かかることがあります。重い推論が必要な場合はこの遅延が価値に直結します。ストリーミングで部分出力も可能です。
推論トークンを無効化できる?
現時点のプレビューでは不可。思考チェーン不要・高速応答が必要な場合は、今後別バリアントや軽量モデル(例:LLaMA 3.1 8B)を検討してください。
1Mトークンコンテキストのコスト影響は?
無料ティアでは影響なし(0ドル)。ただし極端に大きなリクエストは処理時間が長く、無料ティアではタイムアウトの可能性も。最初は30〜60秒タイムアウトでテストし、10万トークン超では値を調整してください。


Top comments (0)