Transloadit
Tarifs
  • Téléversements de fichiers
  • Importation de fichiers
  • Traitement par lots (English)
  • Encodage vidéo
  • Encodage audio
  • Traitement d’images
  • Traitement de documents
  • Intelligence artificielle
  • Filtrage et sécurité des fichiers
  • Catalogage de médias
  • Compression de fichiers
  • Évaluation de code
  • Exportation de fichiers
  • Smart CDN
  • Voir tous les services
  • Explorer les intégrations (English)
  • Explorer les démos interactives (English)
  • Uppy
  • TransloaditKit
  • SDK Android
  • SDK Node.js
  • SDK Python
  • SDK Ruby
  • SDK Go
  • SDK Java
  • SDK PHP
  • Zapier
  • Serveur MCP
  • Transloadit CLI (English)
  • Terraform
  • Essentiels
  • Bonnes pratiques
  • FAQ
  • Robots (English)
  • API
  • Formats (English)
  • Créer votre première application
  • À propos de Transloadit
  • Comparatifs
  • Projets open source
  • Témoignages
  • Carrières (English)
  • Sécurité
  • Articles (English)
  • Actus dev (English)
  • Astuces dev
  • Presse (English)
  • Recherche (English)
  • Études de cas (English)
  • Solutions
  • Guides
  • Glossaire (English)
  • Juridique (English)
  • Outils
  • Aider Coursera à apporter l’éducation à des millions de personnes à travers le monde (English)
  • Support Transloadit
  • Support open source
  • Accord de niveau de service (English)
EssentielsRobotsEN (English)FAQAPIFormatsEN (English)Bonnes pratiques
Téléversements de fichiers
  • /upload/handle
    Gérer les téléversements
Importation de fichiers
  • /azure/import
    Importer des fichiers depuis Azure
  • /backblaze/import
    Importer des fichiers depuis Backblaze
  • /box/import
    Importer des fichiers depuis Box
  • /mega/import
    Importer des fichiers depuis MEGA S4 Object Storage
  • /cloudfiles/import
    Importer des fichiers depuis Rackspace Cloud Files
  • /cloudflare/import
    Importer des fichiers depuis Cloudflare R2
  • /digitalocean/import
    Importer des fichiers depuis DigitalOcean Spaces
  • /dropbox/import
    Importer des fichiers depuis Dropbox
  • /ftp/import
    Importer des fichiers depuis des serveurs FTP
    EN (English)
  • /google/import
    Importer des fichiers depuis Google Cloud Storage
  • /http/import
    Importer des fichiers depuis des serveurs web
  • /minio/import
    Importer des fichiers depuis MinIO
  • /s3/import
    Importer des fichiers depuis Amazon S3
    EN (English)
  • /sftp/import
    Importer des fichiers depuis des serveurs SFTP
    EN (English)
  • /supabase/import
    Importer des fichiers depuis Supabase Storage
  • /swift/import
    Importer des fichiers depuis OpenStack Swift
  • /tigris/import
    Importer des fichiers depuis Tigris
  • /transloadit/import
    Importer des fichiers depuis Transloadit Storage
    EN (English)
  • /vimeo/import
    Importer des vidéos depuis Vimeo
  • /wasabi/import
    Importer des fichiers depuis Wasabi
Encodage vidéo
  • /video/adaptive
    Convertir des vidéos en HLS, MPEG-Dash et CMAF
  • /video/artwork
    Extraire ou insérer l’illustration de pochette des vidéos
  • /video/concat
    Concaténer des vidéos
    EN (English)
  • /video/encode
    Transcoder, redimensionner ou filigraner des vidéos
  • /video/merge
    Fusionner vidéo, audio et images en une seule vidéo
  • /video/ondemand
    Diffuser des vidéos en streaming avec encodage à la demande
  • /video/split
    Découper une vidéo
  • /video/subtitle
    Ajouter des sous-titres aux vidéos
  • /video/thumbs
    Extraire des miniatures de vidéos
    EN (English)
  • Préréglages vidéoEN (English)
