MiniMax H3(Hailuo 3)が EvoLink に登場無料10クレジットで試す
統合ゲートウェイを通じて開発者プロトコルと本番ツールへ分岐するQwen3.8 Max API統合経路
チュートリアル

Qwen3.8 Maxの使い方:Python・TypeScript・cURL

Jacey
Jacey
Founder
2026年8月3日
11 分
要点: EvoLink本番RouteはChat Completions、Responses、Messagesでqwen3.8-maxを使用します。文書URLは過去のPreview slugを保持しているため、本番IDを使い、Traffic投入前に自分のAccountでSmoke Testを実行してください。
Qwen3.8 Maxモデルページは、EvoLinkでのRoute提供状況、最終Model ID、Live料金を管理する正規ページです。本ガイドはAPI統合とコード例の検索意図だけを担当します。

QwenCloudリリースとEvoLink状況

SurfaceID状況
QwenCloudqwen3.8-max正式upstream flagship
Token Planqwen3.8-max-previewPreview channel
EvoLinkqwen3.8-max本番Route利用可能、文書URLはPreview slugを保持

最初のリクエスト前の準備

要件準備目的
EvoLink API KeyAPI Keyダッシュボードで作成Bearer認証
Base URLテキストは https://direct.evolink.ai/v1SDK設定とEndpointを分離
マルチモーダルURL画像・音声・動画は https://api.evolink.ai/v1文書化された専用Endpoint
モデル変数EvoLink表示の正確なIDPreviewからGAへの変更を設定だけで対応
スモークテスト短く決定的な1リクエスト認証、経路、形式、課金を確認
フォールバック検証済みEvoLinkモデル有効化・容量変更時の継続性
export EVOLINK_API_KEY="your-evolink-api-key"
export EVOLINK_BASE_URL="https://direct.evolink.ai/v1"
export EVOLINK_QWEN_MODEL="qwen3.8-max-preview"

Protocol判断ツリー

既存OpenAI ChatはChat、新規AgentでToolやサーバー状態が必要ならResponses、Anthropic stackはMessagesを選びます。

Existing OpenAI-compatible chat application?
├─ Yes → Chat Completions
└─ No
   ├─ New agent needs built-in tools or server-linked turns? → Responses
   └─ Existing Anthropic Messages stack? → Messages
EVOLINK_QWEN_MODELqwen3.8-maxに設定し、最初のResponseでResolved Modelを確認してください。

Chat・Responses・Messagesの選択

プロトコルEndpoint主な用途違い
Chat Completions/v1/chat/completions既存OpenAI互換チャットmessages、Thinkingは reasoning_content
Responses/v1/responsesAgent、組み込みツール、連結ターンinputprevious_response_id、Session Cache
Messages/v1/messagesAnthropic SDKトップレベル systemmax_tokens 必須

既存OpenAIアプリはChat、ツールやサーバー状態はResponses、Anthropic形式のBlockとEventはMessagesから始めます。

cURLで最初のコール

curl --request POST \
  --url "${EVOLINK_BASE_URL}/chat/completions" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --data "{
    \"model\": \"${EVOLINK_QWEN_MODEL}\",
    \"messages\": [
      {
        \"role\": \"system\",
        \"content\": \"You are a concise software architecture assistant.\"
      },
      {
        \"role\": \"user\",
        \"content\": \"Return three checks for a safe API rollout.\"
      }
    ]
  }"
成功レスポンスには id、解決後の model、1件以上の choices、usageが含まれます。有効化テストでは返却モデルを保存してください。

OpenAI SDKによるPython統合

pip install openai
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["EVOLINK_API_KEY"],
    base_url=os.getenv("EVOLINK_BASE_URL", "https://direct.evolink.ai/v1"),
)

response = client.chat.completions.create(
    model=os.environ["EVOLINK_QWEN_MODEL"],
    messages=[
        {
            "role": "system",
            "content": "You are a concise software architecture assistant.",
        },
        {
            "role": "user",
            "content": "Return three checks for a safe API rollout.",
        },
    ],
)

print(response.choices[0].message.content)
print(response.model)

統合境界はAPI Key、Base URL、モデルIDだけです。Promptや業務ロジックを変える前に、設定変更で出力と運用特性を比較します。

TypeScript統合

npm install openai
import OpenAI from "openai";

const apiKey = process.env.EVOLINK_API_KEY;
const model = process.env.EVOLINK_QWEN_MODEL;

if (!apiKey || !model) {
  throw new Error("EVOLINK_API_KEY and EVOLINK_QWEN_MODEL are required");
}

const client = new OpenAI({
  apiKey,
  baseURL: process.env.EVOLINK_BASE_URL ?? "https://direct.evolink.ai/v1",
});

