FlashData · Schema
AsyncQuery_youtube_download
YouTube Download. Supported modes: async, batch. Provider-specific storage requirements and conditional media options are validated by the server; see the source reference.
SERPVideo MetadataMedia DownloadCloud StorageDeveloper ToolsAI Agents
Properties
| Name | Type | Description |
|---|---|---|
| source | string | |
| video_id | string | |
| params | object | |
| callback_url | stringnull | Async and batch only. Public HTTPS URL on port 443 without credentials or a fragment. Omit, null or empty string disables callbacks. Server validates public reachability. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/flashdata-dev/json-schema/flashdata-dev-async-query-youtube-download-schema.json",
"title": "AsyncQuery_youtube_download",
"description": "YouTube Download. Supported modes: async, batch. Provider-specific storage requirements and conditional media options are validated by the server; see the source reference.",
"x-generated": "2026-11-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/flashdata-dev-openapi.json#/components/schemas/AsyncQuery_youtube_download",
"type": "object",
"required": [
"source",
"video_id",
"params"
],
"properties": {
"source": {
"type": "string",
"const": "youtube_download"
},
"video_id": {
"type": "string",
"minLength": 11,
"maxLength": 11,
"pattern": "^[A-Za-z0-9_-]{11}$"
},
"params": {
"type": "object",
"additionalProperties": false,
"properties": {
"download_type": {
"type": "string",
"minLength": 1,
"maxLength": 11,
"default": "audio_video",
"enum": [
"audio_video",
"video",
"audio"
]
},
"video_quality": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"default": "<=720",
"enum": [
"best",
"worst",
"<=144",
"==144",
">=144",
"<=360",
"==360",
">=360",
"<=480",
"==480",
">=480",
"<=720",
"==720",
">=720",
"<=1080",
"==1080",
">=1080",
"<=1440",
"==1440",
">=1440",
"<=2160",
"==2160",
">=2160",
"<=4320",
"==4320",
">=4320"
]
},
"fps": {
"type": "string",
"minLength": 1,
"maxLength": 6,
"pattern": "^(?:>=|<=|==)(?:[1-9]\\d?|1\\d\\d|2[0-3]\\d|240)$"
},
"audio_language": {
"type": "string",
"minLength": 1,
"maxLength": 8,
"default": "default",
"enum": [
"default",
"original"
]
},
"audio_quality": {
"type": "string",
"minLength": 1,
"maxLength": 10,
"default": "best",
"enum": [
"best",
"320",
"256",
"192",
"128"
]
},
"yt_dlp_format": {
"type": "string",
"minLength": 1,
"maxLength": 1024
},
"upload_metadata": {
"type": "boolean",
"default": false
},
"output_format": {
"type": "string",
"minLength": 1,
"maxLength": 10,
"default": "mp4",
"enum": [
"mp4",
"webm",
"mkv",
"m4a",
"mp3",
"opus"
]
},
"start_at": {
"type": "string",
"minLength": 1,
"maxLength": 8,
"pattern": "^\\d{1,2}:[0-5]\\d:[0-5]\\d$"
},
"end_at": {
"type": "string",
"minLength": 1,
"maxLength": 8,
"pattern": "^\\d{1,2}:[0-5]\\d:[0-5]\\d$"
},
"storage": {
"type": "object",
"additionalProperties": false,
"required": [
"storage_type",
"storage_url"
],
"description": "Customer-owned destination, using the same fields as Download API params.storage. Supply credentials from your configured storage; do not invent values or display secrets. GCS uses service_account; Azure uses account_name and a container SAS with write permission; other providers use access_key/secret_key and provider endpoint/region as needed.",
"properties": {
"storage_type": {
"type": "string",
"enum": [
"azure",
"bos",
"cos",
"gcs",
"oss",
"s3",
"s3_compatible",
"tos"
]
},
"storage_url": {
"type": "string",
"minLength": 1,
"maxLength": 1024,
"description": "Bucket name (Azure: container name). Not a local path or a full object URL."
},
"object_prefix": {
"type": "string",
"minLength": 1,
"maxLength": 513,
"description": "Optional object folder prefix. Use a distinct prefix when keeping multiple versions of a video."
},
"access_key": {
"type": "string",
"maxLength": 4096
},
"secret_key": {
"type": "string",
"maxLength": 4096
},
"endpoint_url": {
"type": "string",
"maxLength": 4096,
"description": "Provider endpoint, required for S3-compatible storage. Must be reachable from the download Worker."
},
"region": {
"type": "string",
"maxLength": 4096
},
"account_name": {
"type": "string",
"pattern": "^[a-z0-9]{3,24}$"
},
"sas_token": {
"type": "string",
"maxLength": 4097,
"description": "Azure container SAS with write permission; never return this secret to the user in output."
},
"service_account": {
"type": "object",
"required": [
"project_id",
"client_email",
"private_key"
],
"properties": {
"project_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"client_email": {
"type": "string",
"minLength": 1
},
"private_key": {
"type": "string",
"minLength": 1,
"maxLength": 16384
}
},
"additionalProperties": true
}
}
}
},
"required": [
"storage"
]
},
"callback_url": {
"type": [
"string",
"null"
],
"maxLength": 2048,
"description": "Async and batch only. Public HTTPS URL on port 443 without credentials or a fragment. Omit, null or empty string disables callbacks. Server validates public reachability."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/flashdata-dev-async-query-youtube-download"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.