> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apiyi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Qwen3.8-Max テキスト生成

> Alibaba Qwenの旗艦モデルQwen3.8-Max: 2.4Tパラメータの疎な MoE、100万コンテキストウィンドウ、131K出力、ネイティブな画像・動画入力。APIYIでは1M tokenあたり$1.65/$4.95で掲載されており、公式より17.5%安くなっています。586件のライブテスト呼び出しに基づく機能マトリクスと落とし穴も含みます。

Qwen3.8-Max (`qwen3.8-max`) は Alibaba Qwen の新しいフラッグシップで、2026年8月3日にリリースされました。これは総パラメータ数2.4兆のスパース MoE モデルで、**1M context window**、最大出力131K、さらに text、image、video 入力をネイティブにサポートします。APIYI は公開当日にこれを掲載し、**586回のライブテスト呼び出し**を実施しました — このページの機能マトリクス、パラメータの挙動、課金に関する注記は、公式ドキュメントを言い換えたものではなく、すべてそれらのテストに基づいています。

<Info>
  **Qwen3.8-Max は APIYI で利用可能です**: モデル名は `qwen3.8-max` です。**Thinking はデフォルトでオン**（`xhigh`ティアでは、Thinking tokens は出力として課金されます）なので、日常的なチャットでは `reasoning_effort="none"` を明示的に設定してください — テストでは、これにより出力はおおよそ 158 tokens から 5 へ減少しました。前世代については、[Qwen3.6 シリーズ（旧版）](/ja/api-capabilities/qwen-3-6/overview) をご覧ください。
</Info>

## このモデルを選ぶ理由

<CardGroup cols={2}>
  <Card title="公式より17.5％低い" icon="tag">
    \$1.65の入力、\$4.95の出力が1M tokensあたりで、Alibaba Cloudの\$2/\$6より安いです。[チャージプロモーション](/ja/faq/recharge-promotions)も上乗せできます。
  </Card>

  <Card title="1Mコンテキスト、検証済み" icon="scroll">
    8K / 32K / 128K の本文全体で、マーカーが文書中盤と末尾に埋め込まれていても、両方のエンドポイントが **6/6を完全一致で** 再現しました。128K の呼び出しには約80秒かかります。
  </Card>

  <Card title="3つのモダリティ、1つのモデル" icon="eye">
    テキスト、画像、動画の入力はいずれも動作確認済みです — 「long-context model」と「vision model」を切り替える必要はありません。
  </Card>

  <Card title="エージェント的な作業が大幅に強化" icon="wrench">
    FrontierSWEは前世代の40.7から**73.5**へ、DeepSWEは21.6から56.6へ向上しました。ツール呼び出しチェーンは完全で、2往復の検証も済んでいます。
  </Card>
</CardGroup>

## エンドポイント対応

| エンドポイント                | ステータス            | 備考                                                                        |
| ---------------------- | ---------------- | ------------------------------------------------------------------------- |
| `/v1/chat/completions` | ✅ 完全に動作します       | **推奨です。** ツール呼び出し、構造化出力、マルチモーダル、ストリーミングのすべてが検証済みです                        |
| `/v1/messages`         | ⚠️ コード統合には使用可能です | 履歴を再生する前に `thinking` ブロックを削除してください — 以下の「Anthropic エンドポイントの使用方法」を参照してください |
| `/v1/responses`        | ❌ まだサポートされていません  | 30 回のテスト呼び出しはすべて失敗しました。上流に報告済みです                                          |

## 料金

1M token あたりの割引前リスト価格:

| 項目               | APIYI         | Alibaba Cloud | 差分      |
| ---------------- | ------------- | ------------- | ------- |
| 入力               | **\$1.65**    | \$2.00        | 17.5％安い |
| 出力（thinking を含む） | **\$4.95**    | \$6.00        | 17.5％安い |
| キャッシュ読み取り        | **\$0.20625** | \$0.25        | 17.5％安い |
| キャッシュ書き込み        | **\$2.0625**  | —             | —       |

[チャージ特典](/ja/faq/recharge-promotions) を重ねて適用すると、実質コストをさらに下げられます。

## Specifications

| Item                | Value                                                 |
| ------------------- | ----------------------------------------------------- |
| Model name          | `qwen3.8-max`                                         |
| Architecture        | 疎な MoE、総パラメータ数 2.4 兆                                  |
| Context window      | 1M tokens（thinking なしの入力 991K、あり 983K）                |
| Max output          | 131,072 tokens（範囲外のリクエストでは明示的な上限 `[1, 131072]` を返します） |
| Max thinking budget | 262K tokens                                           |
| Thinking mode       | デフォルトでオン、`xhigh` レベル                                  |
| Input modalities    | テキスト、画像、動画                                            |
| Output rate         | 約 19〜22 tokens/s（実測）                                  |
| Time to first token | 約 1.85 s のストリーミング（P50 実測）                             |

