Чат-модели
Вызывайте Claude, Gemini, DeepSeek, GLM, Grok и Kimi через API PopNow с тем SDK от OpenAI, Anthropic или Gemini, который вы уже используете. Один API-ключ, цена за токен в USD.
API PopNow также запускает чат-модели: Claude, Gemini, DeepSeek, GLM, Grok и Kimi. Вы вызываете их по протоколам, которые ваш код уже понимает — OpenAI Chat Completions и Responses, Anthropic Messages и Gemini generateContent, — поэтому официальные SDK работают после смены базового URL. Они используют тот же ключ sk-popnow- и тот же отдельный баланс API в USD, что и изображения, видео и аудио через API. Начальный баланс — $0; пополните его в разделе Оплата API. Кредиты сайта не оплачивают эти вызовы.
Чат-запросы синхронные: ответ (или поток) приходит в том же HTTP-ответе. Опрашивать задачу не нужно.
Коротко
| Базовый URL OpenAI | https://api.popnow.ai/v1 (Chat Completions, Responses, список моделей) |
| Базовый URL Anthropic | https://api.popnow.ai (SDK сам добавляет /v1/messages) |
| Gemini | POST https://api.popnow.ai/v1beta/models/{model}:generateContent |
| Ключ | Authorization: Bearer sk-popnow-…; заголовки x-api-key из Anthropic SDK и x-goog-api-key из Google тоже работают |
| ID моделей | publisher/model/chat, например anthropic/claude-haiku-5.5/chat. Полный список ниже |
| Цена | За токен, в USD, без минимума за запрос. Неудачные и отклонённые запросы возвращаются |
| Стриминг | stream: true во всех протоколах (:streamGenerateContent?alt=sse для Gemini) |
Первый запрос к чат-модели
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 называет задачу, в которой записано списание.
SDK от OpenAI
Укажите клиенту базовый URL 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.
SDK от Anthropic
SDK от Anthropic сам добавляет /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 модели ставится в путь; он может содержать слэши.
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, поток не содержит usage, пока вы не запросите его через stream_options: { "include_usage": true }; тогда 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, в котором назван поле, например картинка во входных данных для модели, работающей только с текстом.
Модели и цены
Цены указаны в USD за 1 миллион токенов отдельно для входа и выхода; кешированный вход дешевле на моделях, которые его кешируют. Некоторые модели берут более высокую ставку, когда запрос переходит порог длинного контекста; он показан под названием модели.
| Модель | ID модели | Контекст | Вход за 1 млн токенов (USD) | Выход за 1 млн токенов (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. Стриминг этой проблемы избегает. 404model_not_found. Такого ID модели нет. В ошибке называется ближайшая чат-модель, которую можно вызвать.400сparam: model. ID принадлежит модели изображений, видео или аудио; они работают как задачи.400content_rejected. Собственная политика содержания модели отклонила запрос. Ничего не списывается.402. Недостаточно USD API для резерва или превышен лимит расходов ключа. См. Оплата API.
Конфиденциальность
Запросы отправляются модели в том виде, в каком вы их написали; PopNow не добавляет собственного системного промпта. Действует собственная политика использования каждой модели. Текст сообщений не хранится после завершения списания.

