Tech Preview: neue KI-Robots für verbesserte Medienverarbeitung
Hinweis zu historischen Preisen: Der Tarif, der heute als Pro angezeigt wird, hieß zum Zeitpunkt der Veröffentlichung dieses Artikels Startup. Die Preise, Kontingente und Aktionen unten beschreiben dieses historische Angebot. Die heutigen Tarife finden Sie unter aktuellen Preisen.
Wir freuen uns, mitteilen zu können, dass wir eine neue Reihe von KI-Bots in der Tech Preview starten. Einen KI-Robot haben wir bereits seit einiger Zeit im produktiven Einsatz: /image/facedetect. Er basiert auf interner Software und wir sind mit seiner Leistung zufrieden. Die heute angekündigten Bots werden jedoch von externen Cloud-Diensten betrieben.
Die KI-Fortschritte, die die Big Five erzielen, sind kaum zu übersehen. Mit Zugriff auf praktisch unbegrenzte Daten lassen sich Modelle so trainieren, dass sie eine beispiellose Genauigkeit erreichen. Wir waren der Ansicht, dass diese KI-Fähigkeiten direkt in unseren Encoding-Pipelines einen enormen Mehrwert für Kundinnen und Kunden bieten könnten, die ihre Medienverarbeitung weiter automatisieren möchten.
Wir haben die KI-Angebote der Google Cloud Platform (GCP) und von Amazon Web Services (AWS) getestet und erfasst und begonnen, Venn-Diagramme zu zeichnen, um überlappende Funktionen zu bestimmen.

