Transloadit
Preise
  • Uploads verwalten
  • Dateiimport
  • Video-Encoding
  • Audio-Encoding
  • Bildverarbeitung
  • Künstliche Intelligenz
  • Dokumentverarbeitung
  • Dateifilterung
  • Codeauswertung
  • Medienkatalogisierung
  • Dateikomprimierung
  • Dateiexport
  • Smart CDN
  • Live-Demos entdecken (English)
  • Uppy
  • iOS & macOS
  • Android
  • Node.js
  • Python
  • Ruby
  • Go
  • Zapier
  • MCP Server
  • Terraform
  • Grundlagen
  • Bewährte Verfahren
  • FAQ
  • Robots
  • API-Endpunkte
  • Formate
  • Erstellen Sie Ihre erste App
  • Über Transloadit
  • Open Source
  • Referenzen
  • Stellen (English)
  • Sicherheit
  • Beiträge
  • Aktuelles für Entwickler (English)
  • Tipps für Entwickler (English)
  • Presse (English)
  • Fallstudien
  • Lösungen
  • Vergleiche (English)
  • Rechtliches (English)
  • Wie wir Coursera helfen, Bildung für Millionen Menschen weltweit zugänglich zu machen
  • Transloadit-Support
  • Open-Source-Support (English)
  • Service Level Agreement (English)
Erste Schritte
  • Überblick
  • Meine erste App
  • Ergebnisdateien speichern
Themen
  • Assembly Instructions
  • Assembly Variables
  • Dynamische Auswertung
  • Templates
  • Webhooks
  • Zugangsdaten von Drittanbietern
  • Builtin Templates
  • Strategien zur Größenänderung
  • Assembly Execution Progress
  • Workspaces
  • KI-Agenten
  • Erweiterter use-Parameter
  • Der Parameter ignore_errors
Software Development Kits (SDKs)
  • Übersicht
  • Android SDK
  • Browser
  • Convex
  • cURL
  • Go SDK
  • Java SDK
  • MCP Server
  • Multipart-Formular
  • Node.js SDK
  • PHP SDK
  • Python SDK
  • Ruby SDK
  • Terraform
  • TransloaditKit
  • Zapier-Integration

Ruby SDK

transloadit/ruby-sdk⁠

Mit unserem Ruby-Gem können Sie Datei-Uploads über die Transloadit REST API automatisieren.

Wenn Sie Ruby on Rails verwenden und stattdessen eine Browserintegration für Datei-Uploads suchen, steht Ihnen auch unser Ruby on Rails SDK EN (English) zur Verfügung.

Installation

gem install transloadit

Verwendung

Zunächst müssen Sie das „transloadit“-Gem einbinden:

$ irb -rubygems
>> require 'transloadit'
=> true

Erstellen Sie anschließend eine Transloadit-Instanz. Diese verwaltet Ihre Authentifizierungsdaten und ermöglicht Anfragen an die API.

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

1. Bild skalieren und speichern

Dieses Beispiel zeigt, wie Sie eine Assembly erstellen, um ein Bild zu skalieren und das Ergebnis auf Amazon S3⁠ zu speichern.

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

# First, we create two steps: one to resize the image to 320x240, and another to
# store the image in our S3 bucket.
resize = transloadit.step 'resize', '/image/resize',
  :width  => 320,
  :height => 240

store  = transloadit.step 'store', '/s3/store',
  :key    => 'YOUR_AWS_KEY',
  :secret => 'YOUR_AWS_SECRET',
  :bucket => 'YOUR_S3_BUCKET'

# Now that we have the steps, we create an assembly (which is just a request to
# process a file or set of files) and let Transloadit do the rest.
assembly = transloadit.assembly(
  :steps => [ resize, store ]
)

response = assembly.create! open('/PATH/TO/FILE.jpg')

# reloads the response once per second until all processing is finished
response.reload_until_finished!

if response.error?
  # handle error
else
  # handle other cases
  puts response
end
Hinweis

Die Methode submit! der Assembly ist veraltet und wurde durch create! ersetzt. Für die Abwärtskompatibilität bleibt die Methode submit! als Alias für create! erhalten.

Wenn die Methode create! zurückkehrt, wurde die Datei hochgeladen, die Verarbeitung ist jedoch möglicherweise noch nicht abgeschlossen. Mit dem zurückgegebenen Objekt können Sie prüfen, ob die Verarbeitung abgeschlossen ist, oder weitere Attribute der Anfrage untersuchen.

# returns the unique API ID of the assembly
response[:assembly_id] # => '9bd733a...'

