3行でいうと

  • 最初の1回は、通常のAPI(glm-5.3 を指定)を curl か Python で呼ぶ形が、公式の Quick Start にあります。Coding Plan のキーでは、この通常の接続先は使いません。
  • コーディングの依頼は、公式の Coding Plan Quick Start に3つの例文があります。公式の「Best Practice」は、目的・文脈・制約・完了条件の4点で依頼を組む、と書いています。
  • 画像を読ませるには、Vision MCP を使います。公式の Vision MCP のページは、画像を入力欄に直接貼ると、このサーバーを通らずクライアントがモデルに直接送ることがある、と書いています(Claude Code だけは例外、という書き方に読めます。原文で確かめてください)。画像はファイルに保存して、名前かパスで指定する形です。
  • 使用量は、公式が課金のページ(Charge Type)を案内しています。5時間の枠と週の枠があります(数字は04)。
  • チャット(chat.z.ai)の操作は、公式の資料では確認できていないため、この記事では手順を書きません。

この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。運営者は GLM を入れていますが、使い心地はこの記事には書いていません。「返ってくるもの」は、公式が書いている範囲です。実際の文面や速さは、この記事では確かめていません。公式の例は要約を経由して読んでいるので、実行前に公式ページの原文と見比べてください。画面の表記は変わるので、手元の画面と照らして読んでください。

先に結論

前提:用語をそろえる

たとえ話:口頭の依頼とチケット

短い依頼(「ログインフォームを作って」)は口頭の頼みごと、4点そろえた依頼は、目的・材料・条件・完成の基準を書いたチケットです。公式の Best Practice は、依頼を4つの部分で組む形を示しています。これは僕らのたとえで、公式の表現ではありません。

場面1:APIを1回呼ぶ(curl)

前提: 05の手順2で Standard API Key を作ってあること。ターミナルを開く。

  1. キーを YOUR_API_KEY の場所に入れて、次を実行する。これは公式の Quick Start の例の写しです(要約を経由しているため、原文と見比べてください)。
curl -X POST "https://api.z.ai/api/paas/v4/chat/completions" \
-H "Content-Type: application/json" \
-H "Accept-Language: en-US,en" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
    "model": "glm-5.3",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful AI assistant."
        },
        {
            "role": "user",
            "content": "Hello, please introduce yourself."
        }
    ]
}'
  1. 返ってくるもの。 JSON が返ります。公式の HTTP のページは、応答の項目を説明しておらず、プログラムが読む場所として choices[0].message.content だけを示しています。答えの文章は、ここに入ります。

  2. よくある止まり方。

  3. 認証のエラー:キーの種類と接続先が合っているか(Coding Plan のキーを通常の接続先に使っていないか)。
  4. 公式の HTTP のページは、エラーコードの一覧を載せていません。非200の応答は失敗として扱い、指数的に間隔を空けて再試行する、という方針だけが書かれています。

ストリーミング(答えを少しずつ)。 上の本文に "stream": true を足す形が、公式の HTTP のページにあります。

curl --location 'https://api.z.ai/api/paas/v4/chat/completions' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Accept-Language: en-US,en' \
--header 'Content-Type: application/json' \
--data '{
    "model": "glm-5.3",
    "messages": [
        {"role": "user", "content": "Write a poem about spring"}
    ],
    "stream": true
}'

温度などの数値。 公式の HTTP のページの例には "temperature": 1.0 と "max_tokens": 1024 があります。一方、OpenAI SDK のページは、temperature の範囲を (0, 1)、初期値を 0.6 と書いています(02でも触れた食い違い)。どちらが GLM-5.3 に当たるかは、公式が整理していません。

場面2:Python から呼ぶ(公式のSDKとOpenAI SDK)

公式のSDK(zai-sdk)

  1. インストール(公式の表記):
pip install zai-sdk
  1. 確かめる:
import zai
print(zai.__version__)
  1. 呼ぶ(公式の例の写し):
from zai import ZaiClient

client = ZaiClient(api_key="YOUR_API_KEY")

response = client.chat.completions.create(
    model="glm-5.3",
    messages=[
        {"role": "system", "content": "You are a helpful AI assistant."},
        {"role": "user", "content": "Hello, please introduce yourself."}
    ]
)

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

返ってくるもの。 答えの文章が表示されます。バージョンは、公式の例で pip install zai-sdk==0.2.3 のように版を指定する形も出ます。同じページの Java SDK の例は 0.3.5 で、版の数字はそろっていません。入れる前に、公式のリリースで最新の版を確かめてください。

OpenAI の SDK で呼ぶ

公式の「OpenAI Python SDK」のページの内容です。

  1. pip install --upgrade 'openai>=1.0'
  2. キーを環境変数(公式は ZAI_API_KEY という名前を例にしている)に入れる。
  3. base_url を Z.AI のものに差し替える。

