Mistral Large 4 API の使い方

Mistral Large 4 APIを5分で利用:キー、初回リクエスト、reasoning_effortチャンク、画像、関数呼び出し、JSON出力、そして費用は$0.68/$2.09。

Ashley Innocent

Ashley Innocent

6 10月 2026

Mistral Large 4 API の使い方

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

Mistral Large 4は、そのオープンウェイト公開の3週間前、2026年10月6日にMistral APIで稼働を開始しました。1兆パラメータの「Le Chonk」を今すぐ試したいのであれば、APIが唯一の方法であり、現在のところ最も安価な方法でもあります。Mistralは、パブリックプレビュー期間中、入力トークン100万あたり0.68ドル、出力トークン100万あたり2.09ドルと提示しており、これは定価の1.36ドル/4.18ドルの半額です。

このガイドを読めば、約5分でゼロから最初の呼び出しを実行できる状態になり、その後、人々がつまずきやすい部分(推論チャンク、画像入力、関数呼び出し、JSON出力、費用)について説明します。Apidogでは、すべてのリクエストを保存し、リプレイできるため、Large 4と現在使用しているモデルを比較できます。

button

モデル自体について初めて知る方は、まずベンチマークやサイバー関連のヘッドラインの裏にある真実について、記事「Mistral Is Back: Le Chonk Beats GPT-6 Astra and Claude at Cyber」をお読みください。

必要なもの

項目 値
ベースURL https://api.mistral.ai/v1
認証 Authorization: Bearer $MISTRAL_API_KEY
モデルID mistral-large-4 (エイリアス mistral-large-4-0)
メインエンドポイント POST /v1/chat/completions
コンテキストウィンドウ 1Mトークン
入力タイプ テキスト、画像
Python SDK pip install mistralai
TypeScript SDK npm install @mistralai/mistralai

ステップ1:APIキーを取得する

  1. Mistral Studio(旧La Plateforme)にサインインします。
  2. API Keysを開き、新しいキーを作成します。`local-dev`や`ci-staging`など、用途がわかる名前を付けます。
  3. 一度コピーしてください。Studioでは再度表示されません。
  4. シェルでエクスポートします。
export MISTRAL_API_KEY="your-key-here"

キーはバージョン管理システムから除外してください。複数のツールにキーを組み込む場合は、APIキー管理のベストプラクティスに関するガイドで、ローテーションとスコープ設定について説明しています。

ステップ2:最初の呼び出しを行う

最も手軽な確認方法は、通常のcurlです。

curl https://api.mistral.ai/v1/chat/completions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral-large-4",
    "messages": [
      {"role": "user", "content": "ページネーションAPIでテストすべき3つのエッジケースを教えてください。"}
    ]
  }'

成功したレスポンスは、回答を含む`choices[0].message.content`と、`prompt_tokens`、`completion_tokens`、`total_tokens`を含む`usage`ブロックを返します。`401`エラーが発生した場合、キーが間違っているか、エクスポートされていません。モデルで`404`が発生する場合、通常はモデルIDのタイプミスを意味します。

Pythonでの同じ呼び出し

import os
from mistralai import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

response = client.chat.complete(
    model="mistral-large-4",
    messages=[
        {"role": "user", "content": "ページネーションAPIでテストすべき3つのエッジケースを教えてください。"}
    ],
)

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

そしてTypeScriptで

import { Mistral } from "@mistralai/mistralai";

const client = new Mistral({ apiKey: process.env.MISTRAL_API_KEY });

const response = await client.chat.complete({
  model: "mistral-large-4",
  messages: [
    { role: "user", content: "ページネーションAPIでテストすべき3つのエッジケースを教えてください。" },
  ],
});

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

ステップ3:Apidogに保存する

モデルの比較を始めると、curlコマンドを打ち込むのはすぐに面倒になります。Apidogでは:

  1. 新しいHTTPリクエストを作成します: POST https://api.mistral.ai/v1/chat/completions。
  2. 環境変数`MISTRAL_API_KEY`を追加し、ヘッダー`Authorization: Bearer {{MISTRAL_API_KEY}}`を設定します。
  3. ステップ2のJSONボディを貼り付け、「送信」をクリックします。
  4. リクエストを複製し、`model`を現在使用しているモデル(例: `mistral-medium-3-5`)に変更して、両方実行します。

