aisplice

Per funzionalità

Chat

Scegli un modello, copia la richiesta, leggi la risposta. Tutti i modelli di chat accettano la stessa richiesta in stile OpenAI.

#1. Scegli un modello

gpt-5.6-luna$0.20 input · $1.20 output / 1MLimiti e stato

5 modelli online per questa funzione. Se cambi modello, il codice qui sotto si aggiorna.

#2. Copia la richiesta

Sostituisci YOUR_API_KEY con la tua chiave, poi eseguila. Le opzioni mostrate sono quelle accettate da questo modello.

POSThttps://www.aisplice.store/v1/chat/completionsBearer API keyRisposta diretta
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-5.6 Luna",
  "messages": [
    {
      "role": "user",
      "content": "Say hello."
    }
  ],
  "stream": false
}'

Tutti i parametri

Tutti i campi accettati da questo modello, con i valori consentiti.

model
stringobbligatorio

Identificatore esatto del modello per questa richiesta.

messages
arrayfacoltativo

Required on /v1/chat/completions.

input
string|arrayfacoltativo

Required on /v1/responses.

Ciclo di vita della risposta

Esempio di risposta riuscita per questo endpoint.

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

Tutti i campi: /v1/chat/completions nel riferimento API →

#3. Ottieni il risultato

Una risposta 200 contiene il testo in choices[0].message.content. Aggiungi "stream": true per riceverlo mentre viene scritto.

#Quando qualcosa va storto

  • 400 con il nome di un campo: quell'opzione non è accettata da questo modello; usa i valori elencati al passaggio 2.
  • 402: il saldo non copre questa richiesta; ricarica in Portafoglio, poi riprova.
  • 429: rallenta e riprova dopo i secondi indicati da Retry-After.
  • 503 model_not_found: il nome del modello è errato o il modello è offline; scegline uno al passaggio 1.

Cerca qualsiasi altro errore →

StreamingMostra la risposta mentre viene scritta.

#Come funziona

Imposta stream:true e il gateway inoltra i Server-Sent Events esattamente come li emette OpenAI: un frame data: per ogni delta, chiusi da data: [DONE]. Qualsiasi client SSE o gli SDK ufficiali li consumano senza modifiche.

#Eseguilo

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="")

#Fatturazione parziale

Paghi solo ciò che è stato trasmesso

Se un client si disconnette a metà stream, il gateway registra l'utilizzo parziale effettivamente trasmesso — paghi solo ciò che è stato consegnato.
Chiamata di strumentiLascia che il modello chiami le tue funzioni.

#Dichiara gli strumenti

Invia l'array tools standard di OpenAI. Il gateway lo inoltra a ogni modello che supporta gli strumenti — OpenAI, Claude, Gemini, DeepSeek — e normalizza la risposta in tool_calls. Sono supportati i delta delle chiamate di strumenti in streaming.

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"]
        }
      }
    }]
  }'

#Gestisci tool_calls

Quando il modello decide di chiamare uno strumento, la scelta arriva con finish_reason:"tool_calls" e una stringa arguments che il tuo codice analizza ed esegue.

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

#Restituisci i risultati

Aggiungi il turno dell'assistente e un messaggio role:"tool" per ogni chiamata (abbinato tramite tool_call_id), poi invia di nuovo la richiesta — il modello integra il risultato nella risposta 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\"}"}
    ]
  }'
Input di immaginiInvia immagini insieme al testo.

#Invia un'immagine

I modelli di chat con visione accettano un array content che mescola parti di testo e parti image_url. Usa un URL pubblico o un data URL base64 inline — il campo è lo stesso in entrambi i casi.

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"}}
      ]
    }]
  }'

#Immagini Base64

Per i file locali, inserisci un data URL inline: "url": "data:image/png;base64,<bytes>". I token delle immagini sono fatturati come token di input; dimensione massima e numero di immagini per richiesta dipendono dal fornitore — riduci le immagini prima dell'invio per risparmiare.

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)

Non hai ancora risolto?

Inviaci l'ID richiesta o il messaggio di errore e verificheremo.