下は、この記事で組んだ例です(公式の記載に合わせたもの。動作は確かめていません)。

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("ZAI_API_KEY"),
    base_url="https://api.z.ai/api/paas/v4/",
)

completion = client.chat.completions.create(
    model="glm-5.3",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Write a short fairy tale."},
    ],
)
print(completion.choices[0].message.content)

推論の出力を見る。 公式のページに、extra_body={"thinking": {"type": "enabled"}} を渡し、ストリームの delta.reasoning_content(考えの経過)と delta.content(答え)を分けて読む例があります。このページの推論の節は GLM-4.6 の話として書かれているため、GLM-5.3 でそのまま当てはまるかは確認できていません。02で触れたとおり、GLM-5.3 のページは「考える機能は常にオンで、オフにできない」と書いています。

場面3:関数を呼ばせる(関数呼び出し)

公式の流れは4段階です(02)。ツール(関数名、説明、引数の形)を送る、モデルが呼び出しを返す、あなたのプログラムが実行して結果を返す、最終の答えを得る。次は、この記事で組んだ最小の例です(公式の記載に合わせたもの。動作は確かめていません)。

import json

def get_weather(location: str) -> str:
    return f"Weather in {location}: Sunny, 25C"  # ここは本物の取得に置き換える

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get weather information for a location",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {"type": "string", "description": "e.g. Beijing, Shanghai"}
            },
            "required": ["location"],
        },
    },
}]

response = client.chat.completions.create(
    model="glm-5.3",
    messages=[{"role": "user", "content": "How's the weather in Beijing today?"}],
    tools=tools,
    tool_choice="auto",
)

message = response.choices[0].message
for tool_call in message.tool_calls or []:
    if tool_call.function.name == "get_weather":
        args = json.loads(tool_call.function.arguments)
        print(get_weather(args["location"]))

場面4:Claude Code で最初の依頼をする(Coding Plan)

前提: 05の手順5〜8が終わり、claude が起動して、GLM のモデルが応答する状態。

  1. ターミナルで、作業するフォルダに移って claude を起動する。
  2. 入力欄に依頼を書いて送る。公式の Coding Plan Quick Start が示す例文は次の3つです(公式の例)。
Please create a React component containing a user login form
My API request returns a 404 error. Please help me check the code.
This function performs poorly. Please optimize it for me.
  1. 何が起きるか(公式の記載の範囲)。 公式は、自然言語でのプログラミング、デバッグと修正、最適化に使える、と書いています。ツールがファイルを読み書きするときの許可の画面は、Claude Code 側の動きで、Z.ai のページには書かれていません。05の手順8に、起動時に「Do you want to use this API key」と聞かれたら Yes を選ぶ、という公式の記載があります。
  2. 考える強さは、セッションの中で /effort で選びます。公式は、初期値が max で、これをコーディングの作業に recommended と書いています(「How to Switch Models」ページ)。強さを下げると、考える量を減らせる、と読めますが、使用量との関係は、公式が数字で書いていません。

場面5:頼み方を整える(公式の Best Practice)

公式の「Practical Usage Advice for Coding Agents」(devpack の resources)の内容を、順に並べます。ツール固有のコマンドは、このページにはありません。

  1. 依頼を4点で組む。 目的(何を作る・直す)、文脈(関係するファイル、エラー)、制約(規約、依存の制限)、完了条件(テストが通る、など)。
  2. この記事で組んだ例。 公式の例を写さず、この記事で作った文です(動作は確かめていません)。
billing/service.py の二重請求のバグを直してください。再試行のときに IntegrityError が出ます。公開APIは変えず、依存も増やさないでください。tests/test_billing.py が通り、再試行のテストが1つ増えたら完了です。
  1. 先に計画を出させる。 複雑な作業では、実装の前に、変更するファイルの一覧と手順を出させ、確認してから進める(公式の説明)。
  2. 一回限りの指示と、長く使うルールを分ける。 一時的な指示はプロンプトに、繰り返す規則(ディレクトリ構成、ビルドとテストのコマンド、コーディング規約)は、プロジェクトの設定ファイルに書く(公式の趣旨)。
  3. 最後まで回す。 実装、テストの追加、テストの実行、lint などの確認、差分の見直し(公式の5段階)。
  4. セッションを分ける。 作業ごとに別のセッション、脇道の調査は新しいセッション、長いセッションは要約や圧縮で文脈を空ける(公式の説明)。
  5. 繰り返す手順は Skills にする。 公式は PR レビュー、ログ解析、リリースノートなどを例に挙げ、安定したものは定期実行やイベントでの起動に回せる、と書いています。Skills の作り方は、このページには書かれていません。

場面6:画像を読ませる(Vision MCP)

前提: 08の手順で Vision MCP を設定済みであること(Node.js 22 以上、Coding Plan のキー)。

  1. 読ませたい画像(スクリーンショットなど)を、作業フォルダに保存する。例:demo.png。
  2. Claude Code で、ファイル名を入れて頼む。公式の使用例は次のとおりです。