# returns the API URL endpoint for the assembly
response[:assembly_url] # => 'http://api2.vivian.transloadit.com/assemblies/9bd733a...'

# checks how many bytes were expected / received by transloadit
response[:bytes_expected] # => 92933
response[:bytes_received] # => 92933

# checks if all processing has been finished
response.finished? # => false

# cancels further processing on the assembly
response.cancel! # => true

# checks if processing was successfully completed
response.completed? # => true

# checks if the processing returned with an error
response.error? # => false

Beachten Sie, dass keine dieser Abfragen „live“ ist (mit Ausnahme der Methode cancel!). Sie prüfen jeweils die Antwort, die die API bei der Erstellung der Assembly zurückgegeben hat. Sie müssen die Assembly ausdrücklich anweisen, ihre Ergebnisse erneut von der API zu laden.

# reloads the response's contents from the REST API
response.reload!

# reloads once per second until all processing is finished, up to number of
# times specified in :tries option, otherwise will raise ReloadLimitReached
response.reload_until_finished! tries: 300 # default is 600

Im Allgemeinen verwenden Sie die Hash-Zugriffssyntax, um direkte Attribute aus der Antwort abzufragen. Methoden mit einem Fragezeichen als Suffix bieten eine besser lesbare Möglichkeit, den Status abzufragen (z. B. assembly.completed? statt das Ergebnis von assembly[:ok] zu prüfen). Methoden mit einem Ausrufezeichen als Suffix führen eine Live-Abfrage an die Transloadit HTTP API aus.

2. Mehrere Dateien hochladen

Sie können der Methode create! mehrere Dateien übergeben, um mehr als eine Datei in derselben Anfrage hochzuladen. Für den Parameter steps können Sie auch einen einzelnen Step übergeben, ohne ihn in ein Array einschließen zu müssen.

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

assembly = transloadit.assembly(steps: store)

response = assembly.create!(
  open('puppies.jpg'),
  open('kittens.jpg'),
  open('ferrets.jpg')
)

Sie können der Methode create! auch ein Array mit Dateien übergeben. Entpacken Sie das Array einfach mit dem Splat-Operator *.

files = [open('puppies.jpg'), open('kittens.jpg'), open('ferrets.jpg')]
response = assembly.create! *files

3. Parallele Assembly

Mit Transloadit können Sie mehrere Verarbeitungsschritte parallel ausführen. Dazu müssen Sie lediglich andere Steps über use verwenden. Nach diesem Beispiel:

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

encode = transloadit.step 'encode', '/video/encode', { ... }
thumbs = transloadit.step 'thumbs', '/video/thumbs', { ... }
export = transloadit.step 'store',  '/s3/store',     { ... }

export.use [ encode, thumbs ]

transloadit.assembly(
  :steps => [ encode, thumbs, export ]
).create! open('/PATH/TO/FILE.mpg')

Sie können einen Step auch anweisen, die ursprünglich hochgeladene Datei zu verwenden, indem Sie das Symbol :original statt eines anderen Steps übergeben.

Weitere Informationen zur Verwendung von use⁠ finden Sie in der YARD-Dokumentation.

4. Eine Assembly mit Templates erstellen

Mit Transloadit können Sie individuelle Templates⁠ für wiederkehrende Encoding-Aufgaben verwenden. Gehen Sie dazu wie folgt vor:

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

transloadit.assembly(
  :template_id => 'YOUR_TEMPLATE_ID'
).create! open('/PATH/TO/FILE.mpg')

Sie können Ihre Steps zusammen mit diesem Template verwenden und sogar Variablen einsetzen. Die Transloadit-Dokumentation bietet dazu einige hilfreiche Beispiele.

5. Felder verwenden

Mit Transloadit können Sie Werte aus Formularfeldern übermitteln, die Sie in der Benachrichtigung zurückerhalten. Dies ist praktisch, wenn Sie dem Upload zusätzliche individuelle Metadaten hinzufügen möchten. Sie können Felder wie folgt verwenden:

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

transloadit.assembly(
  :fields => {
    :tag => 'some_tag_name',
    :field_name => 'field_value'
  }
).create! open('/PATH/TO/FILE.mpg')

6. Benachrichtigungs-URL

Wenn Sie nach Abschluss der Verarbeitung benachrichtigt werden möchten, können Sie für die Assembly eine Benachrichtigungs-URL angeben.

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

transloadit.assembly(
  :notify_url => 'http://example.com/processing_finished'
).create! open('/PATH/TO/FILE.mpg')

Weitere Informationen zu Assembly Notifications finden Sie auf der Dokumentationsseite von Transloadit

7. Weitere Assembly-Methoden

