Storage automation

Automated S3 video compression for product media pipelines

Compress videos from S3-compatible storage and write finished MP4 outputs back to your own bucket with API keys, idempotency, and worker execution reports.

Use this workflow when your application already stores customer videos in S3 or S3-compatible storage and needs a repeatable background compression step without moving ownership of the final files.

S3 source to S3 outputautomation
await client.createJob({
  externalId: "asset_123",
  metadata: { tenantId: "team_a", workflow: "s3-compression" },
  sourceS3: {
    bucket: "customer-source",
    key: "uploads/input.mov",
    region: "us-east-1"
  },
  codec: "h264",
  resolution: "1080p",
  fps: 30,
  audioPolicy: "transcode-aac",
  frameRatePolicy: "cap",
  scalePolicy: "no-upscale",
  confirm: true
}, {
  idempotencyKey: "asset_123:h264:1080p"
});

Keep source and output objects in customer-owned buckets.

Use explicit audio, frame-rate, and no-upscale policies.

Inspect sourceProbe, outputProbe, and effectiveExecution after completion.

Retry safely with deterministic idempotency keys.

Workflow

Built for jobs that should run without a human babysitting a tab

Each automation page maps to the same production path: API request, durable job row, queue, Rust worker, storage upload, terminal event, and reconciliation.

  1. Step 1

    Your backend receives or discovers a source object in S3-compatible storage.

  2. Step 2

    Your backend creates a Convertrilo job with sourceS3 and a stable idempotency key.

  3. Step 3

    The Rust worker probes, encodes, uploads the output, and records an execution report.

  4. Step 4

    Your app reads status or receives a webhook, then updates the asset record.

S3-compatible inputs

Use AWS S3 or compatible endpoints with bucket, key, region, endpoint, and path-style options.

Reportable execution

Completed jobs expose requested settings, actual encoder, media probes, warnings, and billing summary.

Compression defaults

H.264, AAC audio, FPS caps, and no-upscale output keep automated compression predictable.

Automation questions

Can outputs go back to my own bucket?

Yes. Use S3-compatible output settings when the finished file should live in your storage account instead of Convertrilo CDN.

Does Convertrilo transform HDR color?

No. The worker reports HDR and color metadata but does not claim HDR tone mapping or color transformation in this single-output phase.

How do I prevent duplicate compression jobs?

Use an idempotency key derived from the asset id and output recipe, such as asset_123:h264:1080p.

Related automation pages

Start with a real estimate

Choose your codec, resolution, FPS, bitrate, quality, and optimization settings. Convertrilo shows the NEU estimate before credits are reserved, and failed jobs release reserved credits back to your balance.