公式ベンチマーク: GPQA Diamond 92.6、PaperBench 93.0、OmniDocBench 1.5 92.1、Terminal-Bench 2.1 86.6、OSWorld-Verified 86.1、IFBench 82.8、FrontierSWE 73.5、SWE-bench Pro 67.7。

## 推論の制御（最重要セクション）

Qwen3.8-Max はデフォルトで推論します。`xhigh` ティアです。推論 token は出力として課金され、その 90％超を占めることがよくあります。

### 7つの値、4つの実質ティア

このパラメータは 7つの値を受け付けますが、実際には **4つの実質ティア** にしか対応していません。

| 渡した値                     | 実効ティア            | 実測された推論         |
| ------------------------ | ---------------- | --------------- |
| `none`                   | 推論オフ             | 0 tokens        |
| `minimal` / `low`        | 低                | 約100 tokens     |
| `medium`                 | 中                | 約150 tokens     |
| `high` / `xhigh` / `max` | デフォルトティア（3つとも同一） | 約150–175 tokens |

`max` を渡しても、`xhigh` より深く推論することはありません。その他の値では、許可された値の一覧を示す 400 が返ります。

### 推論をオフにする方法

```python theme={null}
response = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{"role": "user", "content": "Hello"}],
    reasoning_effort="none",
    max_tokens=500,
)
```

`enable_thinking: false` は `extra_body` と `chat_template_kwargs: {"enable_thinking": false}` で同等で、どちらでも使えます。

<Warning>
  **`max_tokens` では推論 tokens を制限できません。** `max_tokens=1` を設定しても、**1,054** output tokens が課金され、そのうち 1,045 が推論でした。

  `max_tokens` は表示される回答を切り詰めるだけです。**コストを制御するには `reasoning_effort` を使ってください — `max_tokens` に頼らないでください。**
</Warning>

### `thinking_budget` は影響しません

128 / 512 / 4096 を渡しても、いずれも `low` ティアと同じように動作し、数値自体は無視されます。**代わりに `reasoning_effort` を使ってください。**

## コード例

### Python（OpenAI SDK 互換）

```python theme={null}
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-apiyi-key",
    base_url="https://api.apiyi.com/v1"
)

# Everyday chat: thinking off, fast and cheap
resp = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{"role": "user", "content": "Explain load balancing in one sentence."}],
    reasoning_effort="none",
    max_tokens=500,
)
print(resp.choices[0].message.content)

# Hard reasoning: keep the default thinking tier
resp = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{"role": "user", "content": "Prove that among any 5 integers, some 3 sum to a multiple of 3."}],
    max_tokens=4000,
)
print(resp.choices[0].message.reasoning_content)  # thinking trace
print(resp.choices[0].message.content)            # final answer
```

### 画像入力

```python theme={null}
import base64

with open("chart.png", "rb") as f:
    b64 = base64.b64encode(f.read()).decode()

resp = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{"role": "user", "content": [
        {"type": "text", "text": "What number is written in this image?"},
        {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{b64}"}},
    ]}],
    max_tokens=500,
)
```

リモートの画像 URL もこのエンドポイントで使用できます。`url` を `https://...` アドレスに設定するだけです。

### 動画入力

```python theme={null}
resp = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{"role": "user", "content": [
        {"type": "text", "text": "What happens in this video?"},
        {"type": "video_url", "video_url": {"url": f"data:video/mp4;base64,{b64_video}"}},
    ]}],
    max_tokens=1000,
)
```

<Tip>
  テストでは、動画の理解には呼び出しごとに **144–285 秒** かかりました。クライアントのタイムアウトは 300 秒より長く設定し、ストリーミングまたは非同期タスクキューを優先してください。
</Tip>

フレームシーケンス形式 `{"type": "video", "video": [frame1, frame2, ...]}` もあり、こちらは **4–8000 フレーム** が必要です。4 未満だと 400 が返ります。

### cURL

```bash theme={null}
curl https://api.apiyi.com/v1/chat/completions \
  -H "Authorization: Bearer sk-your-apiyi-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-max",
    "messages": [{"role": "user", "content": "Hello"}],
    "reasoning_effort": "none"
  }'
```

## ツール呼び出し

Chat Completions エンドポイントでのツール呼び出しは **完全に動作します**: 単一ツール、並列ツール、2ラウンドの往復、20個のツールから1つを選ぶこと、ストリーミングデルタ、そして `parallel_tool_calls: false` まですべて検証済みです。

