Open Video TranscodingNew Job in my.cubepath.com.

A job is one source, one destination and one list of outputs. There's no project, profile or preset to configure first, and nothing carries over between jobs: every submission brings its own source, its own destination and its own credentials. That's deliberate — it means a job is fully described by what you send, and you can generate them from code without any stored state to keep in sync.

Source

Choose the source type first, because it changes the rest of the form.

  • Download URL — an http:// or https:// URL we can fetch without credentials. The form rejects anything that isn't a full URL, and the service refuses URLs that resolve to private or internal addresses, so a link to something on your own LAN won't work.
  • S3 bucket — an object in a bucket you control. You supply the endpoint, region, bucket and object key, plus an access key and secret key. The object key is the path inside the bucket (videos/talk-42.mov), not a URL.

Whatever the source, it's read once. Ten outputs don't mean ten downloads.

Destination

The destination is always an S3-compatible bucket, and it's the only place the job writes. Fill it in even if it's the same bucket the source came from — input and output are configured separately.

FieldRequiredNotes
EndpointNoLeave empty for AWS S3. Set it for CubePath Object Storage, R2, B2, Wasabi or MinIO
RegionNoauto is fine for providers that ignore it
BucketYesThe one field the form always insists on
Destination prefixNoe.g. transcoded/. Everything the job writes lands under it
Access key / Secret keyIn practice yesOnly omit them if the bucket accepts anonymous writes — almost none do

Outputs

Add at least one output — a job with none is rejected. Each output is an independent rendition of the same source, and you can mix types freely: an MP4 for downloads, an HLS ladder for playback, thumbnails for a scrubber, a GIF for the card preview. The types and their parameters are covered in Outputs.

Advanced

Two optional fields, both worth setting:

  • Webhook URL — we POST to it when the job reaches a final state, so your pipeline doesn't have to poll. Delivery is best-effort and isn't retried; see Job status.
  • Idempotency key — a unique string of your choosing. If the same key is submitted again, you get the existing job back instead of a second one. Set it any time the caller might retry — a queue worker, a webhook handler, a user double-clicking Submit.

Submit

  1. 1
    Pick the source
    Choose URL or S3, then fill in the URL or the bucket and object key.
  2. 2
    Fill in the destination
    Endpoint, region, bucket, prefix and the credentials that can write there.
  3. 3
    Add your outputs
    One row per rendition. Start with a single MP4 if you're testing the path end to end.
  4. 4
    Submit
    The job appears in the list as queued and starts as capacity frees up.

When the form pushes back

MessageWhat to fix
Enter a valid download URLThe URL source needs a complete http(s):// URL
Enter the input object keyAn S3 source needs the object key as well as the bucket
Destination bucket is requiredThe destination bucket is empty
Add at least one outputEvery job needs one or more outputs
"Cannot target a private/internal address"A URL or S3 endpoint points at a private IP; use a public hostname
Rejected only on writesThe organization is unverified, suspended, or out of balance