const response = await client.chat.completions.create({
  model,
  messages: [
    {
      role: "system",
      content: "You are a concise software architecture assistant.",
    },
    {
      role: "user",
      content: "Return three checks for a safe API rollout.",
    },
  ],
});

console.log(response.choices[0].message.content);
console.log(response.model);

StreamingでThinkingと最終内容を分離

全chunkに最終テキストがあるとは限りません。reasoning_contentcontentを分けて保存します。
import os
from openai import OpenAI

model = os.environ.get("EVOLINK_QWEN_MODEL")
if not model:
    raise RuntimeError("EVOLINK_QWEN_MODEL is required")

client = OpenAI(
    api_key=os.environ["EVOLINK_API_KEY"],
    base_url=os.getenv("EVOLINK_BASE_URL", "https://direct.evolink.ai/v1"),
)

stream = client.chat.completions.create(
    model=model,
    messages=[
        {"role": "user", "content": "Review this rollout plan for failure modes."}
    ],
    stream=True,
    extra_body={"enable_thinking": True},
)

for chunk in stream:
    delta = chunk.choices[0].delta
    reasoning = getattr(delta, "reasoning_content", None)
    if reasoning:
        print(reasoning, end="", flush=True)
    if delta.content:
        print(delta.content, end="", flush=True)
起動時に EVOLINK_QWEN_MODEL を検証してください。暗黙のフォールバックではRolloutとRollbackを監査できません。

ツールとマルチターン向けResponses API

Responsesは messages ではなく input を使います。EvoLinkは previous_response_idx-dashscope-session-cache: enable も文書化しています。
curl --request POST \
  --url "${EVOLINK_BASE_URL}/responses" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --header "x-dashscope-session-cache: enable" \
  --data "{
    \"model\": \"${EVOLINK_QWEN_MODEL}\",
    \"input\": \"List the production checks for a model-route canary.\"
  }"

Responsesの次ターンとSession Cache

最初の実IDをprevious_response_idに使います。Headerだけではhitを証明しないためusageを確認します。
curl --request POST \
  --url "${EVOLINK_BASE_URL}/responses" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --header "x-dashscope-session-cache: enable" \
  --data "{
    \"model\": \"${EVOLINK_QWEN_MODEL}\",
    \"previous_response_id\": \"resp_FROM_FIRST_CALL\",
    \"input\": \"Turn those checks into a five-step canary plan.\"
  }"
プライバシーと保持要件がサーバー連結会話を許す場合のみ id を保存します。現行仕様の有効期間は7日ですが、永続Workflowでは再確認してください。

Anthropic互換向けMessages API

MessagesはSystem指示を messages の外へ置き、max_tokens を必須とします。
curl --request POST \
  --url "${EVOLINK_BASE_URL}/messages" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --data "{
    \"model\": \"${EVOLINK_QWEN_MODEL}\",
    \"max_tokens\": 1024,
    \"system\": \"You are a concise software architecture assistant.\",
    \"messages\": [
      {
        \"role\": \"user\",
        \"content\": \"Return three checks for a safe API rollout.\"
      }
    ]
  }"

Tool検証・限定Retry・Fallback

Tool引数は信頼できない入力です。副作用前に名前、Schema、権限、環境を検証します。

import { z } from "zod";

const createCanarySchema = z.object({
  workload: z.string().min(1).max(80),
  trafficPercent: z.number().min(0.1).max(10),
});

function validateToolCall(name: string, rawArguments: string) {
  if (name !== "create_canary") {
    throw new Error(`Blocked unknown tool: ${name}`);
  }

  return createCanarySchema.parse(JSON.parse(rawArguments));
}

Timeout、接続、429、一時5xxのみ上限付きでRetryし、400/401/402は同じまま再送しません。

import os
import random
import time
from openai import APIConnectionError, APIStatusError, APITimeoutError, OpenAI

client = OpenAI(
    api_key=os.environ["EVOLINK_API_KEY"],
    base_url=os.getenv("EVOLINK_BASE_URL", "https://direct.evolink.ai/v1"),
)

def complete_with_fallback(messages):
    models = [
        os.environ["EVOLINK_QWEN_MODEL"],
        os.environ["EVOLINK_FALLBACK_MODEL"],
    ]

    for model in models:
        for attempt in range(3):
            try:
                return client.chat.completions.create(
                    model=model,
                    messages=messages,
                    timeout=60,
                )
            except APIStatusError as error:
                if error.status_code != 429 and error.status_code < 500:
                    raise
            except (APIConnectionError, APITimeoutError):
                pass

            time.sleep((2 ** attempt) + random.random())

    raise RuntimeError("Primary and fallback routes failed")

Production Validation台帳