Transloadit bietet außerdem Methoden, um Assemblies und deren Assembly Notifications abzurufen oder erneut wiederzugeben.

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

assembly = transloadit.assembly

# returns a list of all assemblies
assembly.list

# returns a specific assembly
assembly.get 'YOUR_ASSEMBLY_ID'

# replays a specific assembly
response = assembly.replay 'YOUR_ASSEMBLY_ID'
# should return true if assembly is replaying and false otherwise.
response.replaying?

# returns all assembly notifications
assembly.get_notifications

# replays an assembly notification
assembly.replay_notification 'YOUR_ASSEMBLY_ID'

8. Templates

Transloadit bietet eine Templates-API für wiederkehrende Encoding-Aufgaben. So erstellen Sie ein Template:

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

template = transloadit.template

# creates a new template
template.create(
  :name => 'TEMPLATE_NAME',
  :template => {
    "steps": {
      "encode": {
        "use": ":original",
        "robot": "/video/encode",
        "result": true
      }
    }
  }
)

Darüber hinaus stehen weitere Methoden zum Abrufen, Aktualisieren und Löschen eines Templates zur Verfügung.

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

template = transloadit.template

# returns a list of all templates.
template.list

# returns a specific template.
template.get 'YOUR_TEMPLATE_ID'

# updates the template whose id is specified.
template.update(
  'YOUR_TEMPLATE_ID',
  :name => 'CHANGED_TEMPLATE_NAME',
  :template => {
    :steps => {
      :encode => {
        :use => ':original',
        :robot => '/video/merge'
      }
    }
  }
)

# deletes a specific template
template.delete 'YOUR_TEMPLATE_ID'

9. Abrechnungsberichte abrufen

Wenn Sie den Abrechnungsbericht Ihres Transloadit-Kontos für einen bestimmten Monat und ein bestimmtes Jahr abrufen möchten, können Sie der Methode bill den erforderlichen Monat und das Jahr wie folgt übergeben:

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

# returns bill report for February, 2016.
transloadit.bill(2, 2016)

Wenn Sie month oder year nicht angeben, wird standardmäßig der aktuelle Monat beziehungsweise das aktuelle Jahr verwendet.

10. Ratenbegrenzungen

Transloadit setzt Ratenbegrenzungen durch, damit die Nutzung eines einzelnen Kunden keine anderen Kunden beeinträchtigt. Weitere Informationen finden Sie unter Ratenbegrenzung.

Wenn beim Erstellen einer Assembly ein Ratenbegrenzungsfehler auftritt, werden standardmäßig 2 weitere Versuche unternommen, um eine erfolgreiche Antwort zu erhalten. Besteht der Ratenbegrenzungsfehler nach diesen Versuchen weiterhin, wird eine RateLimitReached-Ausnahme ausgelöst.

Um die Anzahl der Versuche beim Erstellen einer Assembly zu ändern, können Sie der Assembly wie folgt die Option tries übergeben.

require 'transloadit'

transloadit = Transloadit.new(
  :key    => 'YOUR_TRANSLOADIT_KEY',
  :secret => 'YOUR_TRANSLOADIT_SECRET'
)

# would make one extra attempt after a failed attempt.
transloadit.assembly(:tries => 2).create! open('/PATH/TO/FILE.mpg')

# Would make no attempt at all. Your request would not be sent.
transloadit.assembly(:tries => 0).create! open('/PATH/TO/FILE.mpg')

Beispiel

Ein kurzes Tutorial zur Verwendung des Transloadit ruby-sdk, mit dem Sie ein Bild optimieren, MP3-Audio codieren, ID3-Tags hinzufügen und mehr, finden Sie hier⁠.

Dokumentation

Eine aktuelle YARD-Dokumentation wird automatisch generiert. Sie können die Dokumentation für das veröffentlichte Gem⁠ oder den neuesten Stand von git main⁠ aufrufen.

Vorherige Seite ← Python SDKNächste Seite Terraform →
TransloaditStatus wird geprüft…

Produkt

  • Dienste
  • Preise
  • Demos EN (English)
  • Sicherheit
  • Support

Unternehmen

  • Über Transloadit/Presse EN (English)
  • Blog/Stellen EN (English)
  • Vergleiche EN (English)
  • Open Source
  • Lösungen

Dokumentation

  • Erste Schritte
  • Transcoding
  • FAQ
  • API-Endpunkte
  • Unterstützte Formate

Mehr

  • Plattformstatus⁠
  • Community-Forum⁠
  • StackOverflow⁠
  • Uppy EN (English)
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Datenschutz EN (English)Bedingungen EN (English)Impressum EN (English)