GLM API: クライアントを3行で切り替え
2つの設定値を更新するだけで、既存のコードを無検閲GLM APIに数分で接続できます。このクイックスタートガイドでは、前払いクレジットを使用して標準のOpenAI互換エンドポイントを設定する方法を解説します。
前提条件: キーの取得
コードを書く前にAPI キーが必要です。このサイトのAPI キーを取得ページで、メールアドレスとパスワードでサインアップしてください。開始するには電話番号やクレジットカードは必要ありません。登録すると、7日間有効な$0.50の無料トライアルクレジットが付与されます。または、暗号通貨(USDTまたはUSDC)でチャージすることもできます。キーはサインアップ直後に表示されます。古いキーを取り消すためにいつでも再生成できるため、安全に保管してください。
このキーは当glm apiエンドポイントへのすべてのリクエストを認証します。プロンプトは学習に使用されず、キーは単一のアカウントに紐付きます。より高い処理量が必要な場合は、期限切れにならない前払いクレジットを購入できます。
ベースURLとキーの設定
OpenAIの代替として当サービスを利用するには、SDKをベースURLにポイントする必要があります。これが唯一必要なインフラストラクチャの変更です。ベースURLはhttps://api.glmapikey.com/v1です。また、サインアップ時に受け取った値を認証ヘッダーまたはSDKクライアントキーに設定する必要があります。
公式のPythonおよびNode SDKを含むほとんどのOpenAI互換クライアントでは、ベースURLの上書きが可能です。これにより、基盤となるモデルを切り替えながら既存のアプリケーションロジックを維持できます。認証エラーを避けるため、リクエスト送信前にキーが正しく設定されていることを確認してください。
最初のチャット完了リクエストを行う
テキストを生成するには/v1/chat/completionsにPOSTリクエストを送信します。当モデルはuserやassistantなどのロールを持つ標準的なメッセージ構造を受け入れます。指定する必要があるモデルIDはuncensoredです。これは、当社のGPUでホストされているオープンウェイトモデルをトリガーし、法的な成人向け利用に対してコンテンツ拒否なしで回答するようにチューニングされています。
レスポンスには生成されたテキストを含むJSONが含まれます。401エラーが発生した場合はキーを確認してください。402エラーが表示された場合は、前払いクレジットが枯渇しています。$10からチャージを開始できます。なお、このエンドポイントでは埋め込みベクトル、画像、ファインチューニングはサポートされていません。
Python SDKの使用
公式のOpenAI Pythonライブラリは当APIと直接連携します。キーと特定のベースURLを使用してクライアントを初期化します。このアプローチは、構造化JSONレスポンスが必要なバックエンドサービスやスクリプトに最適です。クライアントはシリアライズとリトライロジックを自動的に処理します。
特定のエンドポイントに確実にアクセスするために、モデル名uncensoredを指定してください。コンテキストウィンドウはプロンプトと完了の合計で最大100,000トークンをサポートします。これにより、8 MBのリクエストボディ制限内に収まる限り、切り捨てなしで大量の入力データを処理できます。
Node SDKの使用
JavaScriptおよびTypeScriptアプリケーションの場合、openai NPMパッケージは互換性があります。Pythonの例と同じベースURLとキーでクライアントを設定します。これにより、無検閲テキスト生成が必要なサーバーサイドレンダリングやAPIエンドポイントを有効化できます。正しく構成されていれば、SDKはデータを効率的にストリーミングします。
このSDKでは関数呼び出しがサポートされています。リクエストに関数スキーマを定義すると、モデルはスキーマに一致する構造化JSON出力を返します。これにより、生のテキストを解析することなく、外部データソースやアクションをアプリケーションフローに簡単に統合できます。
ストリーミングレスポンスの有効化
リクエストにstream: trueを設定して、サーバー送信イベント(SSE)を受け取ってください。これにより、生成されたテキストをユーザーに表示でき、体感レイテンシーが向上します。APIはテキストのチャンクを返すため、クライアント側で連結または逐次レンダリングする必要があります。
ストリーミングはPythonおよびNode SDKの両方でサポートされています。これは、即時フィードバックを期待するチャットインターフェースで特に有用です。各チャンクにはレスポンスの一部が含まれています。モデルは完了するかコンテキストウィンドウの制限に達するまで生成を続けます。ストリーミングで関数呼び出しを使用する場合は、クライアントが部分的なJSON構造を正しく処理することを確認してください。
制限、エラー、モデル
当APIはキーあたり1分あたり300リクエストのレート制限を適用します。これを超えると、429エラーが発生します。最大リクエストボディサイズは8 MBです。モデルの検出にはGET /v1/modelsエンドポイントを使用してください。これにはuncensoredモデルIDを含む利用可能なモデルのリストが返されます。
一般的なエラーには、無効なキーによる401と、クレジット不足による402があります。クレジットは期限切れになりませんが、無料トライアルクレジットは7日間有効です。SLAや認証は提供していません。このモデルは未成年者を含む性的コンテンツをブロックしますが、それ以外は無検閲です。これらの制限を考慮して、リトライロジックとユーザー通知を設計してください。
cURL
curl https://api.glmapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.glmapikey.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.glmapikey.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);ストリーミング
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)技術仕様
購入前に確認できるよう、API の実際の制限と機能をすべてまとめました。
| 項目 | 内容 |
|---|---|
| 形式 | OpenAI 互換:どの OpenAI SDK でも base URL とキーを変えるだけで動作 |
| 認証 | Authorization: Bearer YOUR_KEY |
| モデル ID | uncensored |
| エンドポイント | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.glmapikey.com/v1 |
| パラメータ | temperature、top_p、stop、seed、presence_penalty、frequency_penalty |
| 最大出力 | 100,000 トークンのウィンドウの残りまで。max_tokens は任意(個別の上限なし) |
| 関数呼び出し | 対応 — tools、tool_choice。応答に tool_calls(ストリーミングでも)、結果は role: tool で返送 |
| コンテキスト長 | 100,000 トークン(入力+出力) |
| ストリーミング | 対応 — SSE、最後のチャンクにトークン使用量 |
| JSON モード | response_format: {"type": "json_object"} |
| リクエストサイズ | 最大 8 MB |
| レート制限 | キーごとに毎分 300 リクエスト |
| 同時実行 | キーごとに同時 8 リクエストまで |
| レスポンスヘッダー | X-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency |
| ボーナス | $50 以上で +5%、$100 以上で +10% |
| 課金 | 前払いクレジットから実使用量で課金。エラーと拒否は無料 |
| 無料トライアル | $0.50、7 日間、カード不要 · トライアルキー: 同時2件、毎分60件。初回チャージ後に上限が8件・300件へ拡大 |
| 有効期限 | 購入クレジットは失効なし、サブスクなし |
| 料金 | 入力 100 万トークン $0.25 · 出力 100 万トークン $1.00 |
| チャージ | USDT(TRC20)または USDC(Base)、$10〜$500 の任意の整数額 |
| キー | アカウントごとに有効なキーは 1 つ。新しいキーで旧キーは無効 |
| ログイン | Google またはメール+パスワード |
| コンテンツ | 成人向けコンテンツ可。未成年者を含む性的コンテンツは拒否 |
エラーコード
エラーは固定の type を持つ JSON で返ります。失敗・拒否されたリクエストは課金されません。
| コード | タイプ | 意味 |
|---|---|---|
400 | bad_request | JSON 不正、メッセージ空、パラメータ誤り、またはコンテキスト超過 |
401 | missing_key · invalid_key · key_revoked | キーなし・誤り・新しいキーに置換済み |
402 | no_credit | 残高ゼロ — チャージすれば即再開 |
403 | content_blocked | 未成年者を含む性的コンテンツ — 拒否、課金なし |
404 | not_found | 不明なエンドポイント |
413 | request_too_large | 本文が 8 MB 超 |
429 | rate_limited · concurrency | 毎分 300 回または同時 8 件を超過 — 待って再試行 |
503 | upstream_busy | モデル混雑 — 数秒後に再試行 |
質問と回答
これは公式のGLM APIですか?
いいえ、当社は独立したサービスです。オープンウェイトの無検閲モデルをホストし、OpenAI互換のエンドポイントを提供しています。元のGLM開発者やその他の主要AIベンダーとは提携していません。
既存のOpenAIキーを使用できますか?
いいえ、当サイトのキーが必要です。ただし、クライアント設定のベースURLとキーを変更するだけで、OpenAIで使用するのと同じSDKコードを使用できます。
クレジットが枯渇するとどうなりますか?
リクエストは402エラーを返します。暗号通貨(USDTまたはUSDC)でいつでも前払いクレジットをチャージできます。クレジットは期限切れにならないため、必要な時に資金を追加できます。
キーはフォーム 1 つで手に入ります
アカウントを作成し、キーをコピーし、ベースURLを変更します。セットアップはこれだけです。