n8n avec UberLLM : modèles d'agents IA moins chers et génération de vidéos
Créez un identifiant OpenAI n8n avec votre clé UberLLM et l'URL de base https://api.uberllm.dev/v1,, utilisez-le dans un nœud de modèle de chat OpenAI avec "Use Responses API" désactivé, et choisissez n'importe quel modèle UberLLM. Pour la vidéo, appelez /v1/video/generations avec le nœud HTTP Request et interrogez jusqu'à ce que la tâche se termine.
Partie 1 : modèles de chat dans l'Agent IA
- Créez une clé sur votre page des clés et ajoutez du crédit.
- Dans n8n, allez à Credentials → Create credential → OpenAI.
- Remplissez :
- API Key : votre clé
ull_… - Base URL :
https://api.uberllm.dev/v1Laissez l'ID d'organisation vide. Enregistrez : n8n teste l'identifiant en listant les modèles, et cela devrait réussir.
- API Key : votre clé
- Dans votre workflow, ajoutez un nœud AI Agent et, comme modèle de chat, un nœud OpenAI Chat Model utilisant cet identifiant.
- Dans le nœud Modèle de chat OpenAI :
- Model : choisissez By ID et entrez
deepseek/deepseek-v4.1-flash(ou choisissez dans la liste, qui affiche maintenant les modèles d'UberLLM) - Désactivez Use Responses API. Elle est activée par défaut dans les versions récentes de n8n. UberLLM prend également en charge l'API de réponses, mais ce workflow a été testé sur les complétions de chat.
- Model : choisissez By ID et entrez
- Exécutez le workflow.
Le même identifiant fonctionne dans la Basic LLM Chain et d'autres nœuds qui acceptent un modèle de chat.
Utilisez l'Agent IA ou la Chaîne LLM de base avec le nœud Modèle de chat OpenAI, ou le nœud Requête HTTP ci-dessous. L'action "Message a model" du nœud "OpenAI" autonome appelle toujours l'API de réponses, et ses outils intégrés (recherche web, recherche de fichiers) s'exécutent uniquement sur les propres serveurs d'OpenAI.
Partie 2 : faire une vidéo avec une requête HTTP
Une vidéo prend une minute ou plus, c'est donc une tâche : la démarrer, attendre, vérifier, répéter jusqu'à ce qu'elle soit terminée.
Identifiant. Créez un identifiant Bearer Auth avec Bearer Token = votre clé ull_…. (Ou choisissez l'identifiant OpenAI de la Partie 1 sous Type d'identifiant prédéfini ; il envoie le même en-tête.)
Nœud 1, Requête HTTP (démarrer la tâche)
- Method : POST
- URL :
https://api.uberllm.dev/v1/video/generations - Authentification : Type d'identifiant générique → Bearer Auth
- Envoyer le corps : activé, JSON :
{
"model": "fal-ai/vidu/q3/text-to-video/turbo",
"prompt": "a red ball bouncing on green grass, slow motion",
"duration_seconds": 5
}
La réponse contient la tâche id, status (queued) et estimated_cost_usd.
Nœud 2, Attendre : Reprendre = Après un intervalle de temps, 10 secondes.
Nœud 3, Requête HTTP (vérifier la tâche)
- Method : GET
- URL :
https://api.uberllm.dev/v1/video/generations/{{ $('HTTP Request').item.json.id }}(utilisez le nom de votre premier nœud) - Même identifiant Bearer Auth
Nœud 4, Si : {{ $json.status }} est queued ou running → retournez au nœud Attendre. Sinon, continuez.
Nœud 5 : quand status est succeeded, le lien de la vidéo est dans results[0].url. Téléchargez-la avec une autre requête HTTP (GET, même identifiant, et sous Options → Réponse définissez Format de réponse sur Fichier) ou transmettez le lien. failed est accompagné de error.message en langage clair, et une tâche échouée ne coûte rien.
Chaque modèle ne produit que certaines longueurs et tailles. Si vous en demandez une qu'il ne produit pas, la première requête est refusée avec un message listant ce qu'il fait, avant que quoi que ce soit ne soit facturé. Les options de chaque modèle se trouvent sur sa page.
Dépannage
- Le test des identifiants échoue : L'API Base URL doit être exactement
https://api.uberllm.dev/v1; la clé ne doit pas contenir d'espaces. - 404 depuis le modèle de chat OpenAI : l'API Base URL des identifiants manque
/v1. - L'agent n'appelle jamais d'outils : choisissez un modèle de la première table ; les très petits modèles ignorent les outils.
- 400
wrong_endpoint: un modèle vidéo a été envoyé au nœud de chat, ou un modèle de chat à l'URL vidéo. - La boucle ne se termine jamais : le nœud If doit comparer
status, et le Wait doit précéder chaque vérification. - 402 crédits insuffisants : ajoutez des crédits sur la page des crédits. Une vidéo conserve ses
max_cost_usdpendant son exécution.
Continuer la lecture
- Page de référence : documentation n8n, et workflows vidéo n8n prêts à l’emploi à importer
- Créer une vidéo ou une image : chaque champ
- Tarifs de l’API vidéo