Encodage audio
  • /audio/artwork
    Extraire ou insérer une pochette audio
  • /audio/concat
    Concaténer de l’audio
    EN (English)
  • /audio/split
    Découper de l’audio
  • /audio/encode
    Encoder de l’audio
  • /audio/loop
    Mettre de l’audio en boucle
  • /audio/merge
    Fusionner des fichiers audio en un seul
  • /audio/waveform
    Générer des images de forme d’onde à partir d’audio
  • Préréglages audioEN (English)
Traitement d’images
  • /image/bgremove
    Supprimer l’arrière-plan des images
  • /image/enhance
    Améliorer des images
    EN (English)
  • /image/merge
    Fusionner plusieurs images en une seule
  • /image/optimize
    Optimiser des images sans perte de qualité
  • /image/resize
    Convertir, redimensionner ou ajouter un filigrane à des images
Traitement de documents
  • /document/autorotate
    Faire pivoter automatiquement des documents
  • /document/convert
    Convertir des documents dans différents formats
    EN (English)
  • /document/extract
    Extraire du texte et des images intégrées
  • /document/merge
    Fusionner des documents en un seul
  • /document/optimize
    Optimiser la taille des fichiers PDF
    EN (English)
  • /file/read
    Lire le contenu de fichiers
  • /document/split
    Extraire des pages
  • /document/thumbs
    Extraire des miniatures de documents
  • /html/convert
    Prendre des captures d’écran de pages web ou de fichiers HTML
Intelligence artificielle
  • /document/ocr
    Reconnaître le texte dans des documents (OCR)
  • /image/describe
    Reconnaître des objets dans des images
  • /image/facedetect
    Détecter des visages dans des images
  • /image/generate
    Générer des images à partir de consignes textuelles
  • /image/upscale
    Augmenter la résolution des images
    EN (English)
  • /image/ocr
    Reconnaître le texte dans des images (OCR)
  • /speech/transcribe
    Transcrire la parole dans des fichiers audio ou vidéo
  • /text/speak
    Synthétiser la parole à partir de documents
  • /text/translate
    Traduire le texte de documents
  • /ai/chat
    Générer des réponses de chat par IA
    EN (English)
  • /video/generate
    Générer des vidéos à partir de consignes textuelles
Filtrage et sécurité des fichiers
  • /file/filter
    Filtrer des fichiers
  • /file/verify
    Vérifier le type de fichier
  • /file/virusscan
    Analyser des fichiers à la recherche de virus
Catalogage de médias
  • /file/hash
    Calculer le hachage de fichiers
  • /file/preview
    Générer une miniature d’aperçu
    EN (English)
  • /meta/write
    Écrire des métadonnées dans des médias
Compression de fichiers
  • /file/compress
    Compresser des fichiers
  • /file/decompress
    Décompresser des archives
Évaluation de code
  • /http/request
    Appeler des points de terminaison HTTP
    EN (English)
  • /script/run
    Exécuter des scripts dans des Assemblies
