DEV Community

Cover image for GLM-5.3 API の使い方
Akira
Akira

Posted on Originally published at apidog.com

GLM-5.3 API の使い方

Zhipu AIは国際的にはZ.aiとして展開する中国の研究機関で、2026年8月14日にGLM-5.3をリリースしました。Zhipuの社内評価では、GLM-5.2と比べてコーディング能力が50%向上し、Terminal-Bench 3.0は4.6から28.3へ上昇しています。BigGoの発表レポートによると、Zhipuはコーディングおよびエージェント能力を「Claude Fable 5に匹敵する」と評価しています。オープンウェイトは約2週間後に公開予定です。全機能とベンチマークはGLM-5.3とは何かを参照してください。本記事では、APIキーの取得、cURLによる初回リクエスト、OpenAI SDKを使ったPython/Node.js実装、ストリーミング、主要パラメーター、そしてApidogでのリクエスト検証を解説します。Z.ai APIはOpenAI互換のため、既存のOpenAI形式の実装をほぼそのまま移植できます。なお、GLM-5.3はリリース直後であり、ドキュメントは更新される可能性があります。以下では公式ドキュメントで確認できた内容と、GLM-5ファミリーの慣例に基づく注意点を分けて扱います。

Apidogを今すぐ試す

TL;DR(要するに)

  • GLM-5.3は2026年8月14日にリリースされました。Zhipuの社内評価では、GLM-5.2比でコーディング能力が50%向上し、Terminal-Bench 3.0は4.6から28.3へ上昇しています。
  • 国際版のチャット補完エンドポイントは POST https://api.z.ai/api/paas/v4/chat/completions、中国本土版は POST https://open.bigmodel.cn/api/paas/v4/chat/completions です。
  • 認証は Authorization: Bearer $GLM_API_KEY を使用します。
  • APIはOpenAI互換です。OpenAI SDKの base_url または baseURL を変更すれば、PythonとNode.jsの既存実装を流用できます。
  • 執筆時点のGLM-5ドキュメントにはモデルIDとして glm-5 が記載されています。一方、料金ページには glm-5.2glm-5.1 が個別モデルとして掲載されています。本番利用前に glm-5.3 が利用可能か確認してください。
  • 5.3固有のAPI料金はリリース時点で未公開です。公式料金ページを確認してください。
  • 実装前にApidogでリクエストを固定し、地域・モデルID・thinking の有無を環境変数と保存済みリクエストで管理すると効率的です。

GLM-5.3が重要な理由

GLM-5.3ではベースモデルは変更されておらず、GLM-5に対する大規模な後学習による改善とされています。Zhipuの評価では、Terminal-Bench 3.0は4.6から28.3へ、SWE-MarathonはGLM-5.2に対してほぼ2倍に上昇しました。

ただし、コーディング能力50%向上や各種ベンチマークの一部はベンダー自身による評価です。第三者による再現結果が出るまでは、実装判断の根拠ではなく検証対象として扱うのが安全です。

Z.aiのドキュメントによると、GLM-5ファミリーは合計7440億パラメータのMixture of Experts(MoE)設計で、フォワードパスごとに約400億パラメータがアクティブになります。コンテキストウィンドウは20万トークンです。これらはGLM-5ファミリーの仕様であり、GLM-5.3固有の主張ではありません。

API利用者にとって重要なのは、将来的なセルフホスティングとの比較基準を今から作れる点です。Pandailyのローンチ報道によると、Zhipuは2026年8月28日頃にオープンウェイトを公開すると述べています。まずホスト型APIで実プロンプトの応答、レイテンシ、トークン使用量を保存しておけば、後でセルフホスト環境を比較する際の回帰テストに使えます。詳細はGLM-5.3セルフホスティング準備ガイドを参照してください。

APIキーの取得

Zhipuのプラットフォームは地域ごとに分かれています。利用する地域に合わせて選択してください。

Z.ai(国際版)

z.aiでサインアップし、APIコンソールからキーを作成します。ドキュメントはdocs.z.aiにあります。

国際版のベースURL:

https://api.z.ai/api/paas/v4
Enter fullscreen mode Exit fullscreen mode

