Agents IA
Orchestration multi-outils avec memoire long terme, sur plusieurs tours de conversation.
Un agent maintient l'etat d'une conversation cote serveur : il appelle le modele, execute automatiquement ses outils integres (memoire), et ne redescend vers vous que lorsqu'une reponse finale existe ou qu'un outil que vous avez defini doit etre execute.
Creer une conversation
POST /v1/agents/conversations{
"model": null,
"routing_strategy": "auto",
"system_prompt": "Tu es un assistant utile et concis.",
"tools": []
}tools declare vos propres outils personnalises (voir plus bas) — les outils integres (memoire, generation video) sont toujours disponibles sans avoir a les declarer.
Envoyer un message
POST /v1/agents/conversations/{id}/messages{ "content": "Retiens que mon fournisseur prefere est Anthropic." }La reponse est toujours l'etat complet de la conversation :
{
"id": "1a63c0df-...",
"model": null,
"routing_strategy": "auto",
"status": "idle",
"messages": [
{ "id": "...", "role": "user", "content": "Retiens que mon fournisseur prefere est Anthropic.", "tool_calls": null, "tool_call_id": null },
{ "id": "...", "role": "assistant", "content": "", "tool_calls": [{ "id": "call_1", "name": "remember", "arguments": { "content": "Fournisseur prefere : Anthropic" } }], "tool_call_id": null },
{ "id": "...", "role": "tool", "content": "Memoire enregistree (id=...)", "tool_call_id": "call_1" },
{ "id": "...", "role": "assistant", "content": "C'est note !", "tool_calls": null, "tool_call_id": null }
],
"created_at": "...",
"updated_at": "..."
}status vaut idle (pret pour un nouveau message), requires_action (un de vos outils personnalises attend un resultat) ou generating_media (une generation video est en cours, voir plus bas).
Outils integres
search_memory— recherche dans la memoire long terme de l'agent (parametrequery, optionneltop_k)remember— enregistre une information (parametrecontent)generate_video— lance une generation video (mêmes parametres quePOST /v1/video/generate:prompt,duration_seconds,narration_text,scenes— voir le guide Video)
Ces trois outils sont executes automatiquement par le serveur — vous n'avez rien a faire, la conversation continue seule (sauf pour generate_video, qui passe la conversation en generating_media le temps que le job se termine ; sondez GET /v1/agents/conversations/{id} jusqu'a idle).
Outils personnalises
Declarez vos propres outils a la creation de la conversation (tools). Quand le modele les appelle, le statut passe a requires_action et la conversation s'arrete — c'est a vous d'executer l'outil et de renvoyer le resultat :
POST /v1/agents/conversations/{id}/tool-outputs{
"outputs": [
{ "tool_call_id": "call_2", "output": "18C, nuageux" }
]
}POST .../messages renvoie 409 conflict si la conversation n'est pas idle — attendez qu'un outil en attente soit resolu avant d'envoyer un nouveau message.Lister / consulter
GET /v1/agents/conversations # liste (resume, sans les messages)
GET /v1/agents/conversations/{id} # detail complet