Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions concepts/job.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,15 @@ Each entry in `file` and `files` is the same shape:
"path": "output.mp4",
"type": "video",
"size": 4194304,
"sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e",
"meta": { "format": "mp4", "width": 1280, "height": 720, "durationMs": 30000 }
}
```

`url` is a signed link that expires at `output.expiresAt`. `path` is the filename the job wrote. `type` is an open enum (`video`, `image`, `audio`, `captions`, `playlist`, `data`, `other`), so tolerate values you do not recognize. `size` is bytes, and `meta` carries probed `format`, `width`, `height`, and `durationMs` when known.

`sha256` is the SHA-256 of the file's bytes as 64 lowercase hex characters. Hash your download, or the copy delivered to your own bucket, and compare the two strings to confirm you have the file the job produced. The field is always present. It is `null` for a job that completed before 10 October 2026 and for the individual files of a multi-file output.

### Four patterns, one shape

Which fields are populated depends on what the job produced.
Expand All @@ -145,9 +148,9 @@ The common case for transform jobs. `file` is the output, `files` lists it, `dat
```json
{
"data": null,
"file": { "url": "https://api.rendobar.com/dl/job_abc123?token=<token>", "path": "output.mp4", "type": "video", "size": 4194304 },
"file": { "url": "https://api.rendobar.com/dl/job_abc123?token=<token>", "path": "output.mp4", "type": "video", "size": 4194304, "sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e" },
"files": [
{ "url": "https://api.rendobar.com/dl/job_abc123?token=<token>", "path": "output.mp4", "type": "video", "size": 4194304 }
{ "url": "https://api.rendobar.com/dl/job_abc123?token=<token>", "path": "output.mp4", "type": "video", "size": 4194304, "sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e" }
],
"expiresAt": 1735689600000
}
Expand All @@ -161,10 +164,10 @@ An HLS or DASH stream. `file` is the manifest, typed `playlist`. Point a player
```json
{
"data": null,
"file": { "url": "https://api.rendobar.com/v/job_abc123/<token>/master.m3u8", "path": "master.m3u8", "type": "playlist", "size": 412 },
"file": { "url": "https://api.rendobar.com/v/job_abc123/<token>/master.m3u8", "path": "master.m3u8", "type": "playlist", "size": 412, "sha256": null },
"files": [
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/master.m3u8", "path": "master.m3u8", "type": "playlist", "size": 412 },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/seg_000.ts", "path": "seg_000.ts", "type": "video", "size": 1048576 }
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/master.m3u8", "path": "master.m3u8", "type": "playlist", "size": 412, "sha256": null },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/seg_000.ts", "path": "seg_000.ts", "type": "video", "size": 1048576, "sha256": null }
],
"expiresAt": 1735689600000
}
Expand All @@ -180,8 +183,8 @@ An unordered set with no single headline, such as an image sequence or a resolut
"data": null,
"file": null,
"files": [
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_000.png", "path": "frame_000.png", "type": "image", "size": 204800 },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_001.png", "path": "frame_001.png", "type": "image", "size": 205120 }
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_000.png", "path": "frame_000.png", "type": "image", "size": 204800, "sha256": null },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_001.png", "path": "frame_001.png", "type": "image", "size": 205120, "sha256": null }
],
"expiresAt": 1735689600000
}
Expand Down
3 changes: 2 additions & 1 deletion guides/webhooks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -173,9 +173,10 @@ A `job.completed` delivery. `output.file.url` is a signed, time-limited URL, and
"path": "output.mp4",
"type": "video",
"size": 15234567,
"sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e",
"meta": { "format": "mp4", "width": 1920, "height": 1080, "durationMs": 127500 }
},
"files": [{ "url": "https://r2.rendobar.com/...", "path": "output.mp4", "type": "video", "size": 15234567 }],
"files": [{ "url": "https://r2.rendobar.com/...", "path": "output.mp4", "type": "video", "size": 15234567, "sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e" }],
"expiresAt": 1707440415000
},
"cost": { "amount": 50000000, "currency": "USD", "formatted": "$0.05" },
Expand Down
19 changes: 12 additions & 7 deletions jobs/ffmpeg.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,7 @@ A command that writes one file sets `output.file` to that file, and `output.file
"path": "output.mp4",
"type": "video",
"size": 4194304,
"sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e",
"meta": { "format": "mp4", "width": 1280, "height": 720, "durationMs": 30000 }
},
"files": [
Expand All @@ -362,6 +363,7 @@ A command that writes one file sets `output.file` to that file, and `output.file
"path": "output.mp4",
"type": "video",
"size": 4194304,
"sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e",
"meta": { "format": "mp4", "width": 1280, "height": 720, "durationMs": 30000 }
}
],
Expand All @@ -371,6 +373,8 @@ A command that writes one file sets `output.file` to that file, and `output.file
}
```

