Le API Kantesti su OpenRouter
Usa Kantesti AI tramite l'API chat completions compatibile OpenAI di OpenRouter, con la stessa chiave OpenRouter che già usi per gli altri modelli.
Kantesti AI ha presentato domanda al programma provider di OpenRouter. I modelli qui sotto saranno attivi su OpenRouter al termine della revisione.
Modelli
| ID modello | Cosa restituisce |
|---|---|
kantesti/blood-test-v12 | Ogni risultato con intervallo di riferimento e valutazione, un'interpretazione clinica, un punteggio di salute con indicatori di rischio, una mappa corporea e l'età biologica del sangue (PhenoAge). |
kantesti/blood-test-extract | Ogni riga esattamente come stampata (nome dell'esame, risultato, unità, intervallo di riferimento) con i dati del laboratorio e del paziente. Nessuna interpretazione. |
Avvio rapido
Allega il referto al messaggio dell'utente come PDF (parte file) o come immagini delle pagine (parti image_url) e chiama il modello come qualsiasi altro modello OpenRouter.
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kantesti/blood-test-v12",
"stream": true,
"language": "it",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Interpret this blood test."},
{"type": "file", "file": {"filename": "blood_test.pdf",
"file_data": "data:application/pdf;base64,JVBERi0xLjQK..."}}
]
}]
}'
import base64
from openai import OpenAI
client = OpenAI(base_url="https://openrouter.ai/api/v1", api_key="YOUR_OPENROUTER_API_KEY")
with open("blood_test.pdf", "rb") as f:
pdf = base64.b64encode(f.read()).decode()
response = client.chat.completions.create(
model="kantesti/blood-test-v12",
messages=[{"role": "user", "content": [
{"type": "text", "text": "Interpret this blood test."},
{"type": "file", "file": {"filename": "blood_test.pdf",
"file_data": f"data:application/pdf;base64,{pdf}"}},
]}],
extra_body={"language": "it"},
timeout=600,
)
print(response.choices[0].message.content)
Input
- PDF: un referto per richiesta, fino a 20 MB, come parte di contenuto
file(data URL base64 o URL https). - Immagini: fino a 10 pagine in PNG, JPEG o WebP come parti
image_url. Non mescolare PDF e immagini. - Lingua: imposta
languagesu uno dei 100 codici supportati (predefinitoen). - JSON: imposta
response_formatsu{"type": "json_object"}per ricevere il referto strutturato invece del Markdown.
Output
La risposta è un referto Markdown (o JSON) di Kantesti AI e termina con un'avvertenza medica. I risultati hanno solo scopo informativo e non sostituiscono il parere di un medico.
Prezzi e privacy
- Un prezzo fisso per richiesta, indicato nella pagina del modello su OpenRouter.
- Nessuna conservazione dei dati: i file caricati vengono eliminati al termine della richiesta e nessun prompt, file o risultato viene archiviato.
- I tuoi dati non vengono mai usati per l'addestramento.
Tempi di risposta
Un referto richiede 1–4 minuti: la pipeline legge, verifica e interpreta ogni riga. Usa "stream": true; la connessione resta aperta con messaggi keep-alive fino all'arrivo del referto. Senza streaming, imposta un timeout del client di almeno 10 minuti.
API diretta
Ti servono trend, confronti, piani nutrizionali, DNA o salute familiare? Sono disponibili tramite l'API REST di Kantesti.