Exportation de fichiers
  • TéléchargementEN (English)
  • /azure/store
    Exporter des fichiers vers Microsoft Azure
  • /backblaze/store
    Exporter des fichiers vers Backblaze
  • /box/store
    Exporter des fichiers vers Box
  • /mega/store
    Exporter des fichiers vers MEGA S4 Object Storage
  • /cloudfiles/store
    Exporter des fichiers vers Rackspace Cloud Files
  • /cloudflare/store
    Exporter des fichiers vers Cloudflare R2
  • /digitalocean/store
    Exporter des fichiers vers DigitalOcean Spaces
  • /dropbox/store
    Exporter des fichiers vers Dropbox
  • /ftp/store
    Exporter des fichiers vers des serveurs FTP
    EN (English)
  • /google/store
    Exporter des fichiers vers Google Cloud Storage
  • /minio/store
    Exporter des fichiers vers MinIO
  • /s3/store
    Exporter des fichiers vers Amazon S3
    EN (English)
  • /sftp/store
    Exporter des fichiers vers des serveurs SFTP
    EN (English)
  • /supabase/store
    Exporter des fichiers vers Supabase Storage
  • /swift/store
    Exporter des fichiers vers OpenStack Swift
  • /tigris/store
    Exporter des fichiers vers Tigris
  • /transloadit/store
    Stocker des fichiers dans Transloadit Storage
    EN (English)
  • /tus/store
    Exporter des fichiers vers des serveurs compatibles tus
  • /vimeo/store
    Exporter des fichiers vers Vimeo
  • /wasabi/store
    Exporter des fichiers vers Wasabi
  • /youtube/store
    Exporter des fichiers vers YouTube
Smart CDN
  • /file/serve
    Servir des fichiers aux navigateurs web
  • /tlcdn/deliver
    Mettre en cache et distribuer des fichiers à l’échelle mondiale
  • TarifsEN (English)

Fusionner plusieurs images en une seule

🤖/image/merge fusionne plusieurs images en une seule planche de sprites.

Robot /image/merge

Le résultat final sera une planche de sprites, avec les images disposées horizontalement, verticalement ou en grille.

Il est recommandé d’utiliser ce Robot avec 🤖/image/resize afin que vos images aient une taille similaire avant de les fusionner.

Exemple d’utilisation

Fusionner les images téléversées en une seule, avec un espacement de 5 px entre elles sur la planche de sprites :

{
  "steps": {
    "merged": {
      "border": 5,
      "robot": "/image/merge",
      "use": {
        "bundle_steps": true,
        "steps": [
          ":original"
        ]
      }
    }
  }
}