`sha256` is the SHA-256 of the output file. To confirm a download or a delivered copy, hash it with `sha256sum` and compare the result with `output.file.sha256`. You do not need a second job with `-f hash` to get a checksum of an output.

A command that writes a stream (HLS or DASH) sets `output.file` to the manifest, typed `playlist`. Point a player at `output.file.url` directly. `output.files` carries the manifest plus every segment:

```json
Expand All @@ -394,12 +398,13 @@ A command that writes a stream (HLS or DASH) sets `output.file` to the manifest,
"url": "https://api.rendobar.com/v/job_abc123/<token>/master.m3u8",
"path": "master.m3u8",
"type": "playlist",
"size": 412
"size": 412,
"sha256": null
},
"files": [
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/master.m3u8", "path": "master.m3u8", "type": "playlist", "size": 412 },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/seg_000.ts", "path": "seg_000.ts", "type": "video", "size": 1048576 },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/seg_001.ts", "path": "seg_001.ts", "type": "video", "size": 1041203 }
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/master.m3u8", "path": "master.m3u8", "type": "playlist", "size": 412, "sha256": null },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/seg_000.ts", "path": "seg_000.ts", "type": "video", "size": 1048576, "sha256": null },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/seg_001.ts", "path": "seg_001.ts", "type": "video", "size": 1041203, "sha256": null }
],
"expiresAt": 1735689600000
}
Expand All @@ -418,9 +423,9 @@ A command that writes an unordered set (image sequence, `-f segment`, a resoluti
"data": null,
"file": null,
"files": [
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_000.png", "path": "frame_000.png", "type": "image", "size": 204800 },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_001.png", "path": "frame_001.png", "type": "image", "size": 205120 },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_002.png", "path": "frame_002.png", "type": "image", "size": 203904 }
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_000.png", "path": "frame_000.png", "type": "image", "size": 204800, "sha256": null },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_001.png", "path": "frame_001.png", "type": "image", "size": 205120, "sha256": null },
{ "url": "https://api.rendobar.com/v/job_abc123/<token>/frame_002.png", "path": "frame_002.png", "type": "image", "size": 203904, "sha256": null }
],
"expiresAt": 1735689600000
}
Expand Down
1 change: 1 addition & 0 deletions jobs/image-edit.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ A completed job carries a single webp file in `output.file`, typed `image`. `out
"path": "output.webp",
"type": "image",
"size": 498000,
"sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e",
"meta": { "format": "webp", "width": 1024, "height": 1024 }
},
"files": [
Expand Down
1 change: 1 addition & 0 deletions jobs/image-generate.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ A completed job carries a single webp file in `output.file`. `output.data` is `n
"path": "output.webp",
"type": "image",
"size": 512000,
"sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e",
"meta": { "format": "webp", "width": 1024, "height": 1024 }
},
"files": [
Expand Down
1 change: 1 addition & 0 deletions jobs/image-upscale.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ png rather than webp on purpose. Re-compressing lossily is the one thing that wo
"path": "output.png",
"type": "image",
"size": 4194304,
"sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e",
"meta": { "format": "png", "width": 3840, "height": 2160 }
},
"expiresAt": 1735689600000
Expand Down
2 changes: 2 additions & 0 deletions quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ When `status` is `complete`, the response contains an `output` object. The file
"path": "output.mp4",
"type": "video",
"size": 4194304,
"sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e",
"meta": { "format": "mp4", "width": 1280, "height": 720, "durationMs": 30000 }
},
"files": [
Expand All @@ -133,6 +134,7 @@ When `status` is `complete`, the response contains an `output` object. The file
"path": "output.mp4",
"type": "video",
"size": 4194304,
"sha256": "9f2c41d0b7a3e5f48c1d6e02a97b3c5f1e8d4a60b2c7f9e3d5a1b8c4e6f0a41e",
"meta": { "format": "mp4", "width": 1280, "height": 720, "durationMs": 30000 }
}
],
Expand Down
Loading