DEV Community

Cover image for Qwen3.7 API の使い方
Akira
Akira

Posted on • Originally published at apidog.com

Qwen3.7 API の使い方

AlibabaのQwenチームは、2026年5月中旬にQwen3.7-Max-Previewを出荷しました。開発者がまず知りたいのは「自分のコードからどう呼び出すか」です。このモデルは、100万トークンのコンテキストウィンドウと明示的な思考連鎖トレースを備えた旗艦推論システムで、エージェントのバックエンド、長文ドキュメント分析、コード生成に向いています。ただし「Preview」であるため、アクセスは制限され、APIインターフェースやモデルIDは変更される可能性があります。

今すぐApidogを試す

TL;DR

Qwen3.7-Max-Previewは、2026年5月14日にプレビュー公開されたAlibabaの旗艦推論モデルです。100万トークンのコンテキストウィンドウを備えています。

現時点で最も確実に試す方法は、Qwen Chat (chat.qwen.ai) です。本番統合では、Alibaba Cloud Model Studio(DashScope)のOpenAI互換エンドポイントを使います。

実装の流れは次の通りです。

  1. Alibaba Cloud Model StudioでAPIキーを発行する
  2. DashScopeのリージョン別ベースURLを設定する
  3. Authorization: Bearer <API_KEY>で認証する
  4. /chat/completionsを呼び出す
  5. モデルIDは公式ドキュメントで確認する

3.7ティアはプレビュー専用のため、利用前に公式ドキュメントで正確なモデルIDとエンドポイントを確認してください。利用可能性が安定するまでは、Apidogでエンドポイントをテスト・モックしておくと開発を止めずに進められます。

Qwen 3.7への現在のアクセス方法

Qwenモデルは複数のサービスから提供されていますが、すべてのモデルが同時に利用可能になるわけではありません。2026年5月下旬時点でのアクセス状況は次の通りです。

Qwen Chat

chat.qwen.ai は、Qwen3.7-Max-Previewを最速で試す方法です。

手順は次の通りです。

  1. 無料のQwenアカウントでサインインする
  2. モデルセレクターで qwen3.7-max-preview を選択する
  3. 推論トレースを確認したい場合は「Thinking Mode」をオンにする

プレビュー期間中は利用制限がありますが、費用はかからず、セットアップも不要です。ただしこれはブラウザ製品であり、APIではありません。統合ではなく、プロンプト評価やモデル挙動の確認に使います。

Alibaba Cloud Model Studio(DashScope)

本番環境からQwenを呼び出す場合は、Alibaba Cloud Model Studio(DashScope)を使います。

Model StudioはOpenAI互換エンドポイントを提供しているため、OpenAI SDKを使っている既存コードであれば、主に次の2点を差し替えるだけです。

  • base_url
  • APIキー

qwen3.6-max-previewqwen-max ファミリーなどの既存ティアはすでにModel Studioで利用できます。ただし、この記事を読んでいる時点では、3.7プレビュー階層のパブリックAPIエントリーはまだ利用できない可能性があります。Qwenは過去にも、チャットプレビューの数週間後にAPIアクセスを開始してきました。

Qwen Model Studio

OpenAI互換パターン

Model Studio上の最近のQwenモデルは、OpenAI互換の呼び出し形式に従います。

基本構成は次の通りです。

POST {DASHSCOPE_BASE_URL}/chat/completions
Authorization: Bearer {DASHSCOPE_API_KEY}
Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode

このパターンはバージョン間で比較的安定しています。3.7のモデルIDが利用可能になった後も、通常は model フィールドの文字列を変更するだけで対応できます。

プレビュー期間中は、モデル識別子やエンドポイントが変更される可能性があります。必ず次の公式情報を確認してください。

APIアクセスを待つ間に無料で試したい場合は、Qwen 3.7を無料で使う方法も参考になります。

アクセス方法一覧

