Modèles de chat
Appelez Claude, Gemini, DeepSeek, GLM, Grok et Kimi via l’API PopNow avec votre SDK OpenAI, Anthropic ou Gemini habituel. Une clé API, une facturation par token en USD.
L’API PopNow propose aussi des modèles de chat : Claude, Gemini, DeepSeek, GLM, Grok et Kimi. Vous les appelez via les protocoles que votre code utilise déjà — OpenAI Chat Completions et Responses, Anthropic Messages et Gemini generateContent. Les SDK officiels fonctionnent donc en changeant l’URL de base. Ces modèles utilisent la même clé sk-popnow- et le même solde API séparé en USD que les images, la vidéo et l’audio de l’API. Il commence à $0 ; approvisionnez-le dans Facturation API. Les crédits du site ne financent pas ces appels.
Les appels de chat sont synchrones : vous recevez la réponse (ou un flux) dans le même appel. Aucune tâche à interroger.
En bref
| URL de base OpenAI | https://api.popnow.ai/v1 (Chat Completions, Responses, liste des modèles) |
| URL de base Anthropic | https://api.popnow.ai (le SDK ajoute /v1/messages) |
| Gemini | POST https://api.popnow.ai/v1beta/models/{model}:generateContent |
| Clé | Authorization: Bearer sk-popnow-… ; les en-têtes x-api-key du SDK Anthropic et x-goog-api-key de Google fonctionnent aussi |
| Identifiants de modèle | publisher/model/chat, par exemple anthropic/claude-haiku-5.5/chat. La liste complète figure ci-dessous |
| Prix | Par token, en USD, sans minimum par requête. Les requêtes échouées ou refusées sont remboursées |
| Streaming | stream: true pour chaque protocole (:streamGenerateContent?alt=sse pour Gemini) |
Votre première requête de chat
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
}'La réponse est un objet chat.completion standard contenant choices[0].message.content et usage. L’en-tête de réponse X-PopNow-Task-Id indique la tâche qui a enregistré le débit.
SDK OpenAI
Configurez le client avec https://api.popnow.ai/v1 et votre clé PopNow. Rien d’autre ne change.
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);L’API Responses (client.responses.create) fonctionne aussi, sans état : envoyez toute la conversation dans input à chaque appel. previous_response_id renvoie 400.
SDK Anthropic
Le SDK Anthropic ajoute lui-même /v1/messages : l’URL de base ne doit donc pas contenir /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)Tous les modèles de chat fonctionnent sur cet endpoint, pas seulement Claude. Les erreurs reviennent au format Anthropic {"type": "error", "error": {...}}.
Gemini generateContent
Placez l’identifiant complet du modèle dans le chemin ; il peut contenir des barres obliques.
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 }
}'Pour un flux, utilisez :streamGenerateContent?alt=sse. Les erreurs suivent le format Google {"error": {"code", "message", "status"}}.
Streaming
Définissez stream: true et lisez les événements Server-Sent Events. Avec Chat Completions, chaque fragment est un chat.completion.chunk et le flux se termine par data: [DONE]. Comme chez OpenAI, le flux ne contient pas de usage, sauf si vous le demandez avec stream_options: { "include_usage": true } ; les données d’usage arrivent alors dans un dernier fragment dont le tableau choices est vide.
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="")Outils, sortie JSON et paramètres
Chaque modèle déclare les champs de requête qu’il accepte : tools, tool_choice, response_format, temperature, reasoning_effort, etc. La colonne Parameters du tableau des modèles les liste ; GET /v1/models les renvoie dans supported_parameters.
- Un réglage d’échantillonnage non accepté par le modèle (
temperature,top_p,frequency_penalty…) est ignoré au lieu de provoquer une erreur, et signalé dans l’en-tête de réponseX-PopNow-Ignored-Params. - Une valeur hors de la plage du modèle est ramenée à la valeur acceptée la plus proche et signalée dans
X-PopNow-Adjusted-Paramssous la formename=value. - Tout autre champ non déclaré par le modèle renvoie
400aveccode: unsupported_parameteretparamindiquant le champ, par exemple une image envoyée à un modèle qui n’accepte que du texte.
Modèles et prix
Les prix sont en USD pour 1 million de tokens, séparément pour l’entrée et la sortie ; l’entrée en cache coûte moins cher sur les modèles qui proposent un cache. Certains modèles appliquent un tarif plus élevé au-delà d’un seuil de contexte long, indiqué sous leur nom.
| Modèle | ID du modèle | Contexte | Entrée par million de tokens (USD) | Sortie par million de tokens (USD) | Paramètres |
|---|---|---|---|---|---|
| Claude Fable 5Anthropic | anthropic/claude-fable-5/chat | 1MSortie max. 128K | $9cache $0.9écriture du cache $11 | $45 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| Claude Haiku 5.5AnthropicEntrée > 100K tokens par requête: $0.5 / $2.5 · cache $0.1 | anthropic/claude-haiku-5.5/chat | 1MSortie max. 128K | $0.1écriture du cache $0.1 | $0.5 | max_tokensparallel_tool_callstool_choicetools |
| Claude Opus 4.5Anthropic | anthropic/claude-opus-4.5/chat | 198KSortie max. 33K | $4.5cache $0.45écriture du cache $5.5 | $22.5 | max_tokensparallel_tool_callsreasoning_effortstoptemperaturetool_choicetoolstop_p |
| Claude Opus 4.6Anthropic | anthropic/claude-opus-4.6/chat | 1MSortie max. 128K | $5cache $0.5écriture du cache $6.25 | $25 | max_tokensparallel_tool_callsreasoning_effortstoptemperaturetool_choicetoolstop_p |
| Claude Opus 5Anthropic | anthropic/claude-opus-5/chat | 1MSortie max. 128K | $4.5cache $0.45écriture du cache $5.5 | $22.5 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| Claude Opus 5.5Anthropic | anthropic/claude-opus-5.5/chat | 1MSortie max. 128K | $3.6cache $0.18écriture du cache $4.5 | $18 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| Claude Sonnet 4.5Anthropic | anthropic/claude-sonnet-4.5/chat | 198KSortie max. 64K | $2.7cache $0.27écriture du cache $3.3 | $13.5 | max_tokensparallel_tool_callsstoptemperaturetool_choicetoolstop_ktop_p |
| Claude Sonnet 4.6Anthropic | anthropic/claude-sonnet-4.6/chat | 1MSortie max. 64K | $3cache $0.3écriture du cache $3.75 | $15 | max_tokensparallel_tool_callsreasoning_effortstoptemperaturetool_choicetoolstop_ktop_p |
| Claude Sonnet 5Anthropic | anthropic/claude-sonnet-5/chat | 1MSortie max. 64K | $1.9cache $0.19écriture du cache $2.375 | $9.5 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| Claude Sonnet 5.5Anthropic | anthropic/claude-sonnet-5.5/chat | 1MSortie max. 128K | $2cache $0.2écriture du cache $2.5 | $10 | max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools |
| DeepSeek V4.1 FlashDeepSeek | deepseek/v4.1-flash/chat | 1MSortie max. 384K | $0.3cache $0.006 | $1.2 | max_tokensreasoning_effortresponse_formatstoptool_choicetools |
| DeepSeek V4 FlashDeepSeek | deepseek/v4-flash/chat | 1MSortie max. 66K | $0.44cache $0.014 | $1.32 | max_tokensreasoning_effortresponse_formatstoptool_choicetools |
| DeepSeek V4 ProDeepSeek | deepseek/v4-pro/chat | 1MSortie max. 384K | $1.32cache $0.044 | $3.96 | max_tokensparallel_tool_callsreasoning_effortresponse_formatstoptool_choicetools |
| Gemini 2.5 FlashGoogle | google/gemini-2.5-flash/chat | 1MSortie max. 66K | $0.285cache $0.0285 | $2.375 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| Gemini 3.1 Pro PreviewGoogleEntrée > 200K tokens par requête: $3.8 / $17.1 · cache $0.38 | google/gemini-3.1-pro-preview/chat | 1MSortie max. 33K | $1.9cache $0.19 | $11.4 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| Gemini 3.5 Flash-LiteGoogle | google/gemini-3.5-flash-lite/chat | 1MSortie max. 66K | $0.3cache $0.03 | $2.5 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| Gemini 3.7 FlashGoogle | google/gemini-3.7-flash/chat | 1MSortie max. 66K | $0.675cache $0.0675 | $3.375 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| Gemini 3 Flash PreviewGoogle | google/gemini-3-flash-preview/chat | 256KSortie max. 66K | $0.45cache $0.045 | $2.7 | max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| GLM 5.2Z.ai | zai/glm-5.2/chat | 1MSortie max. 131K | $0.98cache $0.182 | $3.08 | max_tokensreasoning_effortresponse_formatstoptemperaturetool_choicetoolstop_p |
| GLM 5.3Z.ai | zai/glm-5.3/chat | 1MSortie max. 131K | $1.05cache $0.195 | $3.3 | max_tokensparallel_tool_callsreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p |
| GLM 5.3 FlashZ.ai | zai/glm-5.3-flash/chat | 1MSortie max. 131K | $0.1275cache $0.0255 | $0.425 | max_tokensreasoning_effortresponse_formatstoptemperaturetool_choicetoolstop_p |
| Grok 4.3xAIEntrée ≥ 200K tokens par requête: $2.5 / $5 · cache $0.4 | xai/grok-4.3/chat | 1MSortie max. 900K | $1.25cache $0.2 | $2.5 | max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p |
| Grok 4.5xAIEntrée ≥ 200K tokens par requête: $4 / $12 · cache $0.6 | xai/grok-4.5/chat | 500KSortie max. 450K | $2cache $0.3 | $6 | max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p |
| Grok 4.6xAIEntrée ≥ 200K tokens par requête: $4 / $12 · cache $1 | xai/grok-4.6/chat | 500KSortie max. 450K | $2cache $0.5 | $6 | max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p |
| Grok 4.7xAIEntrée ≥ 200K tokens par requête: $4 / $12 · cache $1 | xai/grok-4.7/chat | 500KSortie max. 450K | $2cache $0.5 | $6 | max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p |
| Kimi K3Moonshot AI | moonshot/kimi-k3/chat | 1MSortie max. 1M | $2.7cache $0.3 | $13.5 | max_tokensreasoning_effortresponse_formatstoptool_choicetools |
La même liste est disponible via l’API, avec les prix, la taille du contexte et les paramètres acceptés :
curl "https://api.popnow.ai/v1/models?modality=text" \
-H "Authorization: Bearer $POPNOW_API_KEY"Comment une requête de chat est facturée
- Réservation. Quand la requête est acceptée, son coût maximal est mis de côté sur votre solde, calculé à partir de l’entrée et de
max_tokens. Si vous omettezmax_tokens, la sortie maximale du modèle est utilisée ; définissez-le pour limiter les réservations. - Débit. Quand la réponse se termine, vous payez les tokens réellement consommés, en USD, sans minimum par requête. Le reste de la réservation est libéré.
- Remboursement. Une requête qui échoue ou que le modèle refuse est intégralement remboursée.
Si le solde ne couvre pas la réservation ou qu’un plafond de dépense de la clé serait dépassé, l’API renvoie 402 avant tout envoi au modèle. Pour connaître le débit exact, lisez la tâche indiquée dans X-PopNow-Task-Id avec GET /api/v1/jobs/recordInfo : costUsd est la chaîne décimale USD à afficher et à utiliser en comptabilité. Des champs de crédits historiques peuvent aussi apparaître ; n’arrondissez pas les débits USD à des crédits entiers.
Réponses longues et erreurs
- Appels longs sans streaming. Si une réponse prend plus d’une trentaine de secondes, le statut
200et un en-têteX-PopNow-Keepalive: 1sont envoyés d’abord, puis un saut de ligne toutes les 15 secondes, puis le corps JSON. Un échec survenant après cet envoi arrive sous la forme habituelle d’erreur du protocole dans le corps200; vérifiez donc la présence d’une cléerrorquand cet en-tête est présent. Le streaming évite ce cas. 404model_not_found. L’identifiant du modèle n’existe pas. L’erreur indique le modèle de chat disponible le plus proche.400avecparam: model. L’identifiant appartient à un modèle d’image, de vidéo ou d’audio ; ceux-ci s’exécutent sous forme de tâches.400content_rejected. Les règles de contenu du modèle ont entraîné le refus de la requête. Aucun débit.402. Pas assez d’USD API pour la réservation, ou un plafond de dépense de la clé. Voir Facturation API.
Confidentialité
Les requêtes sont transmises au modèle telles que vous les avez écrites ; PopNow n’ajoute aucun prompt système. Les règles d’utilisation propres à chaque modèle s’appliquent. Le texte des messages n’est pas conservé après le règlement du débit.