Bigmodel.cn(中国本土版)

中国本土向けのプラットフォームはopen.bigmodel.cnです。認証方式とリクエスト形式は同じですが、ホストと課金体系は異なります。

中国本土版のベースURL:

https://open.bigmodel.cn/api/paas/v4
Enter fullscreen mode Exit fullscreen mode

APIキーはコードに直接書かず、環境変数として設定します。

export GLM_API_KEY="your-key-from-the-console"
Enter fullscreen mode Exit fullscreen mode

.env を使う場合も、キーをリポジトリへコミットしないでください。

# .env
GLM_API_KEY=your-key-from-the-console
Enter fullscreen mode Exit fullscreen mode

エンドポイントと認証

執筆時点でGLM-5ドキュメントと照合したチャット補完エンドポイントは次のとおりです。

国際版

POST https://api.z.ai/api/paas/v4/chat/completions
Enter fullscreen mode Exit fullscreen mode

中国本土版

POST https://open.bigmodel.cn/api/paas/v4/chat/completions
Enter fullscreen mode Exit fullscreen mode

認証にはBearerトークンを使います。

Authorization: Bearer $GLM_API_KEY
Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode

リクエストはOpenAI形式です。

{
  "model": "glm-5.3",
  "messages": [
    {
      "role": "user",
      "content": "こんにちは"
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

レスポンスも choicesmessagefinish_reasonusage を含むOpenAI互換形式です。既存のOpenAI SDK実装を使う場合は、モデル名とベースURLを差し替えるだけで試せます。この移植パターンはDeepSeek V4 ProのAPIと同様です。

モデルIDは設定で管理する

リリース時点では、GLM-5のドキュメントページに glm-5 がモデル文字列として記載されていました。料金ページでは glm-5.2glm-5.1 が別モデルとして掲載されているため、GLM-5.3のIDは glm-5.3 と予想できます。

ただし、モデルIDをコードへハードコードしないでください。

export GLM_MODEL="glm-5.3"
Enter fullscreen mode Exit fullscreen mode

glm-5.3 が利用できない場合は、公式ドキュメントを確認し、必要に応じて glm-5 をフォールバック候補として検証してください。

cURLで最初のリクエストを送る

まずはcURLで認証、モデルID、リクエスト形式を確認します。

curl "https://api.z.ai/api/paas/v4/chat/completions" \
  -H "Authorization: Bearer $GLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.3",
    "messages": [
      {
        "role": "system",
        "content": "You are a code reviewer. Flag issues as blocking or non-blocking."
      },
      {
        "role": "user",
        "content": "Review this shell script for safety:\n\nrm -rf $BUILD_DIR/*\ncp dist/* $DEPLOY_TARGET"
      }
    ],
    "temperature": 0.3,
    "max_tokens": 1024
  }'
Enter fullscreen mode Exit fullscreen mode

成功時は、choices[0].message.content に生成結果が返ります。usage.prompt_tokensusage.completion_tokens も記録してください。

{
  "choices": [
    {
      "message": {
        "content": "..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 0,
    "completion_tokens": 0
  }
}
Enter fullscreen mode Exit fullscreen mode

推論モードを有効にする

ドキュメントには thinking パラメーターも記載されています。

{
  "thinking": {
    "type": "enabled"
  }
}
Enter fullscreen mode Exit fullscreen mode

多段階のコーディングタスクやエージェント処理では有効化を検討できます。一方、短い抽出や分類では、余分な推論トークンと初回出力までの待ち時間を避けるため、無効状態との比較を推奨します。

Pythonクイックスタート

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

pip install --upgrade openai
Enter fullscreen mode Exit fullscreen mode

base_url をZ.aiのAPIに設定します。

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GLM_API_KEY"],
    base_url="https://api.z.ai/api/paas/v4",
)

response = client.chat.completions.create(
    model=os.getenv("GLM_MODEL", "glm-5.3"),
    messages=[
        {
            "role": "system",
            "content": "You are a code reviewer. Flag issues as blocking or non-blocking.",
        },
        {
            "role": "user",
            "content": (
                "Review this Flask route for security issues:\n\n"
                "@app.route('/user/<id>')\n"
                "def get_user(id):\n"
                "    return db.execute(f'SELECT * FROM users WHERE id = {id}')"
            ),
        },
    ],
    temperature=0.3,
    max_tokens=2048,
)

print(response.choices[0].message.content)
print("input tokens:", response.usage.prompt_tokens)
print("output tokens:", response.usage.completion_tokens)
Enter fullscreen mode Exit fullscreen mode

リリース時点ではGLM-5.3固有の料金が公開されていないため、usage の記録は必須です。少なくとも以下をログに残してください。

  • モデルID
  • 入力トークン数
  • 出力トークン数
  • レスポンス時間
  • finish_reason
  • thinking の有効・無効

Node.jsクイックスタート

openai パッケージを使う場合も、ベースURLを変更するだけです。

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.GLM_API_KEY,
  baseURL: "https://api.z.ai/api/paas/v4",
});

const response = await client.chat.completions.create({
  model: process.env.GLM_MODEL || "glm-5.3",
  messages: [
    {
      role: "system",
      content:
        "You are a terminal automation agent. Return each step as a shell command with a one-line rationale.",
    },
    {
      role: "user",
      content:
        "A Node service on port 3000 stopped responding after a deploy. Give me a diagnosis sequence.",
    },
  ],
  temperature: 0.3,
  max_tokens: 2048,
});

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

既存アプリケーションがすでにOpenAI APIを利用している場合、全面的に書き換える必要はありません。GLM用に2つ目のクライアントを作成し、タスク単位でルーティングしてください。

const glmClient = new OpenAI({
  apiKey: process.env.GLM_API_KEY,
  baseURL: "https://api.z.ai/api/paas/v4",
});

// 例: コードレビューだけGLMにルーティングする
const client = task === "code-review" ? glmClient : existingClient;
Enter fullscreen mode Exit fullscreen mode

これにより、既存モデルとGLM-5.3のA/Bテストをルーティング設定として実施できます。

ストリーミング

ストリーミングは標準の stream フラグで有効にできます。

stream = client.chat.completions.create(
    model=os.getenv("GLM_MODEL", "glm-5.3"),
    messages=[
        {
            "role": "user",
            "content": "Explain the N+1 query problem with a concrete ORM example.",
        }
    ],
    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

生HTTPで利用する場合は、リクエストボディに "stream": true を指定し、Server-Sent Events(SSE)を処理します。

{
  "model": "glm-5.3",
  "messages": [
    {
      "role": "user",
      "content": "Explain streaming APIs."
    }
  ],
  "stream": true
}
Enter fullscreen mode Exit fullscreen mode

実装時の注意点は次の2つです。

  1. トークン使用量は最後のチャンク、またはストリーム終端後に届く場合があります。コスト計算はストリーム完了後に行ってください。
  2. thinking を有効にした難しいプロンプトでは、最初のトークンまでの時間が長くなる可能性があります。UIでストリーミングを使う場合は、待機状態を明示してください。

重要なパラメーター

パラメーター タイプ 実装上の使いどころ
max_tokens integer 出力長の上限。コストとレスポンス長を制御する主要レバー。
temperature number コードレビューや抽出では 0.20.4、自由記述では 0.7 以上を検討。
thinking object {"type": "enabled"} で多段階タスク向けの推論モードを有効化。
stream boolean 単一レスポンスではなくSSEで段階的に出力を受信。
messages array systemuserassistant を使うOpenAI形式の会話履歴。

コスト管理では、まず max_tokens を適切に制限してください。必要以上に大きい値を指定すると、出力が長くなった際のコストとレイテンシが増えます。

公式料金ページによると、執筆時点でGLM-5.2は100万入力トークンあたり1.40ドル、100万出力トークンあたり4.40ドル、GLM-5は1.00ドルと3.20ドルです。GLM-5.3の価格は公式発表を確認してください。

繰り返し使用するシステムプロンプトは固定化し、キャッシュを利用しやすい構造にしてください。有料GLMモデルではキャッシュされた入力に80%から85%の割引があるとされています。コスト最適化の考え方はDeepSeekの料金値上げ事後分析も参考になります。

アプリコードを書く前にApidogでGLM-5.3をテストする

コード内でプロンプトを直接編集して実行すると、変更履歴、レスポンス比較、地域切り替え、トークン使用量の追跡が難しくなります。OpenAI互換APIであるGLM-5.3は、まずApidogでリクエストを検証してからアプリケーションへ移植すると効率的です。

1. チャット補完リクエストを作成する

新規プロジェクトで POST /chat/completions を追加します。

POST {{base_url}}/chat/completions
Enter fullscreen mode Exit fullscreen mode

ヘッダー:

Authorization: Bearer {{GLM_API_KEY}}
Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode

ボディ:

{
  "model": "{{GLM_MODEL}}",
  "messages": [
    {
      "role": "system",
      "content": "You are a code reviewer. Flag issues as blocking or non-blocking."
    },
    {
      "role": "user",
      "content": "Review this shell script for safety:\n\nrm -rf $BUILD_DIR/*\ncp dist/* $DEPLOY_TARGET"
    }
  ],
  "temperature": 0.3,
  "max_tokens": 1024
}
Enter fullscreen mode Exit fullscreen mode

2. 地域ごとの環境を分ける

次の2つの環境を作成します。

環境名 base_url
zai-international https://api.z.ai/api/paas/v4
bigmodel-mainland https://open.bigmodel.cn/api/paas/v4

各環境に以下の変数を設定します。

GLM_API_KEY=your-key
GLM_MODEL=glm-5.3
Enter fullscreen mode Exit fullscreen mode

これにより、キーをリクエストへ直接埋め込まずに、ドロップダウン操作だけで地域を切り替えられます。

3. モデルIDを変数化する

モデルIDを {{GLM_MODEL}} にしておくと、ドキュメント更新や比較テストに対応しやすくなります。

GLM_MODEL=glm-5.3
Enter fullscreen mode Exit fullscreen mode

フォールバック検証時は、環境変数だけを変更します。

GLM_MODEL=glm-5
Enter fullscreen mode Exit fullscreen mode

保存済みリクエストを個別に編集する必要はありません。

4. thinking の有効・無効を比較する

同じリクエストを複製し、一方だけで thinking を有効にします。

{
  "thinking": {
    "type": "enabled"
  }
}
Enter fullscreen mode Exit fullscreen mode

比較する項目は以下です。

  • 応答の正確性
  • 最初のトークンまでの時間
  • 総レスポンス時間
  • usage のトークン数
  • 出力の一貫性

実プロンプトごとに比較し、推論モードが必要なワークロードだけ有効化してください。

5. ストリーミングを確認する

stream を有効にしたリクエストも保存します。

{
  "model": "{{GLM_MODEL}}",
  "messages": [
    {
      "role": "user",
      "content": "Explain the N+1 query problem with a concrete ORM example."
    }
  ],
  "stream": true
}
Enter fullscreen mode Exit fullscreen mode

SSEチャンクをライブで確認し、実際のUIで許容できる初回出力時間かを判断します。

6. 良い応答をフィクスチャとして保存する

期待どおりのレスポンスが得られたら、保存してテストデータとして使います。開発中に毎回ライブAPIを呼び出さずに済むため、トークン消費を抑えられます。

さらに、保存済みリクエストをテストシナリオへつなげ、次の項目をアサーション対象にします。

  • HTTPステータス
  • finish_reason
  • レスポンススキーマ
  • 必須フィールド
  • トークン数の上限

このワークフローはGLM-5.3に限りません。APIテストを体系化する方法はQAエンジニア向けのAPIテストガイドでも解説されています。

エラー処理とレート制限

OpenAI形式のエラーオブジェクトを想定してください。

{
  "error": {
    "message": "...",
    "type": "...",
    "code": "..."
  }
}
Enter fullscreen mode Exit fullscreen mode

代表的なステータスコードは次のとおりです。

ステータス 主な原因 対応
400 不正なリクエストボディ、未対応のモデルID model、JSON形式、必須フィールドを確認する
401 APIキーの欠落・失効 環境変数とBearerヘッダーを確認する
429 レート制限 指数バックオフで再試行する
5xx 一時的なサーバー障害 再試行し、失敗をログへ記録する

429と5xxには、ジッター付き指数バックオフを実装してください。

import random
import time

def retry_with_backoff(operation, max_retries=4):
    for attempt in range(max_retries):
        try:
            return operation()
        except Exception:
            if attempt == max_retries - 1:
                raise

            delay = min(2 ** attempt, 16) + random.uniform(0, 0.5)
            time.sleep(delay)
Enter fullscreen mode Exit fullscreen mode

運用上は次の3点を守ると安全です。

  • 429と5xxは再試行対象にする
  • 400と401は即時に設定・リクエストを修正する
  • レート制限の具体的な値は推測せず、公式ドキュメントで確認する

また、モデルIDは必ず設定として管理してください。GLM-5.3の動作変更で問題が発生したとき、glm-5.2 へのロールバックをデプロイではなく設定変更で実施できます。OpenAI互換APIのデバッグ手順はGrokのAPIデバッグワークフローも参考になります。

よくある質問

GLM-5.3 APIのモデルIDは何ですか?

GLM-5.1、GLM-5.2という命名規則からは glm-5.3 が予想されます。ただし、執筆時点のモデルページには glm-5 が掲載されていました。本番で固定する前にdocs.z.aiを確認し、モデルIDは設定ファイルまたは環境変数で管理してください。

GLM-5.3 APIはOpenAI SDKで動作しますか?

はい。APIはOpenAI互換です。Pythonでは base_url、Node.jsでは baseURL に以下を指定します。

https://api.z.ai/api/paas/v4
Enter fullscreen mode Exit fullscreen mode

中国本土版を使う場合は次を指定します。

https://open.bigmodel.cn/api/paas/v4
Enter fullscreen mode Exit fullscreen mode

認証にはZ.aiまたはBigmodel.cnで作成したAPIキーを使います。

GLM-5.3 APIの費用はいくらですか?

Zhipuは2026年8月14日のリリース時点で、GLM-5.3固有の料金を公開していませんでした。公式料金ページには、GLM-5.2が100万入力トークンあたり1.40ドル、100万出力トークンあたり4.40ドルと記載されています。価格は必ず公式情報で確認してください。

GLM-5.3はClaudeやGPTと比較してどうですか?

Zhipu自身の評価では、コーディングおよびエージェント能力は「Claude Fable 5に匹敵する」とされています。CyberGymは84.5%でClaude Mythos 5およびGPT-5.6 Solをわずかに上回る一方、ExploitBenchは54.4%でフロンティアモデルには及ばないとされています。

これらはベンダー評価であるため、実際の採用判断では自分のリポジトリ、プロンプト、失敗条件で比較してください。フロンティアモデルの比較はGrok 4.6 vs GPT-5.6 vs Claude Fable 5の比較を参照してください。

GLM-5.3をAPIではなくローカルで実行できますか?

リリース時点ではまだできません。Zhipuは、2026年8月28日頃にHugging Faceの組織でオープンウェイトを公開すると述べています。

GLM-5ファミリーは7440億パラメータのMoE設計であるため、セルフホスティングはラップトップ向けではなくサーバークラスの運用を前提に検討してください。まずホスト型APIでベースラインを取得するのが実践的です。

GLM-5.3をスタックへ組み込む手順

GLM-5.3を評価する最短ルートは、アプリケーションコードを書く前にAPIリクエストを固定することです。

  1. Z.aiまたはBigmodel.cnでAPIキーを作成する
  2. cURLで認証とモデルIDを確認する
  3. OpenAI SDKのベースURLをZ.aiのURLへ変更する
  4. GLM_MODEL を環境変数で管理する
  5. 実プロンプトで thinking の有効・無効を比較する
  6. usage、レイテンシ、出力品質を記録する
  7. Apidogをダウンロードし、国際版・中国本土版の環境を分けて保存する
  8. 成功したリクエストをフィクスチャと回帰テストへ変換する

OpenAI互換であるため、難しい部分はSDK移植ではありません。モデルID、地域別エンドポイント、トークン消費、推論モードによる品質とレイテンシのトレードオフを、実プロンプトで早期に確認することが重要です。

Top comments (0)