方法 APIアクセス 費用 最適な用途
Qwen Chat (chat.qwen.ai) いいえ 無料、レート制限あり 簡単な評価、プロンプトテスト
Alibaba Cloud Model Studio(DashScope) はい、OpenAI互換 トークンごとの支払い 本番環境への統合
Hugging Face上のQwen 重み(リリース時) 無料(セルフホスト) オープンウェイトモデル、Maxプレビューではない
サードパーティゲートウェイ 様々 様々 マルチモデルルーティング

注意点として、オープンウェイトのQwenモデルはHugging Faceで利用できますが、Max-Previewティアはプロプライエタリです。qwen3.7-max-preview のダウンロード可能な重みは期待しないでください。

Qwen 3.7 APIキーの取得

APIアクセスはAlibaba Cloudアカウント経由で行います。

手順は次の通りです。

  1. Alibaba Cloudアカウントを作成する
  2. Model Studioコンソール(modelstudio.console.alibabacloud.com)を開く
  3. アカウントとリージョンでModel Studioを有効化する
  4. APIキーセクションを開く
  5. sk- で始まるAPIキーを生成する
  6. キーを一度だけコピーし、安全に保存する

キーはリージョンにスコープされています。たとえば、シンガポールエンドポイント用のキーは北京エンドポイントでは認証されません。

リージョン別ベースURL

リージョン ベースURL
シンガポール https://dashscope-intl.aliyuncs.com/compatible-mode/v1
米国(バージニア) https://dashscope-us.aliyuncs.com/compatible-mode/v1
北京(中国) https://dashscope.aliyuncs.com/compatible-mode/v1

APIキーはソースコードにハードコードしないでください。環境変数として設定します。

# macOS / Linux
export DASHSCOPE_API_KEY="sk-your-key-here"

# Windows PowerShell
setx DASHSCOPE_API_KEY "sk-your-key-here"
Enter fullscreen mode Exit fullscreen mode

アプリケーション側では、実行時に DASHSCOPE_API_KEY を読み込みます。これにより、秘密情報をリポジトリから除外でき、コードを変更せずにキーをローテーションできます。

同じパターンは、他のモデルAPIでも使えます。Gemini 3.5 APIでも同様です。

最初のリクエスト: Python、curl、JavaScript

QwenのModel StudioエンドポイントはOpenAI互換です。したがって、次のどちらかで呼び出せます。

  • OpenAI SDKをDashScopeのベースURLに向ける
  • 生のHTTPリクエストを送る

以下の例では qwen3.7-max-preview を使っています。ただし、このモデルIDはQwen Chatのプレビューモデル識別子です。APIで使用する正確な文字列は、プレビュー期間中に異なる可能性があります。

実行前に、Model Studioのモデルリストで現在のモデルIDを確認し、model フィールドに設定してください。

Python: OpenAI SDKを使う

まずSDKをインストールします。

pip install openai
Enter fullscreen mode Exit fullscreen mode

次にリクエストを送信します。

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DASHSCOPE_API_KEY"],
    # アカウントのリージョンに対応するベースURLを指定する
    base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)

response = client.chat.completions.create(
    # 実際に利用可能なモデルIDはModel Studioのモデルリストで確認する
    model="qwen3.7-max-preview",
    messages=[
        {"role": "system", "content": "You are a precise coding assistant."},
        {"role": "user", "content": "Write a Python function that reverses a linked list."},
    ],
)

print(response.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

messages 配列は標準的なチャット形式です。

  • system: モデルの振る舞いを指定する
  • user: ユーザー入力を渡す

生成された本文は response.choices[0].message.content に入ります。

curl

キーやモデルIDが正しく動作するかを最短で確認したい場合は、curlが便利です。

curl 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions' \
  --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "qwen3.7-max-preview",
    "messages": [
      {"role": "user", "content": "Explain idempotency in REST APIs in two sentences."}
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

キーとモデルIDが有効であれば、補完を含むJSONレスポンスが返ります。失敗した場合は、レスポンスボディで修正点を確認します。

JavaScript / Node.js

Node.jsでも同じOpenAI SDKを使えます。

npm install openai
Enter fullscreen mode Exit fullscreen mode
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.DASHSCOPE_API_KEY,
  baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
});