<Warning>
  **強制ツール呼び出しでは thinking をオフにする必要があります。** `tool_choice` が `"required"` であるか、特定の関数名を指定している場合は、`reasoning_effort="none"` も設定する必要があります。そうしないと、400（`tool_choice does not support being set to required or object in thinking mode`）になるか、呼び出しが静かにスキップされます。

  `tool_choice` を `"auto"` / `"none"` に設定する場合は影響を受けません。同じことが `n > 1` にも当てはまります。
</Warning>

```python theme={null}
resp = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{"role": "user", "content": "What's the weather in Beijing?"}],
    tools=tools,
    tool_choice={"type": "function", "function": {"name": "get_weather"}},
    reasoning_effort="none",   # required
)
```

## 構造化出力

`response_format`は、`json_schema`を用いたテストで**厳密に**満たされました: 入れ子のオブジェクト、enum、配列、そして`additionalProperties: false`はすべて有効になり、余分なフィールドも Markdown のフェンスもありませんでした。

<Tip>
  **構造化出力では推論を無効にします。** 同じスキーマで、並べて測定しました:

  | 構成                                        | 出力 tokens | うち推論  | レイテンシー |
  | ----------------------------------------- | --------- | ----- | ------ |
  | `json_schema` + デフォルト推論                   | 4,066     | 3,971 | 100 s  |
  | `json_schema` + `reasoning_effort="none"` | 154       | 0     | 4.7 s  |

  準拠性は同一で、コストとレイテンシーは1桁異なります。
</Tip>

## コンテキストキャッシュ

* **約1,024 token 付近でヒットし始めます**: 818 token のプレフィックスはミスし、1,070 token 以上でヒットしました
* **実際の複数ターン会話ではヒットします**: メッセージをターンごとに追加すると、毎ラウンドでヒットしました
* **長いドキュメントほど効果が大きいです**: 128K で 98.6％ の入力がキャッシュされ、32K では 99.3％ でした

<Warning>
  テストではキャッシュヒットは**安定していませんでした**。同じプレフィックスでも、あるラウンドではヒットし、別のラウンドではミスしました。また、TTL は API 応答から確実には推測できません。キャッシュは発生したときのボーナスとして扱い、**それを前提にコスト予測を立てないでください。**
</Warning>

## Anthropic エンドポイントの使用

`/v1/messages` はコード統合には使えますが、履歴を再生する前に `thinking` ブロックを削除しなければなりません。そうしないと 400（`if content is list. item must be dict and key[type] should in dict`）になります。

```python theme={null}
def strip_thinking(blocks):
    return [b for b in blocks if b.get("type") != "thinking"]

messages.append({"role": "assistant", "content": strip_thinking(resp["content"])})
```

このフィルターを入れた状態で、3ターンにわたるターン間メモリ、2ラウンドのツール往復、そしてツール結果が後続ターンに引き継がれることを確認しました。

<Warning>
  **Claude Code のような既製クライアントはまだ使用できません** — 既定では履歴のコンテンツブロックをそのまま再生し、動作を変更できないため、2ターン目で 400 が返ります。代わりに `/v1/chat/completions` を使用してください。
</Warning>

このエンドポイントでのその他の違い: `response_format` は黙って無視されます（構造化出力にはツール呼び出しを強制してください）、`tool_choice` は OpenAI 形式のみを受け付け、画像は base64 でなければならず（リモート URL は 400 を返します）、`reasoning_effort` は効果がありません（thinking をオフにするには `thinking: {"type": "disabled"}` を使用してください）。

## パラメータ互換性

| Parameter                                          | Status | Notes                                                             |
| -------------------------------------------------- | ------ | ----------------------------------------------------------------- |
| `temperature`                                      | ✅      | 有効範囲 `[0.0, 2.0)`; 2 を渡すと 400 が返ります                               |
| `top_p`                                            | ✅      | 有効範囲 `(0.0, 1.0]`                                                 |
| `top_k` / `presence_penalty` / `frequency_penalty` | ✅      |                                                                   |
| `stop` / `stop_sequences`                          | ✅      | 両方のエンドポイントで動作します                                                  |
| `logprobs` / `top_logprobs`                        | ✅      |                                                                   |
| `stream` + `stream_options`                        | ✅      | ストリーミングでは常に usage が返ります; 長いストリームでも末尾で詰まることなく正常に終了します              |
| `partial: true`                                    | ✅      | プレフィックス継続; 継続中は推論しません                                             |
| `n > 1`                                            | ⚠️     | `reasoning_effort="none"` が必要です                                   |
| `seed`                                             | ❌      | 同じ seed でも異なる出力になりました — 決定性は保証されません                               |
| `prefix: true`                                     | ❌      | 効果はありません; `partial: true` を使用してください                               |
| `thinking_budget`                                  | ❌      | 数値は無視されます                                                         |
| Built-in web search                                | ❌      | `enable_search` と `tools: [{"type": "web_search"}]` の両方が黙って破棄されます |