機能Route状況Accountで記録するEvidence
Chat / Responses / Messages利用可能、検証必要ID、model、HTTP、stop、usage
Streaming / Thinking利用可能、検証必要初回event、最終event、reasoning、content
Tools / Cache / Multimodal対象Endpointで検証引数、継続、cache usage、media形式
Chatから機械的に変換せず、トップレベル system、Content Block、Cache Field、Anthropic Streaming Eventを保ちます。
Chat、Responses、Messagesを統合ゲートウェイでルーティングし、ストリーミング、ツール、リトライ、フォールバック、監視へ接続するアプリ
Chat、Responses、Messagesを統合ゲートウェイでルーティングし、ストリーミング、ツール、リトライ、フォールバック、監視へ接続するアプリ

Thinking・Streaming・Tools・Cacheを段階的に有効化

機能ChatResponsesMessages本番確認
Thinkingenable_thinkingreasoning_contentreasoning.effortthinking Block品質、遅延、Token
Streamingstream: true、SSEResponses EventAnthropic Event切断、部分出力
Toolstools の関数組み込み・Custom ToolTool Block副作用前に引数検証
Cachecache_controlSession Cache Headercache_control Blockusageを確認
Multimodalhttps://api.evolink.ai/v1Multimodal URL対応Image Block形式とサイズを実経路でテスト

QwenCloudの価格やCache割引をEvoLinkコストへコピーしないでください。EvoLink製品ページのLive価格を使います。

トラブルシューティング

症状原因対応
400形式・必須Fieldの誤り最小例に戻す
401Tokenが無効KeyとHeaderを確認
402Credit不足残高を確認
404Route、ID、Endpoint正確なIDとPathを確認
429Rate LimitJitter付き指数Backoff、並列数削減
5xx一時障害回数限定Retry後Fallback
Thinking時に空読み取りField違いReasoningと最終出力を確認

400、401、402は原因を直さず再試行しません。429と一時的5xxのRetry回数を制限します。

本番Rolloutチェックリスト

  1. 正確なIDを EVOLINK_QWEN_MODEL に設定。
  2. 短い非Streamingコールでモデルとusageを保存。
  3. Streaming、Tools、Thinking、Cache、Multimodalを個別テスト。
  4. 代表的な20〜50タスクを現行Baselineと比較。
  5. 成功率、受入可能な遅延、Retry、Token、修正時間を計測。
  6. Shadow Trafficから小規模Canaryへ進む。
  7. 同じGatewayに検証済みFallbackを保持。
  8. エラー、遅延、コスト、品質がGuardrailを越えたらRollback。
次の判断

最初の本番呼び出し前にルートを確認する

リリース情報だけで登録せず、まず5項目を確認してください。ワークロードに合う場合のみAPIキーを作成します。

  1. 01

    リリース済み?

    はい。Qwen3.8 Maxが正式モデルで、Previewは過去のチャネル情報です。

  2. 02

    利用できる?

    EvoLinkで利用できます。製品ページで稼働ルートとモデルIDを確認してください。

  3. 03

    用途に合う?

    長文脈推論、大規模リポジトリ、ツール中心のAgent向けです。軽い処理は小型ルートに残します。

  4. 04

    料金は?

    製品ページのリアルタイム料金を確認し、上流やPreviewプランの価格を流用しないでください。

  5. 05

    呼び出し方は?

    Chat Completions、Responses、Messagesから選び、導入ガイドとパラメータ仕様を確認します。

5項目を確認しましたか? APIキーを作成.

よくある質問

EvoLinkですでに呼び出せますか?

2026年8月3日時点では有効化中です。アカウント表示とスモークテスト成功後に本番へ進みます。

どのモデルIDを使いますか?

EvoLink表示の正確なIDです。上流は qwen3.8-max、現行EvoLink文書は qwen3.8-max-preview なので設定化します。

どのBase URLですか?

テキストと長時間接続は https://direct.evolink.ai/v1、画像・音声・動画は https://api.evolink.ai/v1 です。

ChatとResponsesのどちらですか?

既存OpenAIアプリはChat、連結ターン・組み込みTool・Responses EventはResponsesです。

Anthropic SDKは使えますか?

/v1/messages を使い、systemmax_tokens、Block、Eventを保持します。

価格は掲載していますか?

いいえ。価格はモデルページの担当で、古い重複情報とKeyword Cannibalizationを防ぎます。

Rate Limitへの対応は?

並列数を制限し、429にJitter付きBackoff、Retry上限、Fallbackを設定します。

本番前に何をテストしますか?

認証、モデル解決、Parsing、Streaming、Tools、Thinking、Cache、Multimodal、Timeout、Retry、課金、Fallback、Shadow、Canaryです。

情報源

AIコストを89%削減する準備はできましたか?

今すぐEvoLinkを始めて、インテリジェントなAPIルーティングの力を体験してください。