const response = await client.chat.completions.create({
  model: "qwen3.7-max-preview",
  messages: [
    { role: "user", content: "List three trade-offs of GraphQL versus REST." },
  ],
});

console.log(response.choices[0].message.content);
Enter fullscreen mode Exit fullscreen mode

Python、curl、Node.jsのいずれでも、リクエスト構造は同じです。これがOpenAI互換APIの利点です。

ストリーミングレスポンス

ユーザー向けアプリでは、完了全体を待ってから表示するより、ストリーミングで逐次表示する方が実用的です。

streamtrue に設定し、返ってくるチャンクを処理します。

Python

stream = client.chat.completions.create(
    model="qwen3.7-max-preview",
    messages=[
        {"role": "user", "content": "Summarize the CAP theorem."},
    ],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)
Enter fullscreen mode Exit fullscreen mode

Node.js

Node.jsでは、ストリーミングレスポンスは非同期イテラブルとして扱えます。

const stream = await client.chat.completions.create({
  model: "qwen3.7-max-preview",
  messages: [{ role: "user", content: "Summarize the CAP theorem." }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
Enter fullscreen mode Exit fullscreen mode

推論モデルでは、ストリーミングが特に重要です。Qwen 3.7は最終回答を出す前に思考処理に時間を使うことがあります。ストリーミングを使えば、回答生成中の状態をユーザーに見せられます。

推論と思考のパラメータ

Qwen3.7-Max-Previewは推論モデルです。最終回答を確定する前に、<think> ブロック内に明示的な思考連鎖を生成できます。

このトレースは、次のようなケースで役立ちます。

  • 数学問題
  • 多段階の推論
  • 複雑なコード生成
  • エージェントの計画
  • モデル出力のデバッグ

DashScope経由の最近のQwenモデルでは、思考動作は enable_thinking フラグで制御されることがあります。ただし、Qwenのバージョン間で推論制御は変更されています。3.7プレビューティアの正確なパラメータ名は、必ず現在のAPIリファレンスで確認してください。

概念的には次のようなリクエストになります。

response = client.chat.completions.create(
    model="qwen3.7-max-preview",
    messages=[
        {
            "role": "user",
            "content": (
                "A train leaves at 2pm averaging 60mph. "
                "A second leaves at 3pm at 75mph on the same route. "
                "When does the second catch the first?"
            ),
        },
    ],
    # 推論制御はQwenのバージョンによって異なる。
    # 本番利用前にModel Studio APIリファレンスで確認する。
    extra_body={"enable_thinking": True},
)

print(response.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

実装時の判断基準は次の通りです。

  • 簡単なタスクではオフにする

    思考トレースは生成テキストです。出力トークンとレイテンシが増えます。

  • 難しいタスクではオンにする

    多段階の数学、エッジケースを含むコード、計画、分析では有効です。

  • トレースを表示するか決める

    アプリによっては <think> の内容を表示します。別のアプリでは除去して最終回答だけを表示します。

推論品質とコストを他のフロンティアモデルと比較したい場合は、Qwen 3.7 vs GPT-5.5 vs Opus 4.7も参考になります。

エージェントループではトークン消費が急増しやすいため、エージェントトークンコストを削減する方法のテクニックも適用できます。

エラー処理とレート制限

APIリクエストは、予測可能な理由で失敗します。本番コードでは、エラー種別ごとに処理を分けてください。

HTTPステータス 意味 対処法
400 不正なリクエスト: 不適切なJSON、無効なパラメータ リクエストボディを修正する。モデルIDとフィールド名を確認する
401 無効または不足しているAPIキー キーとエンドポイントのリージョンが一致しているか確認する
403 モデルへのアクセス権なし プレビューティアは制限されている可能性がある。アカウントが有効か確認する
404 モデルが見つからない モデルIDが間違っているか、リージョンで利用できない
429 レート制限またはクォータ超過 遅延して再試行する。QPS制限とアカウント残高を確認する
500 / 503 サーバー側エラー 指数バックオフで再試行する

プレビューモデルでは、安定版よりも 403404 が発生しやすくなります。多くの場合、原因はコードではなく、アクセス権またはモデルIDです。

Model Studioのレート制限は、アカウントやモデルによって異なります。固定値を仮定せず、コンソールで確認してください。

実装では、4295xx は再試行し、4xx は即座に失敗させるのが基本です。

import os
import time
from openai import OpenAI, RateLimitError, APIStatusError

client = OpenAI(
    api_key=os.environ["DASHSCOPE_API_KEY"],
    base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)

def ask_qwen(prompt, max_retries=4):
    for attempt in range(max_retries):
        try:
            response = client.chat.completions.create(
                model="qwen3.7-max-preview",
                messages=[{"role": "user", "content": prompt}],
            )
            return response.choices[0].message.content

        except RateLimitError:
            wait = 2 ** attempt  # 1s, 2s, 4s, 8s
            print(f"Rate limited. Retrying in {wait}s...")
            time.sleep(wait)

        except APIStatusError as e:
            # 400/401/403/404は再試行しても解決しないことが多い
            print(f"API error {e.status_code}: {e.message}")
            raise

    raise RuntimeError("Failed after retries")
Enter fullscreen mode Exit fullscreen mode

この分岐により、再試行しても解決しないエラーでAPIを叩き続けることを避けられます。

Apidogを使ったQwen APIのテストとモック

プレビューAPIでは、次の問題が起きやすくなります。

  • モデルIDが変わる
  • アクセスが制限される
  • レート制限に当たる
  • エンドポイントの挙動が変わる
  • 本番アプリから直接試すとデバッグしづらい

このような場合は、リクエストを単体で送信し、レスポンスを確認し、保存して再実行できる環境が必要です。Apidogはそのために使えます。

Apidog

Apidogでやること

Qwen APIを扱うときは、次の流れが実用的です。

  1. /chat/completions エンドポイントを定義する
  2. Authorization: Bearer {{DASHSCOPE_API_KEY}} を設定する
  3. リージョン別の base_url を環境変数として管理する
  4. modelmessagesstream などのリクエスト例を保存する
  5. 成功レスポンスとエラーレスポンスを記録する
  6. プレビューAPIが不安定な間はモックサーバーで開発する

構築中にエンドポイントをモックする

制限されたプレビューでは、モックが特に重要です。

Apidogのモックサーバーを使うと、キーやレート制限なしで、APIスキーマに基づくレスポンスを返せます。これにより、実際のQwenプレビューアクセスが制限されている場合でも、フロントエンドやエージェントの開発を進められます。

ライブAPIが使えるようになったら、ベースURLをモックからDashScopeに切り替えます。リクエスト形式を揃えておけば、アプリ側のコード変更は最小限で済みます。

スキーマファーストのワークフローについては、スキーマファーストモードのウォークスルーも参考になります。

このパターンはQwenに限りません。GeminiやERNIE 5.1 APIでも、同じテスト・モックの流れを使えます。

結論

Qwen 3.7の呼び出し自体はシンプルです。OpenAI互換エンドポイントに対して、APIキー、ベースURL、モデルID、messages を渡すだけです。

難しいのはAPI形式ではなく、プレビュー期間中の制限です。

本番統合では、次を確認してください。

  • 現在有効なモデルID
  • 利用可能なリージョン
  • APIキーのスコープ
  • レート制限
  • 推論パラメータの最新仕様
  • 403 / 404 / 429 の処理

Qwenが何を返すか推測するのではなく、実際のリクエストで確認しましょう。Apidogをダウンロードして、Qwenエンドポイントを設計し、テストリクエストを送信し、再利用可能なシナリオを保存し、構築中はAPIをモックできます。

Top comments (0)