Intents du SDK Node : commandes CLI pour les tâches courantes
Le SDK Node propose désormais des commandes Intent : des commandes CLI de haut niveau pour les tâches courantes avec Transloadit. Elles facilitent grandement l’utilisation de Transloadit pour des traitements ponctuels, sans devoir d’abord rédiger manuellement des Assembly Instructions au format JSON.
Les exemples ci-dessous utilisent le nom actuel du paquet @transloadit/node.
Le binaire CLI s’appelle toujours transloadit ; l’ancien paquet npm transloadit reste un alias
de compatibilité. Consultez la documentation du SDK Node pour l’installation et l’authentification.
L’idée d’ajouter des fonctionnalités pratiques en ligne de commande à notre SDK Node est née d’un problème concret que nous rencontrions. Pour créer des intégrations durables, les Instructions JSON et les Templates réutilisables constituent exactement le bon niveau d’abstraction. Ils sont expressifs, stables et bien adaptés aux flux de travail personnalisés en plusieurs étapes. Pour des traitements rapides en ligne de commande, ils peuvent toutefois sembler contraignants.
Dans mon quotidien, en tant que personne ayant cofondé Transloadit, j’ai constaté que je n’utilisais pas Transloadit pour convertir rapidement un fichier Markdown en PDF, alors que nous disposons d’un service très performant pour cela précisément.
J’ai donc commencé à me demander ce qu’une intégration devrait permettre de faire pour que je l’utilise. J’ai noté les commandes que je voulais utiliser, puis j’ai conçu leur implémentation à partir de là. Nous les appelons : Intents.
Les Intents font partie de la CLI de notre SDK Node et constituent une couche d’abstraction supplémentaire de haut niveau, au-dessus de nos primitives telles que les Robots, les Assemblies et les Builtin Templates.
Là où la CLI donnait auparavant un accès direct à ces primitives, la nouvelle couche Intents
s’organise autour de votre besoin ponctuel plutôt qu’autour de notre fonctionnement interne, avec
des commandes intuitives telles que
markdown pdf, markdown docx, image remove-background, image generate et image describe.
Exécuter des traitements ponctuels depuis la CLI
Si vos informations d’identification TRANSLOADIT_KEY et TRANSLOADIT_SECRET
sont disponibles dans le shell, dans un fichier .env local ou dans
~/.transloadit/credentials, vous pouvez désormais exécuter :
npx -y @transloadit/node markdown pdf --input ./README.md --print-urls
Et obtenir un tableau comme celui-ci, avec l’URL temporaire réelle de votre résultat dans la dernière colonne :
STEP NAME URL
convert README.pdf https://example.com/README.pdf
Vous pouvez ainsi utiliser Transloadit comme un outil CLI pratique pour des traitements rapides, et plus seulement comme une intégration au sein d’un back-end.
Utiliser des commandes de haut niveau plutôt que du JSON pour les tâches courantes
Les Intents couvrent les flux de travail courants avec des noms de commande courts et prévisibles. Quelques exemples :
npx -y @transloadit/node image remove-background --input ./photo.jpg --print-urls
npx -y @transloadit/node image generate --prompt "A red bicycle in a studio" --output bicycle.png
npx -y @transloadit/node image describe --input ./hero.jpg --for wordpress --output fields.json
npx -y @transloadit/node markdown docx --input ./plan.md --output plan.docx
Ou encore, pour générer une image à partir d’une image d’entrée :
npx -y @transloadit/node image generate \
--input ./person1.jpg \
--input ./person2.jpg \
--input ./background.jpg \
--prompt "Place person1.jpg feeding person2.jpg in front of background.jpg" \
--output scene.png
Pour la référence complète, consultez la référence des commandes Intent sur GitHub ou la documentation du SDK Node.
La simplicité d’utilisation comme premier principe de conception
Les Intents cherchent à proposer des valeurs par défaut utiles. Au moment de cette mise à jour,
image generate utilise google/nano-banana-2 par défaut ; vous pouvez sélectionner
explicitement une autre option prise en charge avec --model.
Exécutez npx -y @transloadit/node image generate --help pour examiner les options de la commande installée plutôt que
de considérer cet article comme un catalogue permanent de modèles.
Les modèles utilisés par défaut peuvent changer d’une version à l’autre. Pour une intégration reproductible, fixez la version du SDK dans les dépendances de votre projet et choisissez un modèle délibérément, puis validez ses résultats pour votre cas d’usage.
Pour obtenir un emplacement de sortie prévisible, spécifiez --output. Si vous
l’omettez, la CLI déduit un chemin à partir de la commande et de ses entrées ; la référence des
commandes Intent en détaille le fonctionnement. Utilisez --print-urls seul pour
obtenir des URL temporaires de résultat sans télécharger les fichiers localement.
Pour faciliter la lecture, j’utilise la forme longue --output dans cet article,
mais il existe bien sûr aussi des alias courts comme -o.
Utiliser les Intents pour les traitements rapides et le JSON pour les flux de travail personnalisés
Les Intents ne remplacent pas le modèle de plus bas niveau de Transloadit. Les Instructions JSON restent la bonne abstraction à long terme pour les pipelines de traitement multimédia intégrés. Elles permettent de créer des flux adaptés à votre cas d’usage et sont destinées à être enregistrées sous forme de Templates, puis réutilisées de nombreuses fois en production via nos SDK.
Mais si vous êtes adepte de la ligne de commande (ou si votre agent l’est) et avez un besoin ponctuel de traitement multimédia, c’est peut-être exactement ce qu’il vous faut.
Et rappelez-vous que, même si vos besoins en ligne de commande dépassent ce que proposent les
Intents, notre CLI prend toujours en charge npx -y @transloadit/node assemblies create. Vous pouvez donc à tout
moment passer à la création de vos propres pipelines de traitement multimédia.
Essayer les Intents
Pour une utilisation interactive, commencez par npx -y @transloadit/node auth login et suivez les
instructions de configuration du SDK Node. Pour l’automatisation,
utilisez une Auth Key et un Auth Secret dédiés, avec une portée adaptée, fournis par votre
gestionnaire de secrets via TRANSLOADIT_KEY et TRANSLOADIT_SECRET, en suivant
les recommandations de déploiement du SDK.
Ces informations d’identification d’API authentifient les requêtes adressées à Transloadit ; elles
sont distinctes des informations d’identification de Template utilisées pour accéder à un
fournisseur de stockage. Ne placez pas l’Auth Secret dans le code de votre application exécuté côté
client dans le navigateur ni dans le système de gestion de versions. Examinez ensuite les commandes
disponibles :
npx -y @transloadit/node --help
Si vous souhaitez aider votre agent (Cursor, Codex, Claude Code, etc.) à découvrir ces Intents et lui donner des superpouvoirs de traitement multimédia, vous pouvez aussi installer nos Skills globalement avec :
npx -y skills add https://github.com/transloadit/skills -g --all --copy
J’espère que cela vous facilitera grandement la création et la gestion de fichiers multimédias. N’hésitez pas à me le signaler dans le suivi des tickets sur GitHub s’il manque une fonctionnalité ou si l’utilisation peut être encore plus pratique.
