PopNowDocs API
Chat et API compatibles
Contenu principal

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 OpenAIhttps://api.popnow.ai/v1 (Chat Completions, Responses, liste des modèles)
URL de base Anthropichttps://api.popnow.ai (le SDK ajoute /v1/messages)
GeminiPOST 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èlepublisher/model/chat, par exemple anthropic/claude-haiku-5.5/chat. La liste complète figure ci-dessous
PrixPar token, en USD, sans minimum par requête. Les requêtes échouées ou refusées sont remboursées
Streamingstream: 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.

Python
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)
JavaScript (Node.js 18+)
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.

Python
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.

Python
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éponse X-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-Params sous la forme name=value.
  • Tout autre champ non déclaré par le modèle renvoie 400 avec code: unsupported_parameter et param indiquant 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èleID du modèleContexteEntrée par million de tokens (USD)Sortie par million de tokens (USD)Paramètres
Claude Fable 5Anthropicanthropic/claude-fable-5/chat1MSortie max. 128K$9cache $0.9écriture du cache $11$45max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools
Claude Haiku 5.5AnthropicEntrée > 100K tokens par requête: $0.5 / $2.5 · cache $0.1anthropic/claude-haiku-5.5/chat1MSortie max. 128K$0.1écriture du cache $0.1$0.5max_tokensparallel_tool_callstool_choicetools
Claude Opus 4.5Anthropicanthropic/claude-opus-4.5/chat198KSortie max. 33K$4.5cache $0.45écriture du cache $5.5$22.5max_tokensparallel_tool_callsreasoning_effortstoptemperaturetool_choicetoolstop_p
Claude Opus 4.6Anthropicanthropic/claude-opus-4.6/chat1MSortie max. 128K$5cache $0.5écriture du cache $6.25$25max_tokensparallel_tool_callsreasoning_effortstoptemperaturetool_choicetoolstop_p
Claude Opus 5Anthropicanthropic/claude-opus-5/chat1MSortie max. 128K$4.5cache $0.45écriture du cache $5.5$22.5max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools
Claude Opus 5.5Anthropicanthropic/claude-opus-5.5/chat1MSortie max. 128K$3.6cache $0.18écriture du cache $4.5$18max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools
Claude Sonnet 4.5Anthropicanthropic/claude-sonnet-4.5/chat198KSortie max. 64K$2.7cache $0.27écriture du cache $3.3$13.5max_tokensparallel_tool_callsstoptemperaturetool_choicetoolstop_ktop_p
Claude Sonnet 4.6Anthropicanthropic/claude-sonnet-4.6/chat1MSortie max. 64K$3cache $0.3écriture du cache $3.75$15max_tokensparallel_tool_callsreasoning_effortstoptemperaturetool_choicetoolstop_ktop_p
Claude Sonnet 5Anthropicanthropic/claude-sonnet-5/chat1MSortie max. 64K$1.9cache $0.19écriture du cache $2.375$9.5max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools
Claude Sonnet 5.5Anthropicanthropic/claude-sonnet-5.5/chat1MSortie max. 128K$2cache $0.2écriture du cache $2.5$10max_tokensparallel_tool_callsreasoning_effortstoptool_choicetools
DeepSeek V4.1 FlashDeepSeekdeepseek/v4.1-flash/chat1MSortie max. 384K$0.3cache $0.006$1.2max_tokensreasoning_effortresponse_formatstoptool_choicetools
DeepSeek V4 FlashDeepSeekdeepseek/v4-flash/chat1MSortie max. 66K$0.44cache $0.014$1.32max_tokensreasoning_effortresponse_formatstoptool_choicetools
DeepSeek V4 ProDeepSeekdeepseek/v4-pro/chat1MSortie max. 384K$1.32cache $0.044$3.96max_tokensparallel_tool_callsreasoning_effortresponse_formatstoptool_choicetools
Gemini 2.5 FlashGooglegoogle/gemini-2.5-flash/chat1MSortie max. 66K$0.285cache $0.0285$2.375max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p
Gemini 3.1 Pro PreviewGoogleEntrée > 200K tokens par requête: $3.8 / $17.1 · cache $0.38google/gemini-3.1-pro-preview/chat1MSortie max. 33K$1.9cache $0.19$11.4max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p
Gemini 3.5 Flash-LiteGooglegoogle/gemini-3.5-flash-lite/chat1MSortie max. 66K$0.3cache $0.03$2.5max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p
Gemini 3.7 FlashGooglegoogle/gemini-3.7-flash/chat1MSortie max. 66K$0.675cache $0.0675$3.375max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p
Gemini 3 Flash PreviewGooglegoogle/gemini-3-flash-preview/chat256KSortie max. 66K$0.45cache $0.045$2.7max_tokensreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p
GLM 5.2Z.aizai/glm-5.2/chat1MSortie max. 131K$0.98cache $0.182$3.08max_tokensreasoning_effortresponse_formatstoptemperaturetool_choicetoolstop_p
GLM 5.3Z.aizai/glm-5.3/chat1MSortie max. 131K$1.05cache $0.195$3.3max_tokensparallel_tool_callsreasoning_effortresponse_formatseedstoptemperaturetool_choicetoolstop_p
GLM 5.3 FlashZ.aizai/glm-5.3-flash/chat1MSortie max. 131K$0.1275cache $0.0255$0.425max_tokensreasoning_effortresponse_formatstoptemperaturetool_choicetoolstop_p
Grok 4.3xAIEntrée ≥ 200K tokens par requête: $2.5 / $5 · cache $0.4xai/grok-4.3/chat1MSortie max. 900K$1.25cache $0.2$2.5max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p
Grok 4.5xAIEntrée ≥ 200K tokens par requête: $4 / $12 · cache $0.6xai/grok-4.5/chat500KSortie max. 450K$2cache $0.3$6max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p
Grok 4.6xAIEntrée ≥ 200K tokens par requête: $4 / $12 · cache $1xai/grok-4.6/chat500KSortie max. 450K$2cache $0.5$6max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p
Grok 4.7xAIEntrée ≥ 200K tokens par requête: $4 / $12 · cache $1xai/grok-4.7/chat500KSortie max. 450K$2cache $0.5$6max_tokensparallel_tool_callsreasoning_effortresponse_formattemperaturetool_choicetoolstop_p
Kimi K3Moonshot AImoonshot/kimi-k3/chat1MSortie max. 1M$2.7cache $0.3$13.5max_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

  1. 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 omettez max_tokens, la sortie maximale du modèle est utilisée ; définissez-le pour limiter les réservations.
  2. 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é.
  3. 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 200 et un en-tête X-PopNow-Keepalive: 1 sont 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 corps 200 ; vérifiez donc la présence d’une clé error quand cet en-tête est présent. Le streaming évite ce cas.
  • 404 model_not_found. L’identifiant du modèle n’existe pas. L’erreur indique le modèle de chat disponible le plus proche.
  • 400 avec param: 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.
  • 400 content_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.

Sur cette page