Unsere Idee war, eine Abstraktion über den kleinsten gemeinsamen Nenner anzubieten. Mit anderen
Worten: Mit einer einzigen API können unsere Kundinnen und Kunden etwa die Bilderkennung eines der
beiden Anbieter einbinden und erhalten einheitliche Antworten. Es genügt, entweder
provider: 'aws' oder provider: 'gcp' anzugeben, um von einem Anbieter
zum anderen zu wechseln.
Warum sollte Transloadit das kapseln?
Es versteht sich von selbst, dass Transloadit die Preise der KI-Anbieter selbst weder unterbieten noch erreichen kann. Wenn Sie also riesige Datenmengen verarbeiten müssen, sollten Sie eine direkte Integration mit GCP/AWS in Betracht ziehen.
Wenn sich Ihr Anwendungsfall jedoch nicht darum dreht, aus jedem einzelnen Byte den letzten Cent herauszuholen, gibt es vier Gründe, warum unsere Kundinnen und Kunden diese KI-Dienste zusammen mit Transloadit nutzen möchten:
1. LEGO-artige Kombinierbarkeit
Sie können KI in bestehende Encoding-Pipelines einsetzen und beliebig mit 95 Funktionen (Robots) kombinieren, um Workflows zu erstellen, die einzigartig für Ihr Unternehmen sind. Und das alles, ohne imperativen Boilerplate-Code zu schreiben, der alles zusammenfügt und zu mehr beweglichen Teilen und Fehlerquellen führen würde.
Transloadit bietet eine ganzheitliche Lösung, die sich mit einem einzigen deterministischen JSON-Rezept steuern lässt. Mit zwanzig Zeilen deklarativer Anweisungen können Sie Transloadit anweisen, ein Video durch diese Robots laufen zu lassen:
- /speech/transcribe: das Video in menschenlesbaren Text umwandeln
- /text/translate: den Text ins Japanische übersetzen
- /text/speak: das Japanische in gesprochene Sprache synthetisieren
- /video/merge: das neu gesprochene Japanisch als Audiospur mit dem Originalvideo zusammenführen
Im Grunde haben Sie Transloadit damit ein Video automatisch übersetzen lassen 😄 Für den Produktiveinsatz ist das vermutlich noch nicht reif, aber es zeigt, wie leistungsfähig unsere Assembly-Linie sein kann. Codebeispiele zu unserer deklarativen Kombinierbarkeit finden Sie weiter unten.
2. KI-Anbieter einfach vergleichen und wechseln
Die Anbieter verwenden unterschiedliche Notationen für Sprachen (beim Übersetzen), sie strukturieren ihre Antworten unterschiedlich und sie haben unterschiedliche Dokumentationen, SDKs, Formate, Einstellungen usw.
Transloadit abstrahiert all das, nimmt einheitliche Eingaben entgegen und liefert einheitliche Ausgaben – unabhängig vom Anbieter.
Nachdem Sie Amazon verwendet haben, können Sie sehen, wie Google dasselbe Bild beschreibt, ohne
etwas anderes zu ändern als den Parameter provider. So lassen sich Ergebnisse
und Latenzen in Ihrer App leicht vergleichen, um zu sehen, was am besten zu Ihrem Anwendungsfall
passt. Und das kann sich natürlich ändern. Diese KIs lernen und verbessern sich ständig für die
Mehrzahl der Fälle, aber wenn eine Ihrer eigenen Kundinnen oder einer Ihrer eigenen Kunden einen
unglücklichen Sonderfall hat, können Sie im Handumdrehen einen Wechsel anbieten.
3. Möglicherweise weniger Anbieter
Wenn Sie entweder:
- Transloadit bereits für Ihre Medienverarbeitung nutzen
- auf der Suche nach einer KI-Funktion sind, diese aber auch um automatisierte Bildoptimierung und Encoding ergänzen oder eine unserer anderen 95 Funktionen nutzen möchten
.. dann ersparen Sie sich den Aufwand, noch einen weiteren Anbieter zu integrieren. Auf die Entwicklungskosten vieler beweglicher Teile haben wir bereits hingewiesen, aber es kommen auch eine separate Abrechnung, zu überwachende SLA-Vereinbarungen und weitere Support-Desks hinzu.
4. Ohne Aufwand 💆♀️
Wir bereinigen und säubern Eingaben automatisch. Während AWS zum Beispiel jede Audiodatei zur Transkription akzeptiert, erwartet Google sie je nach Einstellungen im PCM-Format mit signiertem 16-Bit-, 1-Kanal-, Little-Endian-Encoding. Bei Transloadit werfen Sie uns einfach beliebiges Audio (oder Video!) hin, und wir sorgen dafür, dass es so konvertiert wird, wie der von Ihnen gewählte KI-Anbieter es mag.
Funktionen, die wir heute starten
Heute starten wir zwei Robots in der Tech Preview:

Unser Robot /image/describe.
Geben Sie ein Bild ein und erhalten Sie eine Liste der erkannten Objekte zurück:
Tree, Car, House usw.
Wir können sie als Textdatei oder JSON-Datei zurückgeben oder zur Verarbeitung an einen anderen
Robot weitergeben. Typische Anwendungsfälle sind das
automatische Markieren (un)angemessener Inhalte, das Bereitstellen von Bildbeschriftungen für das
Attribut alt und/oder das Durchsuchbarmachen von Bildern.

Unser Robot /speech/transcribe. Geben Sie eine Audio- oder Videoaufnahme ein und erhalten Sie menschenlesbaren Text zurück. Wir können ihn als Textdatei oder JSON-Datei zurückgeben oder zur Verarbeitung an einen anderen Robot weitergeben. Typische Anwendungsfälle sind die automatische Untertitelung oder das Durchsuchbarmachen von Audio/Video.
Wir starten sie zusammen mit einem Upgrade für:

