Summarize
v0.4.0Résumé intelligent de pages web via IA
Base URL :
https://api.s33d.fr
POST /v1/summarize
Résume le contenu d'une ou plusieurs pages web en utilisant un modèle d'IA local. Extrait d'abord le contenu, puis génère un résumé structuré.
Paramètres (JSON body)
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| urls | array[string] | oui | Liste d'URLs à résumer (1 à 5) |
| lang | string | non | Langue du résumé : fr, en, es (défaut: fr) |
| length | string | non | Longueur : short (~100 mots), medium (~250), detailed (~500). Défaut: medium |
Exemple
curl -X POST https://api.s33d.fr/v1/summarize \
-H "Content-Type: application/json" \
-H "Authorization: Bearer VOTRE_CLÉ" \
-d '{
"urls": ["https://fr.wikipedia.org/wiki/Intelligence_artificielle"],
"lang": "fr",
"length": "short"
}'
Réponse
{
"results": [
{
"url": "https://fr.wikipedia.org/wiki/Intelligence_artificielle",
"title": "Intelligence artificielle — Wikipédia",
"summary": "L'IA est la science de la fabrication de systèmes...",
"error": null
}
],
"response_time_ms": 7687
}
Notes
- Le résumé est généré par un LLM local (pas d'envoi de données vers des API tierces).
- Le temps de réponse dépend de la longueur du contenu et du mode choisi (~5-15s).
- Si une URL est inaccessible, le champ
errorcontiendra le message d'erreur, les autres URLs seront traitées normalement. - Maximum 5 URLs par requête.
Exemples d'intégration
🐍 Python
import requests
resp = requests.post(
"https://api.s33d.fr/v1/summarize",
headers={"Authorization": "Bearer VOTRE_CLÉ"},
json={
"urls": ["https://example.com/article"],
"lang": "fr",
"length": "short"
}
)
for item in resp.json()["results"]:
print(item["summary"])
📦 JavaScript
const res = await fetch(
"https://api.s33d.fr/v1/summarize",
{
method: "POST",
headers: {
"Authorization": `Bearer ${KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
urls: ["https://example.com/article"],
lang: "fr"
})
}
);
const { results } = await res.json();