これで、同じプロンプトを持つ2つの保存済みリクエストができました。Apidogは、それぞれのレスポンスボディ、ステータス、タイミング、サイズを表示するため、スクリプトを書かずに回答の品質、レイテンシ、`usage`トークン数を比較できます。`choices[0].message.content`が空ではないというレスポンス後のアサーションを追加すれば、Mistralがプレビューを更新するたびに再実行できるスモークテストが完成します。

ステップ4:推論のオン/オフを切り替える

Large 4はハイブリッドモデルです。同じモデルが高速な回答と段階的な推論の両方を処理します。これは`reasoning_effort`という1つのパラメータで制御します。

値 挙動 用途
"none" 最小限の思考、レスポンスに思考チャンクなし チャット、抽出、分類、レイテンシが重要なあらゆる用途
"high" 最終回答の前に完全な思考チャンク デバッグ、多段階計画、数学、コードレビュー
curl https://api.mistral.ai/v1/chat/completions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral-large-4",
    "messages": [
      {"role": "user", "content": "当社のAPIは、負荷がかかると空のボディで200を返します。可能性のある原因を確率の高い順にリストしてください。"}
    ],
    "reasoning_effort": "high"
  }'

これがパーサーを壊す原因となります。`reasoning_effort: "high"`の場合、`message.content`はもはや文字列ではありません。チャンクのリストになります。

したがって、`response.choices[0].message.content`は回答ではなくリストを出力します。テキストチャンクを明示的に抽出してください。

response = client.chat.complete(
    model="mistral-large-4",
    messages=[{"role": "user", "content": "なぜ200レスポンスが空のボディを持つことがありますか?"}],
    reasoning_effort="high",
)

content = response.choices[0].message.content
if isinstance(content, str):
    answer = content
else:
    answer = "".join(c.text for c in content if c.type == "text")

print(answer)

思考トークンは出力トークンとして課金されるため、`"high"`はリクエストあたりのコストが高くなります。デフォルトは`"none"`にし、必要な呼び出しでのみ`"high"`に切り替えてください。

ステップ5:画像を送信する

Large 4はネイティブなマルチモーダルモデルで、16億パラメータのビジョンエンコーダーを搭載しています。画像はテキストの隣にコンテンツの一部として渡します。

curl https://api.mistral.ai/v1/chat/completions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral-large-4",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "これは弊社のAPIエラーダッシュボードのスクリーンショットです。どのエンドポイントが最も頻繁に失敗しており、エラーコードは何ですか?"},
          {"type": "image_url", "image_url": "https://example.com/dashboard.png"}
        ]
      }
    ]
  }'

ローカルファイルの場合、代わりにbase64データURLとして`"image_url": "data:image/png;base64,<encoded>"`を送信します。Mistralは、Dense 200のビジュアルグラウンディングベンチマークでLarge 4が42%のスコアを記録し、GPT-6 Astraの41%をわずかに上回ったと報告しています。そのため、ダッシュボード、グラフ、UIの状態のスクリーンショットは適切な用途と言えます。

ステップ6:関数呼び出し

関数呼び出しは、Large 4のエージェントベンチマーク(AutomationBenchで59.9%)が役立つ場面です。ツールを記述すると、モデルがいつそれらを呼び出すかを決定し、コードが呼び出しを実行します。

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_order_status",
            "description": "注文IDで注文のステータスを検索します。",
            "parameters": {
                "type": "object",
                "properties": {
                    "order_id": {"type": "string", "description": "注文ID、例: ORD-1042"}
                },
                "required": ["order_id"],
            },
        },
    }
]

messages = [{"role": "user", "content": "注文ORD-1042はどこにありますか?"}]

response = client.chat.complete(
    model="mistral-large-4",
    messages=messages,
    tools=tools,
    tool_choice="auto",
)

tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.function.name, tool_call.function.arguments)

関数を自分で実行し、一致する`tool_call_id`とともに結果を返します。

import json

result = {"order_id": "ORD-1042", "status": "shipped", "eta": "2026-10-09"}

messages.append(response.choices[0].message)
messages.append({
    "role": "tool",
    "name": "get_order_status",
    "content": json.dumps(result),
    "tool_call_id": tool_call.id,
})

