Node.js SDK
Wir bieten ein voll ausgestattetes Software Development Kit für Node.js, mit dem Ihre Node-Apps komfortabel mit der Transloadit REST API kommunizieren können.
Installation
Hinweis: Diese Dokumentation gilt für das Node SDK v4 (ESM, Node.js 20+). Ältere Dokumentationen finden Sie unter v3 oder v2. Details zum Upgrade finden Sie im Migrationsleitfaden von v3 auf v4.
Verwenden Sie @transloadit/node als Paketnamen. Der bisherige npm-Paketname transloadit bleibt
als Alias für die Abwärtskompatibilität erhalten.
Geben Sie in Ihrem Projekt Folgendes ein:
yarn add @transloadit/node
oder
npm install --save @transloadit/node
CLI
Dieses Paket enthält eine voll ausgestattete CLI:
export TRANSLOADIT_KEY="YOUR_TRANSLOADIT_KEY"
export TRANSLOADIT_SECRET="YOUR_TRANSLOADIT_SECRET"
npx -y @transloadit/node --help
Hinweis
Die ausführbare CLI-Datei heißt weiterhin transloadit, daher können Befehlsbeispiele
npx transloadit ... verwenden.
Intent-Befehle
Für schnelle einmalige Jobs bietet die CLI außerdem übergeordnete Intent-Befehle als komfortable Ebene. Diese bündeln gängige Transloadit-Workflows in leicht verständlichen Unterbefehlen, sodass Sie nicht für jede Aufgabe mit Assembly Instructions im JSON-Format beginnen müssen.
Beispiel:
export TRANSLOADIT_KEY="YOUR_TRANSLOADIT_KEY"
export TRANSLOADIT_SECRET="YOUR_TRANSLOADIT_SECRET"
npx -y transloadit markdown pdf --input ./README.md --print-urls
Weitere Beispiele:
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 verwendet jetzt standardmäßig google/nano-banana-2, auch bei Ausführungen mit Eingabedateien.
Wenn Sie --output weglassen, schreibt die CLI die Ausgabe nach Möglichkeit neben eine einzelne lokale Eingabedatei. Andernfalls
verwendet sie das aktuelle Arbeitsverzeichnis. Verwenden Sie nur --print-urls, wenn Sie temporäre
Ergebnis-URLs wünschen, ohne die Dateien lokal herunterzuladen.
Wir haben außerdem das öffentliche Transloadit-Skills-Repository aktualisiert, damit es denselben Intent-basierten Workflow zur Bilderzeugung verwendet.
Die vollständige Befehlsreferenz finden Sie in der Referenz der Intent-Befehle und im README des Pakets.
CommonJS-Projekte
Das SDK unterstützt ausschließlich ESM. Wenn Sie CommonJS verwenden, nutzen Sie einen dynamischen Import:
async function getClient() {
const { Transloadit } = await import('@transloadit/node')
return new Transloadit({
authKey: process.env.TRANSLOADIT_KEY,
authSecret: process.env.TRANSLOADIT_SECRET,
})
}
Verwendung
Der folgende Code lädt ein Bild hoch und skaliert es auf die Größe eines Thumbnails:
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}`)
}
}
Details zu Ihren ausgeführten Assemblies finden Sie hier.
Beispiele
- Bild hochladen und skalieren
- Bild hochladen und in WebP konvertieren
- SVG in PNG rastern
- Ein Gesicht aus einem Bild ausschneiden und das Ergebnis herunterladen
- Retry-Beispiel
- Gesamtkosten berechnen (GB-Nutzung)
- CRUD für Templates
- CRUD für Template-Zugangsdaten
Weitere vollständig funktionsfähige Beispiele finden Sie unter
examples/.
Dokumentation
Die vollständige Dokumentation finden Sie auf GitHub. Details zum Upgrade von v3 auf v4 finden Sie im Migrationsleitfaden.