チャットモデル
Claude、Gemini、DeepSeek、GLM、Grok、Kimi を、お使いの OpenAI、Anthropic、Gemini の SDK から PopNow API 経由で呼び出します。API キーは 1 つ、料金はトークン単位で USD 建てです。
PopNow API では、チャットモデルも実行できます。Claude、Gemini、DeepSeek、GLM、Grok、Kimi です。お使いのコードがすでに使っているプロトコル(OpenAI の Chat Completions と Responses、Anthropic の Messages、Gemini の generateContent)で呼び出すので、ベース URL を変えるだけで公式 SDK がそのまま使えます。API の画像・動画・音声と同じ sk-popnow- キーと専用の API USD 残高を使います。初期残高は $0 で、API billing で入金します。ウェブサイトのクレジットでは支払えません。
チャットの呼び出しは同期的です。返信(またはストリーム)が同じレスポンスで返ります。ポーリングするタスクはありません。
概要
| OpenAI のベース URL | https://api.popnow.ai/v1(Chat Completions、Responses、モデル一覧) |
| Anthropic のベース URL | https://api.popnow.ai(SDK が /v1/messages を付けます) |
| Gemini | POST https://api.popnow.ai/v1beta/models/{model}:generateContent |
| キー | Authorization: Bearer sk-popnow-…。Anthropic SDK の x-api-key と Google の x-goog-api-key ヘッダーも使えます |
| モデル ID | publisher/model/chat(例: anthropic/claude-haiku-5.5/chat)。全一覧は下にあります |
| 料金 | トークン単位の USD。リクエストごとの最低額はありません。失敗したリクエストや断られたリクエストは返金されます |
| ストリーミング | すべてのプロトコルで stream: true(Gemini は :streamGenerateContent?alt=sse) |
最初のチャットリクエスト
curl https://api.popnow.ai/v1/chat/completions \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-haiku-5.5/chat",
"messages": [
{ "role": "system", "content": "You are a concise, friendly assistant." },
{ "role": "user", "content": "Suggest three names for a kite shop by the sea." }
],
"max_tokens": 512
}'返信は標準の chat.completion オブジェクトで、choices[0].message.content と usage が入っています。レスポンスヘッダー X-PopNow-Task-Id には、課金を記録したタスクの ID が入ります。
OpenAI SDK
クライアントの接続先を https://api.popnow.ai/v1 にして、PopNow のキーを渡してください。それ以外は変わりません。
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.popnow.ai/v1", api_key=os.environ["POPNOW_API_KEY"])
reply = client.chat.completions.create(
model="anthropic/claude-haiku-5.5/chat",
messages=[{"role": "user", "content": "Write a haiku about kites."}],
max_tokens=200,
)
print(reply.choices[0].message.content)import OpenAI from 'openai';
const client = new OpenAI({ baseURL: 'https://api.popnow.ai/v1', apiKey: process.env.POPNOW_API_KEY });
const reply = await client.chat.completions.create({
model: 'google/gemini-3.7-flash/chat',
messages: [{ role: 'user', content: 'Write a haiku about kites.' }],
max_tokens: 200,
});
console.log(reply.choices[0].message.content);Responses API(client.responses.create)も使えます。ステートレスな形式で、毎回会話全体を input に入れて送ります。previous_response_id は 400 を返します。
Anthropic SDK
Anthropic SDK は /v1/messages を自分で付けるので、ベース URL には /v1 を含めません。
import os
import anthropic
client = anthropic.Anthropic(base_url="https://api.popnow.ai", api_key=os.environ["POPNOW_API_KEY"])
message = client.messages.create(
model="anthropic/claude-sonnet-5.5/chat",
max_tokens=512,
messages=[{"role": "user", "content": "Explain idempotency keys in two sentences."}],
)
print(message.content[0].text)このエンドポイントでは、Claude だけでなく、どのチャットモデルも使えます。エラーは Anthropic の {"type": "error", "error": {...}} の形で返ります。
Gemini generateContent
パスに完全なモデル ID を入れてください。モデル ID にはスラッシュが含まれることがあります。
curl "https://api.popnow.ai/v1beta/models/google/gemini-3.7-flash/chat:generateContent" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{ "role": "user", "parts": [{ "text": "Name three colours of a sunset." }] }],
"generationConfig": { "maxOutputTokens": 256 }
}'ストリームで受け取るには :streamGenerateContent?alt=sse を使います。エラーは Google の {"error": {"code", "message", "status"}} の形で返ります。
ストリーミング
stream: true を設定し、Server-Sent Events を読み取ります。Chat Completions では、すべてのチャンクが chat.completion.chunk で、ストリームは data: [DONE] で終わります。OpenAI と同じく、ストリームには stream_options: { "include_usage": true } を指定しない限り usage は含まれません。指定すると、usage は最後のチャンクで届きます。そのチャンクの choices は空の配列です。
stream = client.chat.completions.create(
model="anthropic/claude-haiku-5.5/chat",
messages=[{"role": "user", "content": "Count from one to five."}],
max_tokens=100,
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")ツール、JSON 出力、パラメーター
各モデルは、受け付けるリクエストのフィールドを宣言しています。tools、tool_choice、response_format、temperature、reasoning_effort などです。モデル表の Parameters 列に並んでおり、GET /v1/models は supported_parameters で返します。
- モデルが受け付けないサンプリングの設定(
temperature、top_p、frequency_penaltyなど)は、失敗にせず取り除かれ、X-PopNow-Ignored-Paramsレスポンスヘッダーに名前が出ます。 - モデルの範囲外の値は、受け付けられる最も近い値に調整され、
X-PopNow-Adjusted-Paramsにname=valueの形で報告されます。 - モデルが宣言していないそのほかのフィールドは、
400をcode: unsupported_parameterと、該当するフィールド名を入れたparamとともに返します。たとえば、テキストだけのモデルに画像のパートを送った場合です。
モデルと料金
料金は、100 万トークンあたりの USD で、入力と出力をそれぞれ別に示しています。キャッシュされた入力は、キャッシュに対応するモデルでは安くなります。一部のモデルは、リクエストが長いコンテキストのしきい値を超えると高い料金になります。その条件はモデル名の下に示されています。
| モデル | モデル ID | コンテキスト | 入力(100万トークンあたり) (USD) | 出力(100万トークンあたり) (USD) | パラメーター |
|---|---|---|---|---|---|
| Claude Fable 5Anthropic | anthropic/claude-fable-5/chat | 1M最大出力 128K | $9キャッシュ $0.9キャッシュ書き込み $11 | $45 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| Claude Haiku 5.5Anthropic入力 > 100K トークンの場合: $0.5 / $2.5 · キャッシュ $0.1 | anthropic/claude-haiku-5.5/chat | 1M最大出力 128K | $0.1キャッシュ書き込み $0.1 | $0.5 | max_tokensparallel_tool_callstool_choicetools |
| Claude Opus 4.5Anthropic | anthropic/claude-opus-4.5/chat | 198K最大出力 33K | $4.5キャッシュ $0.45キャッシュ書き込み $5.5 | $22.5 | max_tokensparallel_tool_callsreasoning_effortstoptemperaturetool_choicetoolstop_p |
| Claude Opus 4.6Anthropic | anthropic/claude-opus-4.6/chat | 1M最大出力 128K | $5キャッシュ $0.5キャッシュ書き込み $6.25 | $25 | max_tokensparallel_tool_callsreasoning_effortstoptemperaturetool_choicetoolstop_p |
| Claude Opus 5Anthropic | anthropic/claude-opus-5/chat | 1M最大出力 128K | $4.5キャッシュ $0.45キャッシュ書き込み $5.5 | $22.5 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| Claude Opus 5.5Anthropic | anthropic/claude-opus-5.5/chat | 1M最大出力 128K | $3.6キャッシュ $0.18キャッシュ書き込み $4.5 | $18 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| Claude Sonnet 4.5Anthropic | anthropic/claude-sonnet-4.5/chat | 198K最大出力 64K | $2.7キャッシュ $0.27キャッシュ書き込み $3.3 | $13.5 | max_tokensparallel_tool_callsstoptemperaturetool_choicetoolstop_ktop_p |
| Claude Sonnet 4.6Anthropic | anthropic/claude-sonnet-4.6/chat | 1M最大出力 64K | $3キャッシュ $0.3キャッシュ書き込み $3.75 | $15 | max_tokensparallel_tool_callsreasoning_effortstoptemperaturetool_choicetoolstop_ktop_p |
| Claude Sonnet 5Anthropic | anthropic/claude-sonnet-5/chat | 1M最大出力 64K | $1.9キャッシュ $0.19キャッシュ書き込み $2.375 | $9.5 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| Claude Sonnet 5.5Anthropic | anthropic/claude-sonnet-5.5/chat | 1M最大出力 128K | $2キャッシュ $0.2キャッシュ書き込み $2.5 | $10 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| DeepSeek V4.1 FlashDeepSeek | deepseek/v4.1-flash/chat | 1M最大出力 384K | $0.3キャッシュ $0.006 | $1.2 | max_tokensreasoning_effortresponse_formatstoptool_choicetools |
| DeepSeek V4 FlashDeepSeek | deepseek/v4-flash/chat | 1M最大出力 66K | $0.44キャッシュ $0.014 | $1.32 | max_tokensreasoning_effortresponse_formatstoptool_choicetools |
| DeepSeek V4 ProDeepSeek | deepseek/v4-pro/chat | 1M最大出力 384K | $1.32キャッシュ $0.044 | $3.96 | max_tokensparallel_tool_callsreasoning_effortresponse_formatstoptool_choicetools |
| Gemini 2.5 FlashGoogle | google/gemini-2.5-flash/chat | 1M最大出力 66K | $0.285キャッシュ $0.0285 | $2.375 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| Gemini 3.1 Pro PreviewGoogle入力 > 200K トークンの場合: $3.8 / $17.1 · キャッシュ $0.38 | google/gemini-3.1-pro-preview/chat | 1M最大出力 33K | $1.9キャッシュ $0.19 | $11.4 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| Gemini 3.5 Flash-LiteGoogle | google/gemini-3.5-flash-lite/chat | 1M最大出力 66K | $0.3キャッシュ $0.03 | $2.5 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| Gemini 3.7 FlashGoogle | google/gemini-3.7-flash/chat | 1M最大出力 66K | $0.675キャッシュ $0.0675 | $3.375 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| Gemini 3 Flash PreviewGoogle | google/gemini-3-flash-preview/chat | 256K最大出力 66K | $0.45キャッシュ $0.045 | $2.7 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| GLM 5.2Z.ai | zai/glm-5.2/chat | 1M最大出力 131K | $0.98キャッシュ $0.182 | $3.08 | max_tokensreasoning_effortresponse_formatstoptemperaturetool_choicetoolstop_p |
| GLM 5.3Z.ai | zai/glm-5.3/chat | 1M最大出力 131K | $1.05キャッシュ $0.195 | $3.3 | max_tokensparallel_tool_callsreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| GLM 5.3 FlashZ.ai | zai/glm-5.3-flash/chat | 1M最大出力 131K | $0.1275キャッシュ $0.0255 | $0.425 | max_tokensreasoning_effortresponse_formatstoptemperaturetool_choicetoolstop_p |
| Grok 4.3xAI入力 ≥ 200K トークンの場合: $2.5 / $5 · キャッシュ $0.4 | xai/grok-4.3/chat | 1M最大出力 900K | $1.25キャッシュ $0.2 | $2.5 | max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p |
| Grok 4.5xAI入力 ≥ 200K トークンの場合: $4 / $12 · キャッシュ $0.6 | xai/grok-4.5/chat | 500K最大出力 450K | $2キャッシュ $0.3 | $6 | max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p |
| Grok 4.6xAI入力 ≥ 200K トークンの場合: $4 / $12 · キャッシュ $1 | xai/grok-4.6/chat | 500K最大出力 450K | $2キャッシュ $0.5 | $6 | max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p |
| Grok 4.7xAI入力 ≥ 200K トークンの場合: $4 / $12 · キャッシュ $1 | xai/grok-4.7/chat | 500K最大出力 450K | $2キャッシュ $0.5 | $6 | max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p |
| Kimi K3Moonshot AI | moonshot/kimi-k3/chat | 1M最大出力 1M | $2.7キャッシュ $0.3 | $13.5 | max_tokensreasoning_effortresponse_formatstoptool_choicetools |
同じ一覧は、料金、コンテキストの長さ、対応するパラメーターとともに API からも取得できます。
curl "https://api.popnow.ai/v1/models?modality=text" \
-H "Authorization: Bearer $POPNOW_API_KEY"チャットリクエストの課金の仕組み
- 確保。 リクエストが受け付けられた時点で、入力と
max_tokensから算出した最大の料金が残高から確保されます。max_tokensを省略すると、モデルの最大出力が使われます。確保額を小さく抑えるには、設定しておいてください。 - 課金。 返信が終わると、実際に使ったトークンの分を USD で支払います。リクエストごとの最低額はありません。確保額の残りは解放されます。
- 返金。 失敗したリクエストや、モデルが断ったリクエストは、全額が返金されます。
確保に足りない残高、または、そのリクエストが利用上限を超えてしまう場合は、モデルに何も送られる前に 402 が返ります。正確な課金額を知るには、X-PopNow-Task-Id に書かれたタスクを GET /api/v1/jobs/recordInfo で読み取ってください。costUsd は表示と会計処理に使う USD 十進数文字列です。従来のクレジットフィールドが返る場合もありますが、USD の請求額を整数のクレジットに丸めないでください。
長い返信とエラー
- 長い非ストリーミングの呼び出し。 返信に 30 秒ほどかかる場合、まず
200のステータスとX-PopNow-Keepalive: 1ヘッダーが送られ、その後 15 秒ごとに改行が送られ、最後に JSON の本文が続きます。その時点を過ぎてから失敗すると、200の本文の中に、プロトコルの通常のエラーオブジェクトが届きます。そのため、このヘッダーがあるときはerrorキーを確認してください。ストリーミングを使えば、この問題は起きません。 404のmodel_not_found。 モデル ID が存在しません。エラーには、呼び出せる最も近いチャットモデルが示されます。400でparam: model。 その ID は画像、動画、音声のモデルのものです。これらはタスクとして実行されます。400のcontent_rejected。 モデル自身のコンテンツポリシーがリクエストを断りました。課金はされません。402。 確保に足りない API USD、またはキーの利用上限があります。API の課金を参照してください。
プライバシー
リクエストは、お書きになったとおりにモデルへ送られます。PopNow が独自のシステムプロンプトを加えることはありません。各モデル自身の利用ポリシーが適用されます。メッセージの本文は、課金が確定した後には保存されません。