Unser Robot /file/filter.
Übergeben Sie ihm eine Datei und Kriterien, und dieser Robot
fungiert als Türsteher, der Dateien optional an einen weiteren
Step weitergibt, etwa zum Export. Wir haben ihn so
geändert, dass er jetzt auch einen Operator includes akzeptiert.
Mit dem neu hinzugefügten Operator includes können Sie unerwünschte Inhalte
jetzt automatisch ablehnen (oder markieren), und zwar so:
{
"steps": {
"described": {
"use": ":original",
"robot": "/image/describe",
"provider": "aws",
"format": "meta",
"granularity": "list"
},
"filtered": {
"use": "described",
"robot": "/file/filter",
"declines": [
[ "${file.meta.descriptions}", "includes", [ "Naked", "Sex" ] ]
]
},
"exported": {
"use": "filtered",
"robot": "/s3/store",
"credentials": "YOUR_AWS_CREDENTIALS"
}
}
}
Wenn ich nun für meine Website für Gebrauchtwagen nur Bilder von Autos zulassen wollte und Googles Bilderkennung bevorzugte, würde ich einfach Folgendes ändern:
"declines"zu"accepts"[ "Naked", "Sex" ]zu[ "Car", "Tires" ]"provider": "aws"zu"provider": "gcp"
Und das war's! ✨
Weiter unten finden Sie außerdem ein vollständiges Codebeispiel mit unserem Robot /image/describe sowie Links zu Demos für unsere Robots /speech/transcribe und /image/facedetect.
Welche KI-Funktionen sind geplant?
Neben den beiden Robots, die wir heute in der Tech Preview gestartet haben, haben uns unsere Venn-Diagramme gezeigt, dass wir außerdem Folgendes bauen sollten:
- /image/ocr: ein Bild eingeben und jeden menschenlesbaren Text zurückerhalten, der darauf zu sehen war, etwa Namens- oder Verkehrsschilder
- /document/ocr: ein PDF eingeben und jeden menschenlesbaren Text zurückerhalten, der darin enthalten war, damit Dokumente durchsuchbar gemacht werden können, falls sie es noch nicht sind
- /text/translate: menschenlesbaren Text eingeben und ihn in einer anderen Sprache zurückerhalten
- /text/speak: menschenlesbaren Text eingeben und eine Audiodatei mit einer Aufnahme synthetisierter Sprache zurückerhalten
Fehlt etwas auf dieser Liste? Wir freuen uns über Vorschläge für weitere!
Wie sieht es mit den Preisen aus?
Wir zählen die Eingabe- und Ausgabe-Bytes, die durch diese Robots laufen, und ziehen sie von Ihrem regulären Transloadit-Tarif ab – zusätzliche Abonnements sind nicht nötig. Wir berechnen eine Mindestgebühr von 1 MB pro Transaktion: Wenn Sie ein 100 KB großes Bild einreichen und eine 2 KB große Textdatei zurückkommt, ziehen wir trotzdem 1 MB von Ihrem Tarif ab, obwohl das zusammen nur 102 KB ergibt. In unserem Pro-Tarif (10 GB für $49/Monat) hätte das $0,0049 gekostet, im Medium-Business-Tarif $0,00166. Mehr Informationen finden Sie auf unserer Seite Preise.
Was ist mit anderen Anbietern wie Microsoft Azure?
Wir sind der Ansicht, dass hier genug Mehrwert steckt, um dies ab heute als Tech Preview anzubieten. Da wir die Anbieter abstrahieren, sind wir nicht von einem einzigen Angebot abhängig. Sollte also GCP 2023 abgeschaltet werden (nur ein Scherz! glauben wir!) oder AWS die Preise für uns erhöhen, gibt es Alternativen. Die Integrationen bleiben beim Anbieterwechsel dieselben. Tatsächlich prüfen wir, auch Microsoft Azure mit aufzunehmen.