Paramètres

  • interpolate

    boolean | Record<string, boolean>

    Détermine si les Assembly Variables sont interpolées pour chaque champ d’instruction.

    Par défaut, la plupart des champs d’instruction des Robots interpolent les Assembly Variables. Définissez ce paramètre sur false pour traiter tous les champs d’instruction comme du texte littéral, ou définissez le chemin d’un champ individuel sur false pour traiter uniquement ce champ comme du texte littéral. Pour les champs propres à un Robot qui sont littéraux par défaut, définissez ce paramètre sur true ou définissez le chemin de ce champ sur true pour réactiver l’interpolation.

    Utilisez des noms de champs tels que path, ou des chemins avec points tels que ffmpeg.vf pour les objets imbriqués.

  • output_meta

    Record<string, boolean> | boolean | Array<string>

    Permet de spécifier un ensemble de métadonnées dont le calcul est plus coûteux en puissance CPU et qui sont donc désactivées par défaut afin que le traitement de vos Assemblies reste rapide.

    Pour les images, vous pouvez ajouter "has_transparency": true dans cet objet pour déterminer si l’image contient des parties transparentes, et "dominant_colors": true pour extraire de l’image un tableau de codes couleur hexadécimaux.

    Pour les images, vous pouvez également ajouter "blurhash": true pour extraire une chaîne BlurHash⁠ — une représentation compacte d’un espace réservé pour l’image, utile pour afficher un aperçu flou pendant le chargement de l’image complète.

    Pour les images, "thumbhash": true extrait plutôt un ThumbHash⁠ encodé en base64 dans meta.thumbhash, accompagné de meta.has_alpha (qui indique si un canal alpha existe, même lorsque l’image est entièrement opaque). Il décrit les pixels orientés selon les données EXIF et utilise la première image des images animées. L’extraction est effectuée au mieux : les images de plus de 40 mégapixels, les formats non pris en charge ou un décodage échoué ou limité ne produisent aucun espace réservé. Une extraction réussie ajoute des frais de métadonnées équivalents à 20 % des octets de ce fichier. Aucun supplément ThumbHash ne s’applique lorsque l’option est désactivée ou lorsqu’aucun hash n’est produit.

    Définissez cette option sur le Step qui produit l’image, par exemple /upload/handle pour les originaux téléversés ou /image/resize pour les sorties traitées. La définir uniquement sur /transloadit/store ne déclenche pas l’extraction : le stockage conserve les métadonnées du Step producteur. Transloadit Storage conserve un hash généré avec sa version immuable et le renvoie dans les résultats stockés et lors des lectures natives de ressources. Les téléversements directs vers S3 ne génèrent pas d’espaces réservés. Un espace réservé contient des informations sur l’image : protégez-le donc avec les mêmes contrôles d’accès que l’image complète.

    Pour les vidéos, vous pouvez ajouter le paramètre "colorspace": true pour extraire l’espace colorimétrique de la vidéo de sortie.

    Pour les vidéos, vous pouvez également ajouter "interlaced": true pour détecter si la vidéo est entrelacée. Cette option combine l’indicateur ffprobe peu coûteux field_order avec une passe d’échantillonnage idet limitée sur les premières images de la source, et expose interlaced, field_order ainsi qu’un objet de diagnostic interlace_detection sous file.meta. Cette opération est coûteuse en calcul et facturée en conséquence.

    Pour l’audio, vous pouvez ajouter "mean_volume": true pour obtenir une valeur unique représentant le volume moyen du fichier audio.

    Vous pouvez également définir cette option sur false pour ignorer l’extraction des métadonnées et accélérer le transcodage.

  • user_meta

    Record<string, any>(par défaut : {})

    Ajoute des métadonnées JSON personnalisées à chaque fichier émis sans modifier son contenu. Les objets et tableaux imbriqués sont pris en charge.

    L’héritage dépend du Robot. Les valeurs sont fusionnées avec la valeur user_meta existante du fichier de sortie ; le Step actuel remplace les clés de premier niveau correspondantes. Attribuez explicitement les clés requises lorsqu’un Robot crée de nouvelles sorties.

    Dans les Steps de traitement, ${file.*} désigne la première entrée et ${result.*} le fichier émis. Les valeurs sont évaluées pour chaque sortie après l’exécution du Robot, avant l’extraction ultérieure des métadonnées et le stockage temporaire. Sur :original, les valeurs sont évaluées pour chaque téléversement avant l’extraction des métadonnées.

    Les Steps en aval lisent ${file.user_meta.key}. Consultez Métadonnées personnalisées pour un exemple complet et les règles d’héritage.

  • result

    boolean(par défaut : false)

    Indique si les résultats de ce Step doivent figurer dans l’Assembly Status JSON

  • queue

    batch

    Définir la file d’attente sur « batch » abaisse manuellement la priorité des Jobs de ce Step afin d’éviter de consommer des emplacements prioritaires de Jobs pour des Jobs qui n’ont pas besoin d’un temps d’attente nul dans la file

  • force_accept

    boolean(par défaut : false)

    Forcer un Robot à accepter un type de fichier qu’il aurait ignoré.

    Par défaut, les Robots ignorent les fichiers qu’ils ne connaissent pas. Le Robot 🤖/video/encode, par exemple, ignorera volontiers les images en entrée.

    Avec le paramètre force_accept défini sur true, vous pouvez forcer les Robots à accepter tous les fichiers qui leur sont envoyés. Cela entraîne généralement des erreurs et ne doit être utilisé que pour le débogage ou pour traiter des cas limites.

  • ignore_errors

    boolean | Array<meta | execute>(par défaut : [])

    Ignore les erreurs pendant certaines phases du traitement.

    Si vous définissez cette valeur sur ["meta"], le Robot ignorera les erreurs lors de l’extraction des métadonnées.

    Si vous définissez cette valeur sur ["execute"], le Robot ignorera les erreurs lors de la phase d’exécution principale.

    Définir cette valeur sur true équivaut à ["meta", "execute"] : les erreurs seront alors ignorées dans les deux phases.

  • use

    string | Array<string> | Array<object> | object

    Indique quel(s) Step(s) utiliser comme entrée.

    • Vous pouvez choisir n’importe quel nom pour les Steps, sauf ":original" (réservé aux téléversements des utilisateurs gérés par Transloadit)
    • Vous pouvez fournir plusieurs Steps en entrée à l’aide de tableaux :
      {
        "use": [
          ":original",
          "encoded",
          "resized"
        ]
      }
      
    • Vous pouvez également étiqueter les Steps d’entrée avec as pour transmettre une intention sémantique aux Robots :
      {
        "use": [
          {
            "name": ":original",
            "as": "image"
          },
          {
            "name": ":original",
            "as": "mask"
          }
        ]
      }
      
    Astuce

    C’est probablement tout ce que vous devez savoir sur use, mais vous pouvez consulter les cas d’utilisation avancés.

  • format

    jpg | png | webp(par défaut : "png")

    Le format de sortie de l’image modifiée.

  • direction

    horizontal | vertical | grid(par défaut : "horizontal")

    Spécifie la direction dans laquelle les images sont disposées.

    Utilisez grid pour disposer les entrées de gauche à droite et de haut en bas.

    S’applique uniquement à la disposition par défaut en planche de sprites. Ce paramètre est ignoré lorsque effect est défini sur polaroid-stack ou mosaic, car ces effets utilisent leurs propres algorithmes de disposition.

  • effect

    mosaic | polaroid-stack

    Applique une disposition en collage stylisé au lieu d’une simple planche de sprites horizontale ou verticale.

    Prend actuellement en charge polaroid-stack, qui génère un rendu des entrées sous forme de photos instantanées se chevauchant sur un canevas, et mosaic, qui crée un collage justifié en mosaïque.

  • columns

    string | number

    Nombre de colonnes de la grille. S’applique uniquement lorsque direction vaut grid.

    Si ce paramètre est omis, le nombre de colonnes est calculé automatiquement à partir du nombre d’entrées et du nombre de lignes demandé.

  • rows

    string | number

    Nombre de lignes de la grille. S’applique uniquement lorsque direction vaut grid.

    Si ce paramètre est omis, le nombre de lignes est calculé automatiquement à partir du nombre d’entrées et du nombre de colonnes demandé.

  • cell_width

    string | number

    Largeur uniforme de chaque cellule de la grille, en pixels. S’applique uniquement lorsque direction vaut grid.

    Les images sont redimensionnées pour tenir dans la cellule tout en conservant leur rapport d’aspect.

  • cell_height

    string | number

    Hauteur uniforme de chaque cellule de la grille, en pixels. S’applique uniquement lorsque direction vaut grid.

    Les images sont redimensionnées pour tenir dans la cellule tout en conservant leur rapport d’aspect.

  • border

    string | number(par défaut : 0)

    Une valeur entière qui définit l’espacement entre les images sur la planche de sprites.

    Une valeur de 10 produirait l’espacement maximal entre les images, tandis qu’une valeur de 1 les placerait côte à côte.

    Lorsque effect vaut polaroid-stack, cette valeur définit plutôt la marge intérieure du canevas, afin que les photos situées à la périphérie restent à cette distance, en pixels, du bord.

    Lorsque effect vaut mosaic, cette valeur définit à la fois la marge intérieure du canevas sur son pourtour et la largeur de la gouttière entre les tuiles voisines.

  • background

    string | transparent | none | black | white | red | green | blue | (par défaut : "#fff")

    Le code hexadécimal ou le nom⁠ de la couleur utilisée pour remplir l’arrière-plan (visible uniquement avec une bordure > 1).

    Par défaut, l’arrière-plan des images transparentes devient blanc. Définissez ce paramètre sur none ou transparent pour obtenir un canevas transparent — définissez format sur png ou webp pour préserver le canal alpha.

    Pour savoir comment préserver la transparence pour tous les types d’images, consultez cette démonstration EN (English).

  • width

    string | number

    Largeur du canevas de sortie en pixels.

    Ce paramètre est principalement utilisé par les effets stylisés tels que polaroid-stack et mosaic.

  • height

    string | number

    Hauteur du canevas de sortie en pixels.

    Ce paramètre est principalement utilisé par les effets stylisés tels que polaroid-stack et mosaic.

  • seed

    string | number

    Valeur d’initialisation déterministe facultative utilisée par les effets stylisés tels que polaroid-stack et mosaic.

  • shuffle

    boolean(par défaut : false)

    Indique si les effets stylisés tels que polaroid-stack et mosaic sont autorisés à mélanger l’ordre des entrées avant de les disposer sur le canevas.

  • sort_by

    auto | basename | import_order(par défaut : "basename")

    Contrôle l’ordre des entrées regroupées lorsqu’aucun alias numéroté explicite n’est utilisé pour le type d’entrée. Les alias numérotés se terminent par un suffixe numérique tel que _1.

    La valeur par défaut "basename" conserve l’ancien comportement de tri naturel par nom de base.

    Définissez cette option sur "import_order" pour préserver l’ordre des Steps d’importation basés sur un tableau lorsque tous les fichiers d’entrée portent des métadonnées d’ordre d’importation complètes. "auto" applique la même préférence pour l’ordre d’importation, avec le tri naturel par nom de base comme solution de repli.

  • coverage

    string | number

    Multiplicateur de surface couverte pour l’effet polaroid-stack. Contrôle la taille de chaque polaroïd par rapport au canevas et, par conséquent, la proportion du canevas couverte par les photos.

    La valeur par défaut de 1.5 laisse une discrète bordure beige le long de certains bords. Utilisez des valeurs de 2.0 à 2.5 pour couvrir le canevas d’un bord à l’autre (les photos se chevauchent davantage). Les valeurs inférieures à 1.0 produisent des polaroïds plus petits et plus espacés.

    N’a aucun effet sur le style mosaic ni sur les simples planches de sprites.

  • adaptive_filtering

    boolean(par défaut : false)

    Contrôle la compression des images PNG. La valeur true réduit la taille des fichiers, mais augmente le temps de traitement. Il est conseillé de laisser cette option désactivée.

  • quality

    string | number(par défaut : 100)

    Contrôle la compression des images JPG, PNG et WebP. Veuillez également consulter 🤖/image/optimize.

