SDK Node.js
Nous proposons un kit de développement logiciel complet pour Node.js, afin de faciliter la communication avec la REST API de Transloadit depuis vos applications Node.
Installation
Remarque : cette documentation couvre le SDK Node v4 (ESM, Node.js 20+). Pour la documentation historique, consultez v3 ou v2. Pour les détails de mise à niveau, lisez le guide de migration v3 → v4.
Utilisez @transloadit/node comme nom de paquet. L’ancien nom de paquet npm transloadit est
conservé comme alias pour assurer la rétrocompatibilité.
Dans votre projet, tapez :
yarn add @transloadit/node
ou
npm install --save @transloadit/node
CLI
Ce paquet est livré avec une CLI complète :
export TRANSLOADIT_KEY="YOUR_TRANSLOADIT_KEY"
export TRANSLOADIT_SECRET="YOUR_TRANSLOADIT_SECRET"
npx -y @transloadit/node --help
Le binaire de la CLI s’appelle toujours transloadit, les exemples de commandes peuvent donc utiliser
npx transloadit ....
Commandes Intent
Pour les tâches ponctuelles rapides, la CLI propose aussi des commandes Intent de haut niveau. Elles encapsulent des flux de travail Transloadit courants derrière des sous-commandes faciles à deviner, afin que vous n’ayez pas à commencer par des Assembly Instructions en JSON pour chaque tâche.
Par exemple :
export TRANSLOADIT_KEY="YOUR_TRANSLOADIT_KEY"
export TRANSLOADIT_SECRET="YOUR_TRANSLOADIT_SECRET"
npx -y transloadit markdown pdf --input ./README.md --print-urls
Autres exemples :
npx -y transloadit image remove-background --input ./photo.jpg --print-urlsnpx -y transloadit image generate --prompt "A red bicycle in a studio" --output bicycle.pngnpx -y transloadit 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.pngnpx -y transloadit image describe --input ./hero.jpg --for wordpress --output fields.json
image generate utilise désormais google/nano-banana-2 par défaut, y compris pour les exécutions guidées par une entrée.
Si vous omettez --output, la CLI écrit à côté du fichier local fourni en entrée lorsqu’il est unique et
que c’est possible. Sinon, elle se rabat sur le répertoire de travail courant. Utilisez --print-urls seul
lorsque vous souhaitez obtenir des URL de résultats temporaires sans rien télécharger localement.
Nous avons également mis à jour le dépôt public de skills Transloadit pour utiliser le même flux de génération d’images basé sur les Intents.
Pour la référence complète des commandes, consultez la référence des commandes Intent et le README du paquet.
Projets CommonJS
Le SDK est uniquement ESM. Si vous utilisez CommonJS, employez un import dynamique :
async function getClient() {
const { Transloadit } = await import('@transloadit/node')
return new Transloadit({
authKey: process.env.TRANSLOADIT_KEY,
authSecret: process.env.TRANSLOADIT_SECRET,
})
}
Utilisation
Le code suivant téléverse une image et la redimensionne en miniature :
import { ApiError, Transloadit } from '@transloadit/node'
const transloadit = new Transloadit({
authKey: 'YOUR_TRANSLOADIT_KEY',
authSecret: 'YOUR_TRANSLOADIT_SECRET',
})
try {
const options = {
files: {
file1: '/PATH/TO/FILE.jpg',
},
params: {
steps: {
// You can have many Steps. In this case we will just resize any inputs (:original)
resize: {
use: ':original',
robot: '/image/resize',
result: true,
width: 75,
height: 75,
},
},
// OR if you already created a template, you can use it instead of "steps":
// template_id: 'YOUR_TEMPLATE_ID',
},
waitForCompletion: true, // Wait for the Assembly (job) to finish executing before returning
}
const status = await transloadit.createAssembly(options)
if (status.results.resize) {
console.log('✅ Success - Your resized image:', status.results.resize[0].ssl_url)
} else {
console.log("❌ The Assembly didn't produce any output. Make sure you used a valid image file")
}
} catch (err) {
console.error('❌ Unable to process Assembly.', err)
if (err instanceof ApiError && err.assemblyId) {
console.error(`💡 More info: https://api2.transloadit.com/assemblies/${err.assemblyId}`)
}
}
Vous trouverez les détails de vos Assemblies exécutées ici.
Exemples
- Téléverser et redimensionner une image
- Téléverser une image et la convertir en WebP
- Rastériser un SVG en PNG
- Recadrer un visage dans une image et télécharger le résultat
- Exemple de nouvelle tentative
- Calculer les coûts totaux (utilisation en GB)
- CRUD des Templates
- CRUD des informations d’identification de Template
Pour d’autres exemples entièrement fonctionnels, consultez
examples/.
Documentation
Consultez GitHub pour la documentation complète et le guide de migration pour les détails de la mise à niveau v3 → v4.