## ベストプラクティス

<CardGroup cols={2}>
  <Card title="日常的なチャットと大量コール" icon="zap">
    `reasoning_effort="none"` を明示的に設定します。計測レイテンシーは約5秒から2秒に下がり、出力 token もおよそ 1/30 になりました。
  </Card>

  <Card title="長文ドキュメントとコードベース" icon="scroll">
    128K の再現精度はテストで完全で、長文ドキュメントのキャッシュヒット率も高いです。大きなドキュメントはメッセージリストの先頭に置き、質問は末尾に置いてください。
  </Card>

  <Card title="データ抽出" icon="braces">
    `json_schema` で制約し、thinking を無効にします。準拠性には影響しません。
  </Card>

  <Card title="エージェントとツールオーケストレーション" icon="wrench">
    `/v1/chat/completions` を使います。ツール呼び出しを強制する際は、thinking を無効にするのを忘れないでください。
  </Card>
</CardGroup>

## よくある質問

<AccordionGroup>
  <Accordion title="max_tokens を設定したのに、なぜまだ大量の token が課金されるのですか?">
    `max_tokens` は表示される回答だけを制限し、thinking 部分は制限しません。測定では 1,054 output token が `max_tokens=1` で課金されました。コストを抑えるには `reasoning_effort="none"` を使ってください。
  </Accordion>

  <Accordion title="名前付き関数を指定した tool_choice が 400 を返すのはなぜですか?">
    thinking が有効な間は、強制的な tool choice はサポートされません。代わりに `reasoning_effort="none"` を併用してください。
  </Accordion>

  <Accordion title="なぜ /v1/responses に到達できないのですか?">
    このエンドポイントはまだこのモデルに接続されていません。30 回のテスト呼び出しはすべて失敗し、エラーコードは 404 と 400 の間で交互に変わりました。上流側には報告済みで、利用可能になり次第 [ライブ更新](/en/live) でお知らせします。代わりに `/v1/chat/completions` を使用してください。
  </Accordion>

  <Accordion title="このモデルは Claude Code で使えますか?">
    まだです。`/v1/messages` エンドポイントは `thinking` ブロックを含む履歴メッセージを拒否し、Claude Code はそれらをそのまま再生します。ご自身のコードから呼び出す場合は、そのブロックを取り除けばエンドポイントは問題なく動作します。
  </Accordion>

  <Accordion title="usage から reasoning_tokens が時々欠けるのはなぜですか?">
    このモデルは複数の upstream ルート経由で提供されており、そのうちの 1 つは `reasoning_tokens` や `cached_tokens` を報告しません。これは chat リクエストのおよそ 3 分の 1 で確認されています。整合性のため upstream に報告済みです。正確な推論コストの計測が必要な場合は、念頭に置いてください。
  </Accordion>

  <Accordion title="なぜ video 呼び出しはこんなに遅いのですか?">
    動画の理解には 1 回あたり 144–285 秒かかることが測定されており、これはモデル自身の処理時間です。タイムアウトを 300 秒超に設定し、必要に応じて非同期キューの利用も検討してください。
  </Accordion>
</AccordionGroup>

## 関連

* [Qwen3.8-Max プレイグラウンド](/ja/api-capabilities/qwen-3-8/chat-completions) — リクエストを直接送信します
* [Qwen3.6 series (legacy)](/ja/api-capabilities/qwen-3-6/overview) — 以前の5つのモデル
* [Qwen3.8-Max リリースノート](/en/news/qwen-3-8-max-launch) — ベンチマークと詳細な解説
* [モデル料金](/en/models) — モデル別レート、キャッシュ料金、利用可能なエンドポイント
* [チャージプロモーション](/ja/faq/recharge-promotions) — 併用可能な割引

<Info>
  このページの測定値は、2026-08-03（12:50–14:35 UTC+8）の586件の実ライブ呼び出しに基づいています。課金関連の結論は、APIから返されるusageフィールドに基づいており、請求書と行ごとの照合はしていません。チャネルの調整により、モデルおよびゲートウェイの挙動は変わる場合があります。実ライブ呼び出しを信頼できる情報源として扱ってください。
</Info>