final = client.chat.complete(model="mistral-large-4", messages=messages, tools=tools)
print(final.choices[0].message.content)

ツールスキーマはプレーンなJSON Schemaです。APIがすでにOpenAPI仕様を持っている場合、各操作のリクエストスキーマを`parameters`に直接組み込むことができます。Apidogで最初に仕様を設計することで、ツール定義と実際のAPIを同期させることができます。

ステップ7:JSONを返す

機械が読み取り可能な出力が必要な場合は、`response_format`を設定します。

curl https://api.mistral.ai/v1/chat/completions \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral-large-4",
    "messages": [
      {"role": "user", "content": "GET /v1/users/42 returned 404 から、メソッド、パス、ステータスコードを抽出してください。JSONで返答してください。"}
    ],
    "response_format": {"type": "json_object"}
  }'

プロンプトと`response_format`の両方でJSONについて言及してください。厳密な形式の場合、Mistralは完全なスキーマを持つ`{"type": "json_schema", "json_schema": {...}}`もサポートしています。Apidogでは、レスポンスにJSON Schemaアサーションを追加することで、形式がずれた場合にダウンストリームサービスを壊すのではなく、明確に失敗するようにできます。

費用

利用内容 プレビュー価格 定価
入力、100万トークンあたり $0.68 $1.36
キャッシュ済み入力、100万トークンあたり $0.07 $0.14
出力、100万トークンあたり $2.09 $4.18

具体例:1日10,000回の呼び出しを行うエージェントで、各呼び出しには3,000の入力トークン(主にキャッシュされたシステムプロンプトとツール)と500の出力トークンがあるとします。

同じワークロードをGPT-6 Astra(100万トークンあたり10ドル/50ドル、キャッシュ割引前)で実行すると、1日数百万ドルかかります。Mistralはプレビュー価格がいつ終了するかを明言していないため、予算は定価を基準にしてください。

よくあるエラー

エラー 考えられる原因 解決策
401 Unauthorized キーがないか間違っている echo $MISTRAL_API_KEYとBearer プレフィックスを確認
404 / 無効なモデル モデルIDのタイプミス mistral-large-4を正確に使用
422 Unprocessable Entity 不正なボディ、しばしばtoolsスキーマが悪い 各ツールのparameters内のJSONスキーマを検証
429 Too Many Requests ワークスペースティアのレート制限 バックオフして再試行するか、Studioで制限を上げる
回答がリストとして表示される reasoning_effort: "high"がチャンクを返す textチャンクを抽出する(ステップ4)

よくある質問

Mistral Large 4はOpenAI互換ですか? リクエストの形式は非常に似ています。`model`、`messages`、`tools`、`tool_choice`、`response_format`はすべて期待通りに動作します。安全のためにMistral SDKまたはプレーンなHTTPを使用してください。推論出力はMistral独自のチャンク形式を使用します。

いつローカルで実行できますか? Mistralによると、ウェイトは2026年10月末までにリリースされる予定です。合計1.05兆のパラメータを持つため、マルチGPUサーバーハードウェアが必要です。それまでの間、より小型のモデルについては、当社の「Mistral 3をローカルで実行する」ガイドでツールについて説明しています。

プレビュー版は本番環境に十分安定していますか? まだです。このモデルはパブリックプレビューとされており、ウェイトリリース前に変更される可能性があります。テストを固定し、Mistralがモデルを更新するたびに再実行し、フォールバックモデルを設定しておいてください。

既存のMistralコードでLarge 4を使用できますか? はい。同じベースURL、同じ認証、同じSDKを使用できます。`model`文字列を`mistral-large-4`に変更してください。Medium 3.5から移行する場合は、引き継がれる部分について「Mistral Medium 3.5 APIガイド」を参照してください。

まとめ

5分あれば動作する呼び出しができます。次の1時間は、実際のプロンプトをLarge 4と現在のモデルで並行して実行することに費やすのが良いでしょう。Apidogに両方のリクエストを保存し、ステータスとレスポンスの形式にアサーションを追加すれば、プレビュー価格が半額のうちに、Le Chonkがあなたのスタックに加わる価値があるかどうかを1日以内に判断できるでしょう。

button

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる