← Documentation API Reference

Quickstart AISIA — 5 minutes

Objectif : envoyer votre première requête IA via AISIA en 5 étapes.

---

Étape 1 — Obtenir un token

# Créer un compte
curl -X POST https://aisia.fr/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email": "vous@exemple.com", "password": "VotreMotDePasse123!"}'

Se connecter

curl -X POST https://aisia.fr/auth/login \ -H "Content-Type: application/json" \ -d '{"email": "vous@exemple.com", "password": "VotreMotDePasse123!"}'

Réponse :

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer"
}

Conservez le access_token pour les étapes suivantes.

---

Étape 2 — Première requête (curl)

export TOKEN="eyJhbGciOiJIUzI1NiIs..."

curl -X POST https://aisia.fr/v1/invoke \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "input": { "prompt": "Explique-moi le machine learning en 3 phrases." }, "max_tokens": 200 }'

AISIA route automatiquement votre requête vers le meilleur modèle disponible (local ou cloud) via l'algorithme bandit UCB1.

---

Étape 3 — Python

import requests

BASE = "https://aisia.fr" TOKEN = "eyJhbGciOiJIUzI1NiIs..."

headers = { "Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json", }

Requête simple

response = requests.post(f"{BASE}/v1/invoke", headers=headers, json={ "input": {"prompt": "Écris un haiku sur l'intelligence artificielle."}, "max_tokens": 100, })

data = response.json() print(data["output"]["text"]) print(f"Provider: {data['provider_id']} — {data['latency_ms']}ms")

---

Étape 4 — JavaScript (fetch)

const BASE = "https://aisia.fr";
const TOKEN = "eyJhbGciOiJIUzI1NiIs...";

const response = await fetch(${BASE}/v1/invoke, { method: "POST", headers: { "Authorization": Bearer ${TOKEN}, "Content-Type": "application/json", }, body: JSON.stringify({ input: { prompt: "Quel est le sens de la vie ?" }, max_tokens: 150, }), });

const data = await response.json(); console.log(data.output.text); console.log(Provider: ${data.provider_id} — ${data.latency_ms}ms);

---

Étape 5 — Streaming (SSE)

curl -N -X POST https://aisia.fr/v1/invoke/stream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"input": {"prompt": "Raconte une histoire courte."}, "max_tokens": 300}'

Les tokens arrivent en temps réel via Server-Sent Events.

---

Fonctionnalités avancées

Forcer un provider spécifique

{
  "input": {
    "prompt": "Hello world",
    "routing_hints": {"preferred_provider": "groq"}
  }
}

Forcer le mode local uniquement

{
  "input": {
    "prompt": "Bonjour",
    "routing_hints": {"local_only": true}
  }
}

Lister les modèles disponibles

# Providers cloud (pas d'auth requise)
curl https://aisia.fr/v1/providers

Modèles locaux (pas d'auth requise)

curl https://aisia.fr/v1/local-models

Tous les modèles combinés (auth requise)

curl -H "Authorization: Bearer $TOKEN" https://aisia.fr/v1/models

---

Endpoints clés

EndpointMéthodeDescription
/v1/invokePOSTRequête synchrone
/v1/invoke/streamPOSTRequête streaming (SSE)
/v1/providersGETListe des providers cloud
/v1/local-modelsGETListe des modèles locaux
/v1/modelsGETTous les modèles
/healthGETSanté du service
/docsGETDocumentation OpenAPI (Swagger)
---

Ressources