Démonstrations

  • Service to merge images into a grid layout EN (English)
  • Build a justified mosaic collage from uploaded images EN (English)
  • Build a polaroid-stack collage from uploaded images EN (English)

Articles de blog associés

  • Introducing the /image/merge Robot for spritesheets EN (English) 12 septembre 2022
  • Collage effects for /image/merge: polaroid-stack and mosaic EN (English) 16 avril 2026
Page précédente ← /image/enhance EN (English)Page suivante /image/optimize →
Contacter le support⁠

TransloaditVérification de l’état…

Produit

  • Services
  • Tarifs
  • Démos EN (English)
  • Outils
  • Sécurité
  • Support

Entreprise

  • À propos de Transloadit/Presse EN (English)
  • Blog EN (English)/Carrières EN (English)
  • Comparatifs/Matrice de conformité EN (English)
  • Recherche EN (English)
  • Projets open source
  • Solutions
  • Pionniers du web EN (English)

Documentation

  • Premiers pas
  • Transcodage EN (English)
  • FAQ
  • API
  • Guides/Astuces dev
  • Formats pris en charge EN (English)

Plus

  • État de la plateforme⁠
  • Forum de la communauté⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Confidentialité EN (English)Conditions EN (English)Mentions légales EN (English)
EnglishDeutschEspañolFrançaisPortuguês (Brasil)