Tus + Companion with Transloadit?

It’s a little unclear from the docs, so I’d like to get some clarification.

If we use transloadit do we get pre-configured Tus & Companion servers/urls to use without having to set up our own?

In this demo https://uppy.io/examples/transloadit/ it appears so?


That’s correct, if you use the Robodog plugin, those URLs all get configured for you. If you use the lower-level Transloadit plugin, you’ll have to pass them in yourself :ok_hand:

Happy to follow up if you have more questions!

Great ty.

Happy to follow up if you have more questions!

With regards to multipart (https://uppy.io/docs/aws-s3-multipart/) is that also supported by the transloadit/robodog solution?

With Robodog, you’d typically upload to Transloadit’s ingestion network, and then Transloadit performs some converstion, and uploads both the original and mutations to its final destination (if s3, via multipart yes).

If you’d want to upload directly to aws s3, you could make Transloadit then import the files and do something with it, but this requires more boilerplate on your part as it’s not among the primary use cases that Robodog was built for. It would probably be better to not use Robodog then, but use the lower-level Transloadit Plugin to string things together.

Does that help?

Initially the use of Transloadit is not so much for processing but leveraging the global network to speed uploads (if I’m correct that’s one of the benefits in addition to the processing?)

Multipart is needed because we’re dealing with large files of up to 2 gb, and a whole job could be up to 14gb. I’m still getting my head around all the options and configurations as to which is the best combination of solutions, while I test out the flows & WordPress integration options.

To clarify, the original upload to Transloadit is also multipart isn’t it?
If not, how robust is Transloadit for ingesting large files in the multi-gb range?
ref: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html

Yes this uses tus for chunking/resumability. In comparison with aws s3 multipart, tus:

  • is an open protocol
  • supports 1 byte chunks (vs 5megabyte minimal) making it very well suited for resuming in basements, rural- or non-first-world areas
  • as transloadit runs it, has its ingestion globally distributed (while with s3 people in asia would upload to a us-east-1 bucket, or vice versa)

That’s great, ty. I think you should add this to the docs, it’s useful info (or maybe I missed it?).

I don’t think it is in these clear terms, would you mind opening a PR with this improvement and get your name cemented in Uppy history? :slight_smile:

Sure. Let me have think about other info I’ve found useful and where it could be added to help out first time users.

1 Like

According to https://uppy.io/docs/transloadit/ Tus is already included so we don’t actually need to do anything there?
ie: “As of Uppy version 0.24, the Transloadit plugin includes the Tus plugin to handle the uploading, so you no longer have to add it manually”

and with companionion you’re referring to " When using Transloadit.COMPANION , you should also configure companionAllowedHosts: Transloadit.COMPANION_PATTERN .
The value of this constant is https://api2.transloadit.com/companion ."

For each Source plugin you’ll have to repeatedly pass the companion locations yeah, Robodog does this for you. As for Tus, you might be right and my knowledge is outdated :slight_smile:

Two Uppy devs are on holidays so i’m trying to fill in for them a bit here :slight_smile:

Hi @kvz , can you please explain how would you use Transloadit plugin to just return signed URL to S3, using Companion hosted on Transloadit?