siati.ai docs

API reference

Responses API

POST /v1/responses, tradotta su chat completions. Per gli SDK che usano quel percorso come predefinito.

Last updated: 2026-08-18

Responses API

POST /v1/responses è in servizio. Serve a chi usa un SDK che manda il testo su quel percorso invece che su /v1/chat/completions — il pacchetto ufficiale di Laravel lo fa, e le versioni recenti della libreria Python di OpenAI lo incoraggiano.

bash
curl https://api.siati.ai/v1/responses \
  -H "Authorization: Bearer $SIATI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gemma-4-26b","input":"Riassumi in una riga: ..."}'

La risposta ha la forma della Responses API, compreso output_text per non dover scorrere output:

json
{
  "id": "resp_…",
  "object": "response",
  "status": "completed",
  "output": [{"type":"message","role":"assistant","content":[{"type":"output_text","text":"…"}]}],
  "output_text": "…",
  "usage": {"input_tokens": 19, "output_tokens": 3, "total_tokens": 22}
}

Cosa è supportato

campo note
input stringa, oppure elenco di messaggi con role e content
instructions diventa il messaggio di sistema
max_output_tokens, temperature, top_p
text.format json_object e json_schema, con lo stesso vincolo di JSON garantito
tools nella forma della Responses API, con name e parameters al primo livello
tool_choice auto, none, required, oppure {"type":"function","name":"…"}

Le chiamate a funzione escono come elementi di output con "type": "function_call", non dentro il messaggio: è la differenza che fa perdere più tempo passando da un dialetto all'altro.

Cosa non è supportato

Lo streaming. "stream": true risponde 501 con code: stream_not_implemented. Per lo streaming usate /v1/chat/completions, che invia i frammenti nel formato di OpenAI.

Lo stato lato server. Non conserviamo le conversazioni per voi: previous_response_id e store non ci sono. Lo stato è vostro, e su un servizio che si vende sul non trattenere i dati questa non è una mancanza da colmare in fretta.

Gli strumenti nostri — ricerca sul web, interprete di codice — non esistono. tools accetta solo funzioni vostre.

Non è un secondo motore

È un traduttore: la richiesta viene girata a /v1/chat/completions e la risposta riscritta. Vuol dire che non esistono due percorsi da tenere allineati, che è il modo in cui questo genere di compatibilità smette di funzionare dopo tre mesi. Se una cosa funziona su chat completions funziona qui, e viceversa.