Par capacité

Chat

Choisissez un modèle, copiez la requête, lisez la réponse. Tous les modèles de chat acceptent la même requête de style OpenAI.

#1. Choisir un modèle

gpt-6-astra$1.00 en entrée · $5.00 en sortie / 1MLimites et état

5 modèles en ligne pour cet usage. En changer modifie le code ci-dessous.

#2. Copier la requête

Remplacez YOUR_API_KEY par votre clé, puis exécutez la requête. Les options affichées sont celles que ce modèle accepte.

POSThttps://www.aisplice.store/v1/chat/completionsBearer API keyRéponse directe
API_KEY="${API_KEY:-YOUR_API_KEY}"

curl --fail-with-body -sS https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "GPT-6 Astra",
  "messages": [
    {
      "role": "user",
      "content": "Say hello."
    }
  ],
  "stream": false
}'

Tous les paramètres

Tous les champs acceptés par ce modèle, avec les valeurs autorisées.

model
stringobligatoire

Identifiant exact du modèle pour cette requête.

messages
arrayfacultatif

Required on /v1/chat/completions.

input
string|arrayfacultatif

Required on /v1/responses.

Cycle de la réponse

Exemple de réponse réussie pour cet endpoint.

Réponse
{
  "id": "chatcmpl_xxx",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Hello!"
      }
    }
  ]
}

Tous les champs : /v1/chat/completions dans la référence API →

#3. Obtenir le résultat

Une réponse 200 contient le texte dans choices[0].message.content. Ajoutez "stream": true pour le recevoir au fil de sa rédaction.

#En cas de problème

  • 400 avec un nom de champ : cette option n'est pas acceptée par ce modèle ; utilisez les valeurs listées à l'étape 2.
  • 402 : le solde ne couvre pas cette requête ; rechargez dans Portefeuille, puis réessayez.
  • 429 : ralentissez et réessayez après le nombre de secondes indiqué par Retry-After.
  • 503 model_not_found : le nom du modèle est incorrect ou le modèle est hors ligne ; choisissez-en un à l'étape 1.

Rechercher une autre erreur →

StreamingAfficher la réponse pendant sa rédaction.

#Fonctionnement

Définissez stream:true et la passerelle relaie les Server-Sent Events exactement comme OpenAI les émet : une trame data: par delta, terminée par data: [DONE]. Tout client SSE comme les SDK officiels les consomment sans modification.

#Exécuter

terminal — live
curl -N https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "stream": true,
    "messages": [
      {
        "role": "user",
        "content": "Write a haiku about the sea."
      }
    ]
  }'
streaming.py
from openai import OpenAI

client = OpenAI(base_url="https://www.aisplice.store/v1", api_key="sk-YOUR_KEY")

stream = client.chat.completions.create(
    model="gpt-5.6-luna",
    stream=True,
    messages=[{"role": "user", "content": "Write a haiku about the sea."}],
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

#Facturation partielle

Ne payez que ce qui a été diffusé

Si un client se déconnecte en plein stream, la passerelle enregistre l'utilisation partielle réellement transmise — vous ne payez que ce qui a été livré.
Appel d'outilsLaisser le modèle appeler vos propres fonctions.

#Déclarer les outils

Envoyez le tableau tools standard d'OpenAI. La passerelle le transmet à chaque modèle compatible avec les outils — OpenAI, Claude, Gemini, DeepSeek — et normalise la réponse en tool_calls. Les deltas d'appels d'outils en streaming sont pris en charge.

tools.sh
curl https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [{"role":"user","content":"Weather in Tokyo?"}],
    "tools": [{
      "type": "function",
      "function": {
        "name": "get_weather",
        "parameters": {
          "type": "object",
          "properties": {"city": {"type": "string"}},
          "required": ["city"]
        }
      }
    }]
  }'

#Gérer tool_calls

Lorsque le modèle décide d'appeler un outil, le choix arrive avec finish_reason:"tool_calls" et une chaîne arguments que votre code parse et exécute.

response.json
{
  "choices": [{
    "finish_reason": "tool_calls",
    "message": {
      "role": "assistant",
      "tool_calls": [{
        "id": "call_abc123",
        "type": "function",
        "function": {
          "name": "get_weather",
          "arguments": "{\"city\": \"Tokyo\"}"
        }
      }]
    }
  }]
}

#Renvoyer les résultats

Ajoutez le tour de l'assistant et un message role:"tool" par appel (associé par tool_call_id), puis relancez la requête — le modèle intègre le résultat dans sa réponse finale.

round-trip.sh
curl https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [
      {"role":"user","content":"Weather in Tokyo?"},
      {"role":"assistant","tool_calls":[{"id":"call_abc123","type":"function",
        "function":{"name":"get_weather","arguments":"{\"city\":\"Tokyo\"}"}}]},
      {"role":"tool","tool_call_id":"call_abc123","content":"{\"temp_c\": 22, \"sky\": \"clear\"}"}
    ]
  }'
Entrée d'imageEnvoyer des images en plus du texte.

#Envoyer une image

Les modèles de chat dotés de vision acceptent un tableau content mêlant parties text et parties image_url. Utilisez une URL publique ou une data URL base64 intégrée — le champ est le même dans les deux cas.

vision.sh
curl https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "What is in this image?"},
        {"type": "image_url", "image_url": {"url": "https://example.com/cat.png"}}
      ]
    }]
  }'

#Images en Base64

Pour les fichiers locaux, intégrez une data URL : "url": "data:image/png;base64,<bytes>". Les tokens d'image sont facturés comme des tokens d'entrée ; la taille maximale et le nombre d'images par requête dépendent du fournisseur — réduisez la résolution avant l'envoi pour économiser.

base64.py
import base64
from openai import OpenAI

client = OpenAI(base_url="https://www.aisplice.store/v1", api_key="sk-YOUR_KEY")
b64 = base64.b64encode(open("photo.png", "rb").read()).decode()

resp = client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": [
        {"type": "text", "text": "Describe this photo."},
        {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{b64}"}},
    ]}],
)
print(resp.choices[0].message.content)

Toujours bloqué ?

Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.