Und genau wie wir unseren KI-Robot
/image/facedetect selbst betreiben, werden wir vielleicht
provider: 'transloadit' zum Robot
/speech/transcribe hinzufügen und zu einem niedrigeren Preis
anbieten, sobald es künftig machbar wird, hochwertige Transkriptions-KI selbst zu betreiben.
Was bedeutet „Tech Preview“?
Es bedeutet, dass Sie diese Technik ab heute nutzen können! Wir nehmen möglicherweise noch Änderungen an der API und den Preisen vor (aber wir rechnen nicht damit, außer beim Hinzufügen weiterer Funktionen).
Wie lege ich los?
Nach der Registrierung wählen Sie eine Programmiersprache Ihrer Wahl und bauen eine Integration! Klingt schwierig? Schauen wir uns eine Demo an.
<!-- This pulls Uppy from our CDN -->
<!-- For smaller self-hosted bundles, install Uppy and plugins manually: -->
<!-- npm i --save @uppy/core @uppy/dashboard @uppy/remote-sources @uppy/transloadit ... -->
<link
href="https://releases.transloadit.com/uppy/v3.10.0/uppy.min.css"
rel="stylesheet"
/>
<button id="browse">Select Files</button>
<script type="module">
import {
Uppy,
Dashboard,
ImageEditor,
RemoteSources,
Transloadit,
} from 'https://releases.transloadit.com/uppy/v3.10.0/uppy.min.mjs'
const uppy = new Uppy()
.use(Transloadit, {
waitForEncoding: true,
alwaysRunAssembly: true,
assemblyOptions: {
params: {
// It's often better store encoding instructions in your account
// and use a `template_id` instead of adding these steps inline
steps: {
':original': {
robot: '/upload/handle',
},
described: {
use: ':original',
robot: '/image/describe',
result: true,
format: 'meta',
granularity: 'list',
provider: 'aws',
},
filtered: {
use: 'described',
robot: '/file/filter',
result: true,
accepts: [['${file.meta.descriptions}', 'includes', 'Building']],
},
exported: {
use: 'filtered',
robot: '/s3/store',
credentials: 'demo_s3_credentials',
url_prefix: 'https://demos.transloadit.com/',
},
},
},
},
})
.use(Dashboard, { trigger: '#browse' })
.use(ImageEditor, { target: Dashboard })
.use(RemoteSources, {
companionUrl: 'https://api2.transloadit.com/companion',
})
.on('complete', ({ transloadit }) => {
// Due to `waitForEncoding:true` this is fired after encoding is done.
// Alternatively, set `waitForEncoding` to `false` and provide a `notify_url`
console.log(transloadit) // Array of Assembly Statuses
for (const assembly of transloadit) {
console.log(assembly.results) // Array of all encoding results
}
})
.on('error', (error) => {
console.error(error)
})
</script>
Wir laden zwei Fotos hoch, von denen eines Brücken enthält:

Wenn ich meta.descriptions aus den Ergebnissen vom
Step described prüfe, sehe ich:
[ 'Water',
'Outdoors',
'Bridge',
'Building',
'Canal',
'Castle',
'Architecture',
'Fort' ]
https://demos.transloadit.com/53/fae6219071430cb7b794cf9f3513c2/prinsengracht.jpg
Nur Fotos mit 'Building' werden durchgelassen, daher wäre das Foto unseres
Chamäleons auch nicht am richtigen Speicherort auf S3 gespeichert worden.
In solchen Fällen könnten Sie sich entscheiden:
- sie stillschweigend zu ignorieren
- mit einem harten Fehler abzubrechen
- nicht erkannte Bilder an einen Export-Step
weiterzuleiten, der ein anderes Verzeichnis verwendet, etwa
./flagged-for-review/
Hier sind weitere passende KI-Demos mit Codebeispielen für alle wichtigen Plattformen:
Dokumentation
Da diese Robots vorerst in der Tech Preview bleiben, könnten wir die Implementierung noch ändern, aber wir haben bereits eine vorläufige Dokumentation geschrieben:
Viel Spaß!
Gerne erweitern wir diesen Beitrag, unsere Dokumentation und die Funktionsweise der Bots auf Basis Ihres Feedbacks. Hinterlassen Sie einfach unten einen Kommentar oder schreiben Sie uns auf Twitter.
