{
  "x402Version": 2,
  "id": 1412,
  "slug": "1412",
  "resource": "https://stabletube.dev/api/download",
  "description": "Create a paid StableTube download job. StableTube downloads the video server-side, uploads the mp4 to S3, and returns a temporary StableTube-owned download URL when ready.",
  "type": "http",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xF4B8037bF3709f37c5FfE224004D2e61833d084C",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "100000",
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "format": "mp4",
            "quality": "720p",
            "tier": "tube-500mb",
            "type": "stabletube.download",
            "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "example": {
            "contentLengthBytes": 23456789,
            "downloadUrl": "https://stabletube-bucket.s3.us-east-1.amazonaws.com/...",
            "durationSec": 213,
            "expiresAt": "2026-05-04T18:00:00.000Z",
            "format": "mp4",
            "jobId": "clxstabletubejob123",
            "maxBytes": 524288000,
            "mimeType": "video/mp4; codecs=\"avc1.64001F, mp4a.40.2\"",
            "price": "0.10",
            "quality": "720p",
            "status": "complete",
            "tier": "tube-500mb",
            "title": "Rick Astley - Never Gonna Give You Up (Official Video)",
            "videoId": "dQw4w9WgXcQ"
          },
          "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": {
                  "clientRequestId": {
                    "description": "Optional idempotency key scoped to the paying wallet.",
                    "maxLength": 120,
                    "minLength": 1,
                    "type": "string"
                  },
                  "format": {
                    "default": "mp4",
                    "description": "Output container format. mp4 only for now.",
                    "enum": [
                      "mp4"
                    ],
                    "type": "string"
                  },
                  "quality": {
                    "description": "Required target video quality. The request fails if unavailable.",
                    "enum": [
                      "360p",
                      "720p",
                      "1080p"
                    ],
                    "type": "string"
                  },
                  "tier": {
                    "description": "Required output size tier: tube-100mb (100 MB, $0.05) | tube-500mb (500 MB, $0.10) | tube-1gb (1 GB, $0.20).",
                    "enum": [
                      "tube-100mb",
                      "tube-500mb",
                      "tube-1gb"
                    ],
                    "type": "string"
                  },
                  "type": {
                    "const": "stabletube.download",
                    "default": "stabletube.download",
                    "type": "string"
                  },
                  "url": {
                    "description": "Full YouTube URL of the video to download.",
                    "format": "uri",
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "url",
                  "quality",
                  "tier",
                  "format"
                ],
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "oneOf": [
                  {
                    "additionalProperties": false,
                    "properties": {
                      "jobId": {
                        "type": "string"
                      },
                      "maxBytes": {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      "price": {
                        "type": "string"
                      },
                      "retryAfterSec": {
                        "default": 5,
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      "status": {
                        "const": "processing",
                        "type": "string"
                      },
                      "tier": {
                        "enum": [
                          "tube-100mb",
                          "tube-500mb",
                          "tube-1gb"
                        ],
                        "type": "string"
                      },
                      "videoId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "status",
                      "jobId",
                      "videoId",
                      "tier",
                      "maxBytes",
                      "retryAfterSec"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "contentLengthBytes": {
                        "anyOf": [
                          {
                            "maximum": 9007199254740991,
                            "minimum": -9007199254740991,
                            "type": "integer"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "downloadUrl": {
                        "description": "Temporary StableTube-owned S3 download URL. Fetch before expiresAt or poll the job again for a fresh URL.",
                        "format": "uri",
                        "type": "string"
                      },
                      "durationSec": {
                        "anyOf": [
                          {
                            "maximum": 9007199254740991,
                            "minimum": -9007199254740991,
                            "type": "integer"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "expiresAt": {
                        "format": "date-time",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
                        "type": "string"
                      },
                      "format": {
                        "enum": [
                          "mp4"
                        ],
                        "type": "string"
                      },
                      "jobId": {
                        "type": "string"
                      },
                      "maxBytes": {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      "mimeType": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "price": {
                        "type": "string"
                      },
                      "quality": {
                        "enum": [
                          "360p",
                          "720p",
                          "1080p"
                        ],
                        "type": "string"
                      },
                      "status": {
                        "const": "complete",
                        "type": "string"
                      },
                      "tier": {
                        "enum": [
                          "tube-100mb",
                          "tube-500mb",
                          "tube-1gb"
                        ],
                        "type": "string"
                      },
                      "title": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "videoId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "status",
                      "jobId",
                      "videoId",
                      "quality",
                      "tier",
                      "format",
                      "maxBytes",
                      "downloadUrl",
                      "expiresAt"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "error": {
                        "additionalProperties": false,
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "code",
                          "message"
                        ],
                        "type": "object"
                      },
                      "jobId": {
                        "type": "string"
                      },
                      "maxBytes": {
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991,
                        "type": "integer"
                      },
                      "price": {
                        "type": "string"
                      },
                      "status": {
                        "const": "failed",
                        "type": "string"
                      },
                      "tier": {
                        "enum": [
                          "tube-100mb",
                          "tube-500mb",
                          "tube-1gb"
                        ],
                        "type": "string"
                      },
                      "videoId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "status",
                      "jobId",
                      "error"
                    ],
                    "type": "object"
                  }
                ],
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "bazaar"
  ],
  "sourceHost": "stabletube.dev",
  "lastUpdated": "2026-09-17T18:27:07.901Z",
  "quality": {
    "calls30d": 23,
    "uniquePayers30d": 7,
    "lastCalledAt": "2026-09-17T18:27:07.412Z"
  },
  "liveness": {},
  "verified": false,
  "featured": false,
  "provider": {
    "host": "stabletube.dev",
    "manifest_name": "stabletube.dev",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-09-18T22:00:31.484Z"
  }
}