Finish a short source video (<=60s, <=1080p, <=64MB, fetched by URL) into up to two platfo
Finish a short source video (<=60s, <=1080p, <=64MB, fetched by URL) into up to two platform-preset deliverables: caller-guided crop reframing between declared subject regions (never automatic detection), sidecar or burned-in subtitles with reflow, and EBU R128 loudness normalised to the preset target and measured, never claimed compliant. Includes a contact sheet. No rights clearance performed.
500000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-11
updated
Provider
video.api.williamrobinson.dev · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x26026370fe8b2bb17af9092a17691c76519366da",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "500000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"brand": null,
"deliverables": [
{
"captions": "burned",
"language": "en",
"preset": "youtube-16x9",
"sidecar": true
},
{
"captions": "none",
"language": null,
"preset": "shorts-9x16",
"sidecar": false
}
],
"options": {
"captionFontSizeFraction": 0.045,
"captionMaxCharsPerLine": 42,
"captionMaxLines": 2,
"normalizeLoudness": true
},
"sourceUrl": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/friday.mp4",
"subjects": [
{
"box": {
"h": 0.6,
"w": 0.35,
"x": 0.325,
"y": 0.2
},
"fromS": 0,
"toS": 6
}
],
"subtitles": [
{
"content": "1\n00:00:00,000 --> 00:00:02,000\nFriday afternoon at the switchboard\n\n2\n00:00:02,000 --> 00:00:04,000\nThe operators keep the calls moving\n\n3\n00:00:04,000 --> 00:00:06,000\nA vintage office comedy short\n",
"format": "srt",
"language": "en"
}
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"artifacts": [
{
"href": "https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/deliverable-1.mp4",
"mediaType": "video/mp4",
"name": "deliverable-1.mp4",
"sha256": "49ac9f1fc01420744a0382a2c2673b37192293f931f7309209ac1ccfe542f124",
"sizeBytes": 1957309
},
{
"href": "https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/deliverable-1.vtt",
"mediaType": "text/vtt; charset=utf-8",
"name": "deliverable-1.vtt",
"sha256": "6c54fd2c30a64a7fc364f2d1d4db20fc4441e12a188272d5558b12286193d160",
"sizeBytes": 208
},
{
"href": "https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/deliverable-2.mp4",
"mediaType": "video/mp4",
"name": "deliverable-2.mp4",
"sha256": "693b5bddc0ef5fe71b0081447c5b35156793ca26c9c234e07414311661491f73",
"sizeBytes": 1807537
},
{
"href": "https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/contact-sheet.png",
"mediaType": "image/png",
"name": "contact-sheet.png",
"sha256": "6710ddac57c231770d1ca624652ab3094a1d9d8d4a5ac34ff990358cb336a310",
"sizeBytes": 415969
},
{
"href": "https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/qc.json",
"mediaType": "application/json",
"name": "qc.json",
"sha256": "cffabe13efbdb3a47b85dd3d95fa781cc50e7f50751ca1b2445e5118a62daba8",
"sizeBytes": 963
},
{
"href": "https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json",
"mediaType": "application/json",
"name": "report.json",
"sha256": "fca0bf34f54ff0ea12bcced4c52ffe42d6893a4ba0da18d33be6ee182df67f83",
"sizeBytes": 3973
}
],
"checks": [
{
"code": "source_fetched",
"detail": "source fetched: 515198 bytes, sha256 339504acdef44f4e50c760e657cf76a8df60f25c91a239682abda56ac1886e90",
"status": "passed"
},
{
"code": "source_within_limits",
"detail": "640x480@30fps, 6.17s, codec h264",
"status": "passed"
},
{
"code": "no_black_or_frozen_segments",
"detail": "0 black and 0 frozen segment(s) found, none exceeding 3s",
"status": "passed"
},
{
"code": "subjects_kept_in_frame",
"detail": "All declared subjects remained within their deliverable's crop window.",
"status": "passed"
},
{
"code": "deliverables_generated",
"detail": "2 of 2 requested deliverable(s) generated",
"status": "passed"
},
{
"code": "subtitles_valid",
"detail": "all requested subtitle tracks parsed to at least one usable cue",
"status": "passed"
},
{
"code": "caption_timing_clean",
"detail": "no caption timing issues found",
"status": "passed"
},
{
"code": "fps_within_preset",
"detail": "deliverable-1: 30fps (preset max 60fps), deliverable-2: 30fps (preset max 60fps)",
"status": "passed"
},
{
"code": "loudness_on_target",
"detail": "2 of 2 deliverable(s) verified within the 1 LU tolerance",
"status": "passed"
}
],
"deliverables": [
{
"captionStats": {
"cues": 3,
"overlapsFixed": 0,
"reflowedCues": 0,
"shortCues": 0
},
"captions": "burned",
"detail": "deliverable generated",
"encodeMs": 3546,
"language": "en",
"loudness": {
"integratedLufs": -14.44,
"rangeLu": 2.4,
"truePeakDbtp": -1
},
"output": {
"audioChannels": 2,
"audioCodec": "aac",
"bitrateKbps": 2526,
"bytes": 1957309,
"container": "mov",
"durationS": 6.2,
"fps": 30,
"height": 1080,
"sampleRate": 48000,
"videoCodec": "h264",
"width": 1920
},
"preset": "youtube-16x9",
"reframe": [
{
"fromS": 0,
"h": 360,
"toS": 6.166,
"w": 640,
"x": 0,
"y": 60
}
],
"slot": "deliverable-1",
"spec": {
"aspect": "16:9",
"audioBitrateKbps": 192,
"height": 1080,
"loudnessLufs": -14,
"maxFps": 60,
"safeMargin": 0.05,
"truePeakDbtp": -1,
"videoBitrateKbps": 8000,
"width": 1920
},
"status": "generated"
},
{
"captionStats": null,
"captions": "none",
"detail": "deliverable generated",
"encodeMs": 3568,
"language": null,
"loudness": {
"integratedLufs": -14.44,
"rangeLu": 2.4,
"truePeakDbtp": -1
},
"output": {
"audioChannels": 2,
"audioCodec": "aac",
"bitrateKbps": 2332,
"bytes": 1807537,
"container": "mov",
"durationS": 6.2,
"fps": 30,
"height": 1920,
"sampleRate": 48000,
"videoCodec": "h264",
"width": 1080
},
"preset": "shorts-9x16",
"reframe": [
{
"fromS": 0,
"h": 480,
"toS": 6.166,
"w": 270,
"x": 185,
"y": 0
}
],
"slot": "deliverable-2",
"spec": {
"aspect": "9:16",
"audioBitrateKbps": 192,
"height": 1920,
"loudnessLufs": -14,
"maxFps": 60,
"safeMargin": 0.12,
"truePeakDbtp": -1,
"videoBitrateKbps": 8000,
"width": 1080
},
"status": "generated"
}
],
"expiresAt": "2026-09-11T15:45:22.967Z",
"limitations": [
"Encoded mp4 bytes are not bit-reproducible across runs (multithreaded x264 output); only the artifacts produced by this run are hashed and checked.",
"Reframing follows only the caller-declared subject boxes; no face, object, or saliency detection is performed.",
"Loudness is measured and normalised per EBU R128 as computed by ffmpeg's loudnorm/ebur128 filters; this is not a platform loudness-compliance certification.",
"Delivery presets reflect typical platform recommendations at the time this service was built; verify against the platform's current published specs before publishing.",
"No rights, copyright, or content-moderation checks are performed on the source video.",
"Artifacts are retained for up to 6 hours, subject to a 1 GiB storage cap for this product; heavy concurrent demand may evict a job's artifacts sooner than the stated TTL."
],
"qc": {
"blackSegments": [],
"frozenSegments": [],
"silentSegments": [],
"subtitleIssues": []
},
"source": {
"audioChannels": 2,
"audioCodec": "aac",
"bitrateKbps": 668,
"bytes": 515198,
"container": "mov",
"durationS": 6.166,
"fps": 30,
"height": 480,
"loudness": {
"integratedLufs": -31.4,
"rangeLu": 2.5,
"truePeakDbtp": -17.1
},
"sampleRate": 44100,
"sha256": "339504acdef44f4e50c760e657cf76a8df60f25c91a239682abda56ac1886e90",
"url": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/friday.mp4",
"videoCodec": "h264",
"width": 640
},
"status": "passed",
"tools": {
"ffmpeg": "7.1.5-0+deb13u1",
"runner": "23ms"
},
"truncated": false,
"warnings": []
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"brand": {
"additionalProperties": false,
"properties": {
"logoPng": {
"contentEncoding": "base64",
"description": "Base64 PNG (<= 262144 bytes decoded), or null.",
"maxLength": 349528,
"type": [
"string",
"null"
]
},
"position": {
"enum": [
"top-left",
"top-right",
"bottom-left",
"bottom-right"
],
"type": "string"
},
"widthFraction": {
"description": "Logo width as a fraction of output width.",
"maximum": 0.3,
"minimum": 0.05,
"type": "number"
}
},
"required": [
"logoPng",
"position",
"widthFraction"
],
"type": [
"object",
"null"
]
},
"deliverables": {
"items": {
"additionalProperties": false,
"properties": {
"captions": {
"enum": [
"burned",
"sidecar",
"none"
],
"type": "string"
},
"language": {
"description": "Must reference a subtitles[] language when captions is not \"none\"; must be null when captions is \"none\".",
"type": [
"string",
"null"
]
},
"preset": {
"enum": [
"youtube-16x9",
"shorts-9x16",
"reels-9x16",
"tiktok-9x16",
"square-1x1",
"feed-4x5"
],
"type": "string"
},
"sidecar": {
"description": "Also produce the sidecar .vtt when captions is \"burned\".",
"type": "boolean"
}
},
"required": [
"preset",
"language",
"captions",
"sidecar"
],
"type": "object"
},
"maxItems": 2,
"minItems": 1,
"type": "array"
},
"options": {
"additionalProperties": false,
"properties": {
"captionFontSizeFraction": {
"default": 0.045,
"maximum": 0.12,
"minimum": 0.02,
"type": "number"
},
"captionMaxCharsPerLine": {
"default": 42,
"maximum": 80,
"minimum": 10,
"type": "integer"
},
"captionMaxLines": {
"default": 2,
"maximum": 4,
"minimum": 1,
"type": "integer"
},
"normalizeLoudness": {
"default": true,
"type": "boolean"
}
},
"type": "object"
},
"sourceUrl": {
"description": "Public HTTPS URL of the source video (mp4/mov/webm/mkv, <= 67108864 bytes, <= 60s, <= 1080p). Fetched by the service before processing.",
"format": "uri",
"maxLength": 2048,
"type": "string"
},
"subjects": {
"description": "Regions of interest the reframer must keep in view; empty means centre-crop.",
"items": {
"additionalProperties": false,
"properties": {
"box": {
"additionalProperties": false,
"description": "Region of interest in source-pixel fractions.",
"properties": {
"h": {
"exclusiveMinimum": 0,
"maximum": 1,
"type": "number"
},
"w": {
"exclusiveMinimum": 0,
"maximum": 1,
"type": "number"
},
"x": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"y": {
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"required": [
"x",
"y",
"w",
"h"
],
"type": "object"
},
"fromS": {
"maximum": 60,
"minimum": 0,
"type": "number"
},
"toS": {
"description": "Must be greater than fromS.",
"maximum": 60,
"minimum": 0,
"type": "number"
}
},
"required": [
"fromS",
"toS",
"box"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"subtitles": {
"items": {
"additionalProperties": false,
"properties": {
"content": {
"description": "Subtitle file contents (UTF-8 bytes capped, not characters).",
"maxLength": 131072,
"minLength": 1,
"type": "string"
},
"format": {
"enum": [
"srt",
"vtt"
],
"type": "string"
},
"language": {
"description": "BCP-47-style language tag, e.g. \"en\" or \"pt-BR\"; unique across subtitles.",
"pattern": "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
"type": "string"
}
},
"required": [
"language",
"format",
"content"
],
"type": "object"
},
"maxItems": 6,
"type": "array"
}
},
"required": [
"sourceUrl",
"subtitles",
"subjects",
"brand",
"deliverables",
"options"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"$defs": {
"artifact": {
"additionalProperties": false,
"properties": {
"href": {
"format": "uri",
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"enum": [
"deliverable-1.mp4",
"deliverable-1.vtt",
"deliverable-2.mp4",
"deliverable-2.vtt",
"contact-sheet.png",
"qc.json",
"report.json"
],
"type": "string"
},
"sha256": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"sizeBytes": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"name",
"mediaType",
"sizeBytes",
"sha256",
"href"
],
"type": "object"
},
"captionStats": {
"additionalProperties": false,
"properties": {
"cues": {
"minimum": 0,
"type": "integer"
},
"overlapsFixed": {
"minimum": 0,
"type": "integer"
},
"reflowedCues": {
"minimum": 0,
"type": "integer"
},
"shortCues": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"cues",
"reflowedCues",
"overlapsFixed",
"shortCues"
],
"type": "object"
},
"loudness": {
"additionalProperties": false,
"properties": {
"integratedLufs": {
"type": "number"
},
"rangeLu": {
"minimum": 0,
"type": "number"
},
"truePeakDbtp": {
"type": "number"
}
},
"required": [
"integratedLufs",
"rangeLu",
"truePeakDbtp"
],
"type": "object"
},
"presetSpec": {
"additionalProperties": false,
"properties": {
"aspect": {
"enum": [
"16:9",
"9:16",
"1:1",
"4:5"
],
"type": "string"
},
"audioBitrateKbps": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"minimum": 1,
"type": "integer"
},
"loudnessLufs": {
"type": "number"
},
"maxFps": {
"exclusiveMinimum": 0,
"type": "number"
},
"safeMargin": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"truePeakDbtp": {
"type": "number"
},
"videoBitrateKbps": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"aspect",
"width",
"height",
"maxFps",
"loudnessLufs",
"truePeakDbtp",
"videoBitrateKbps",
"audioBitrateKbps",
"safeMargin"
],
"type": "object"
},
"reframeWindow": {
"additionalProperties": false,
"properties": {
"fromS": {
"minimum": 0,
"type": "number"
},
"h": {
"exclusiveMinimum": 0,
"type": "integer"
},
"toS": {
"minimum": 0,
"type": "number"
},
"w": {
"exclusiveMinimum": 0,
"type": "integer"
},
"x": {
"minimum": 0,
"type": "integer"
},
"y": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"fromS",
"toS",
"x",
"y",
"w",
"h"
],
"type": "object"
},
"streamInfo": {
"additionalProperties": false,
"properties": {
"audioChannels": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"audioCodec": {
"type": [
"string",
"null"
]
},
"bitrateKbps": {
"minimum": 0,
"type": "number"
},
"bytes": {
"minimum": 0,
"type": "integer"
},
"container": {
"type": "string"
},
"durationS": {
"minimum": 0,
"type": "number"
},
"fps": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"minimum": 1,
"type": "integer"
},
"sampleRate": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"videoCodec": {
"type": "string"
},
"width": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"container",
"videoCodec",
"width",
"height",
"fps",
"durationS",
"audioCodec",
"audioChannels",
"sampleRate",
"bitrateKbps",
"bytes"
],
"type": "object"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"artifacts": {
"items": {
"$ref": "#/properties/output/properties/example/$defs/artifact"
},
"maxItems": 7,
"type": "array"
},
"checks": {
"items": {
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"detail": {
"type": "string"
},
"status": {
"enum": [
"passed",
"failed",
"not_checked"
],
"type": "string"
}
},
"required": [
"code",
"status",
"detail"
],
"type": "object"
},
"type": "array"
},
"deliverables": {
"items": {
"additionalProperties": false,
"properties": {
"captionStats": {
"anyOf": [
{
"$ref": "#/properties/output/properties/example/$defs/captionStats"
},
{
"type": "null"
}
]
},
"captions": {
"enum": [
"burned",
"sidecar",
"none"
],
"type": "string"
},
"detail": {
"type": "string"
},
"encodeMs": {
"minimum": 0,
"type": "number"
},
"language": {
"type": [
"string",
"null"
]
},
"loudness": {
"anyOf": [
{
"$ref": "#/properties/output/properties/example/$defs/loudness"
},
{
"type": "null"
}
]
},
"output": {
"anyOf": [
{
"$ref": "#/properties/output/properties/example/$defs/streamInfo"
},
{
"type": "null"
}
]
},
"preset": {
"enum": [
"youtube-16x9",
"shorts-9x16",
"reels-9x16",
"tiktok-9x16",
"square-1x1",
"feed-4x5"
],
"type": "string"
},
"reframe": {
"items": {
"$ref": "#/properties/output/properties/example/$defs/reframeWindow"
},
"type": "array"
},
"slot": {
"enum": [
"deliverable-1",
"deliverable-2"
],
"type": "string"
},
"spec": {
"$ref": "#/properties/output/properties/example/$defs/presetSpec"
},
"status": {
"enum": [
"generated",
"failed"
],
"type": "string"
}
},
"required": [
"slot",
"preset",
"spec",
"language",
"captions",
"status",
"detail",
"output",
"loudness",
"reframe",
"captionStats",
"encodeMs"
],
"type": "object"
},
"maxItems": 2,
"type": "array"
},
"expiresAt": {
"format": "date-time",
"type": "string"
},
"limitations": {
"items": {
"type": "string"
},
"maxItems": 100,
"type": "array"
},
"qc": {
"additionalProperties": false,
"properties": {
"blackSegments": {
"items": {
"additionalProperties": false,
"properties": {
"fromS": {
"minimum": 0,
"type": "number"
},
"toS": {
"minimum": 0,
"type": "number"
}
},
"required": [
"fromS",
"toS"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"frozenSegments": {
"items": {
"additionalProperties": false,
"properties": {
"fromS": {
"minimum": 0,
"type": "number"
},
"toS": {
"minimum": 0,
"type": "number"
}
},
"required": [
"fromS",
"toS"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"silentSegments": {
"items": {
"additionalProperties": false,
"properties": {
"fromS": {
"minimum": 0,
"type": "number"
},
"toS": {
"minimum": 0,
"type": "number"
}
},
"required": [
"fromS",
"toS"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"subtitleIssues": {
"items": {
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"cue": {
"minimum": 0,
"type": "integer"
},
"detail": {
"type": "string"
},
"language": {
"type": "string"
}
},
"required": [
"language",
"cue",
"code",
"detail"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"blackSegments",
"frozenSegments",
"silentSegments",
"subtitleIssues"
],
"type": "object"
},
"source": {
"additionalProperties": false,
"properties": {
"audioChannels": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"audioCodec": {
"type": [
"string",
"null"
]
},
"bitrateKbps": {
"minimum": 0,
"type": "number"
},
"bytes": {
"minimum": 0,
"type": "integer"
},
"container": {
"type": "string"
},
"durationS": {
"minimum": 0,
"type": "number"
},
"fps": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"minimum": 1,
"type": "integer"
},
"loudness": {
"anyOf": [
{
"$ref": "#/properties/output/properties/example/$defs/loudness"
},
{
"type": "null"
}
]
},
"sampleRate": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"sha256": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"url": {
"type": "string"
},
"videoCodec": {
"type": "string"
},
"width": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"container",
"videoCodec",
"width",
"height",
"fps",
"durationS",
"audioCodec",
"audioChannels",
"sampleRate",
"bitrateKbps",
"bytes",
"url",
"sha256",
"loudness"
],
"type": "object"
},
"status": {
"enum": [
"passed",
"failed"
],
"type": "string"
},
"tools": {
"additionalProperties": false,
"properties": {
"ffmpeg": {
"type": "string"
},
"runner": {
"type": "string"
}
},
"required": [
"ffmpeg",
"runner"
],
"type": "object"
},
"truncated": {
"type": "boolean"
},
"warnings": {
"items": {
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"status",
"tools",
"source",
"deliverables",
"qc",
"checks",
"warnings",
"limitations",
"truncated",
"expiresAt",
"artifacts"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"builder-code": {
"info": {
"s": [
"cdp_sdk_server"
]
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"a": {
"description": "App builder code",
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"s": {
"description": "Service builder codes",
"items": {
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"maxItems": 11,
"type": "array"
},
"w": {
"description": "Wallet builder code",
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
}
},
"type": "object"
}
},
"eip2612GasSponsoring": {},
"erc20ApprovalGasSponsoring": {},
"payment-identifier": {
"info": {
"required": true
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"maxLength": 128,
"minLength": 16,
"pattern": "^[a-zA-Z0-9_-]+$",
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"required"
],
"type": "object"
}
}
}Use it
curl
curl "https://video.api.williamrobinson.dev/v1/video/finish" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://video.api.williamrobinson.dev/v1/video/finish");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://video.api.williamrobinson.dev/v1/video/finish")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/8201.json, and this resource appears in /discovery/resources and /discovery/search.