What does demo.png describe?
  1. 何が起きるか。 公式は、Vision MCP が8つのツール(ui_to_artifact、extract_text_from_screenshot、diagnose_error_screenshot、understand_technical_diagram、analyze_data_visualization、ui_diff_check、image_analysis、video_analysis)を持つ、と書いています。どのツールを呼ぶかは、依頼の内容でツール側が選ぶ形と読めますが、公式がその選ばれ方を説明しているかは、確認できていません。
  2. やってはいけない形。 画像を入力欄に直接貼ると、Vision MCP を通らず、クライアントがモデルに直接送ることがある、と公式のページは書いています。Claude Code は例外、という書き方に読めますが、原文で確かめてください。
  3. 動画は、8MB 以下の MP4、MOV、M4V を、ローカルかURLで渡せる、と書かれています。

この記事の例(動作は確かめていません):

error.png のエラーの原因を説明して、直し方の案を3つ出してください。

場面7:最新の情報を調べる(Web Search/Web Reader/Zread)

前提: 08の手順で、各MCPを設定済みであること(Coding Plan のキー)。

目的 公式の使用例(短い抜き出し) ツール名
ウェブで探す 「Help me search for the latest AI technology developments」 webSearchPrime
ページを読む 「Read this docs page and summarize the parameters…」の趣旨 webReader
GitHub の公開リポジトリを読む 公式は、使う場面(ライブラリの学習、問題の調査、ソースの読解、依存の評価)を挙げる search_doc、get_repo_structure、read_file

場面8:使用量を見る

  1. 課金のページ(https://z.ai/manage-apikey/billing)の「Charge Type」を開く。公式の概要ページは、ここに、価格の種類ごとのトークン数と、ツールの呼び出し回数が出る、と書いています。
  2. 枠の進み具合は、公式のFAQが「subscription page(購読のページ)」で見る、と書いています。
  3. 5時間の枠は、使ってから5時間後に戻り、週の枠は、購入から7日ごとにリセットされます(04と同じ記載)。
  4. 枠が尽きたら、次の周期を待ちます。プラン外の API 呼び出しはできない、と FAQ にあります。

「Charge Type」と「subscription page」の画面の見た目と、メニューの階層は、公式で確認できていません。手元の画面と照らしてください。

場面9:チャット(chat.z.ai)で使う

公式の資料では、チャットの画面の操作手順、ログイン画面、無料の回数が確認できていません(05の手順10)。確認できたのは、入口ページの説明文に、ウェブサイトの作成、コードを書くこと、長い作業、すぐに答えを得ることが挙がっていることだけです。この記事は、ここに手順を作りません。

場面10:Coding Plan でのモデルの切り替え

公式の「How to Switch Models」は、Claude Code では settings.json の env を書き換える形、Cline では設定画面でモデルを選び直す形を示しています。05の手順6を参照してください。公式は、切り替えは「カスタムモデルの設定を許すツール」でだけ効く、と書いています。切り替えの前に、いまのモデルで基本の呼び出しが通ることを確かめるよう、案内されています。

最初の1時間でやる順番(この記事の案)

ここは公式の説明ではなく、この記事の案です。

分 やること 根拠となる節
0〜10 05の手順1〜3で、アカウントと、使う入口のキーを作る。キーの種類を表で確かめる 05
10〜20 通常のAPIなら場面1。Coding Plan なら05の手順5〜8 場面1、05
20〜30 公式の短い例文(場面4)を1つ送り、返事が来るか確かめる 場面4
30〜45 4点で組んだ依頼(場面5)を、小さな修正に使う。先に計画を出させる 場面5
45〜55 MCP を1つだけ足す(08)。画像か、検索か 場面6、7
55〜60 課金のページで、使用量の表示を見る 場面8

つまずき

症状 公式が書く確認点
呼べるのに答えが空に近い、または形式が違う 公式の HTTP のページは応答の項目を説明していない。API リファレンスで確かめる
画像の依頼で Vision MCP が動かない 画像を貼らずに、ファイルのパスや名前を書く。Node.js は 22 以上、Vision MCP は 0.1.2 以上(@z_ai/mcp-server@latest の利用も案内されている)
MCP のエラー「Invalid API key」 キーの写し、キーが有効か、残高、Z_AI_MODE がキーの出どころに合っているか(Vision MCP のページ)
「Connection closed」(Vision MCP) Node.js 22 以上か、node -v、npx -v、Z_AI_API_KEY が正しいか
検索が空 キーワードを変える、具体性を下げる、接続を確かめる(Web Search のページ)
ページが取れない(Web Reader) URL が届くか。サイトによっては取得を拒む、と書かれている
リポジトリが読めない(Zread) リポジトリがあるか、公開か、owner/repo の綴り、zread.ai の対応(Zread のページ)

気をつけること

出典