YouTube Download to Cloud Storage CLI — FlashData
Deliver authorized YouTube media to your cloud storage. This command calls the youtube_download API and returns JSON for your
shell script, data pipeline or agent tool runner. It does not invoke a language model.
Paid asynchronous job. Requires customer storage. Save the receipt; never submit again to poll. Result JSON expires after 24 hours; media retention depends on storage.
Install and run
Requires Python 3.10 or newer. uv installation
provides uvx, which runs this package in an isolated environment.
- Create a FlashData account, obtain an API Key and fund Credits.
- Set
FLASHDATA_API_KEYusing your shell or secret manager. The CLI does not accept a key flag or persist credentials. Authentication and source documentation. - Run this example after reviewing the input and cost:
uvx flashdata-youtube-cloud-storage@0.1.0 --operation result --job-id job_YOUR_SAVED_ID --output result.json
--output creates a new file with owner-only permissions where supported and refuses existing
files before making a paid request. Without it, the full JSON response goes to stdout. Errors
go to stderr. Exit 0 means the response was exported, 2 means local input/configuration failure,
and 1 means request or output failure. For downloads, exit 0 can describe an unfinished job.
For repeated use, install uv tool install flashdata-youtube-cloud-storage==0.1.0; the command name is flashdata-youtube-cloud-storage.
Alternatively use python -m pip install flashdata-youtube-cloud-storage==0.1.0 in your virtual environment.
Inputs and output
Use --video-id for the primary input. Additional options use
--options-json as a JSON object, with strict field/type/range validation. Source is fixed by
this package. Google count and locale options remain omitted unless supplied.
| Option | Meaning |
|---|---|
download_type |
Source-specific option; see --schema. Default: "audio_video". |
video_quality |
Source-specific option; see --schema. Default: null. |
fps |
Source-specific option; see --schema. Default: null. |
audio_language |
Source-specific option; see --schema. Default: null. |
audio_quality |
Source-specific option; see --schema. Default: null. |
yt_dlp_format |
Source-specific option; see --schema. Default: null. |
upload_metadata |
Source-specific option; see --schema. Default: false. |
output_format |
Source-specific option; see --schema. Default: null. |
start_at |
Source-specific option; see --schema. Default: null. |
end_at |
Source-specific option; see --schema. Default: null. |
Run uvx flashdata-youtube-cloud-storage@0.1.0 --schema to inspect all fields, nested filters, allowed values and
defaults without a Key or an API call. --help and --version are also local-only.
The JSON output preserves the API result envelope and optional fields: submit: id/status receipt; reads: job lifecycle; completed result: output JSON delivery manifest. Missing fields remain missing; empty results remain empty. No article text, translated captions, model conclusions, rights grants or keyword volumes are invented. Exact source contracts are documented here.
Submit once and keep the job ID
The default operation is status. Status and result accept only a saved job ID,
and never submit a paid query. A pending/running response does not mean delivery is complete.
For a new delivery, supply your own authorized video and storage configuration:
uvx flashdata-youtube-cloud-storage@0.1.0 --operation submit --allow-submit \
--video-id YOUR_VIDEO_ID \
--options-json '{"download_type":"audio","output_format":"m4a"}' \
--output delivery-receipt.json
Set FLASHDATA_DOWNLOAD_STORAGE through your secret manager, containing the documented
storage JSON. Never paste it into command arguments or source code. The supported providers
are s3, s3_compatible, gcs, azure, oss, bos, cos and tos. Use your own bucket/container,
optional object_prefix, and the provider-specific credentials. S3-compatible endpoints must
use HTTPS. Storage fields and examples.
Keep the returned id. Read that same job with --operation status --job-id ID or
--operation result --job-id ID. Omit submission inputs when resuming. There is no automatic
polling or resubmission. Only the lifecycle receipt and delivery JSON are exported; media is
written by FlashData to your storage. Result JSON expires after 24 hours. Delivery manifests
can contain signed private URLs; protect the output file. Storage credentials from job params
are excluded from CLI output.
Fees and failure handling
This MIT-licensed CLI is free to install. FlashData API requests consume paid Credits; current pricing applies. Extended YouTube Search has a separate rate. Media delivery is billed by delivered volume, and your cloud-storage costs are separate. There is no automatic pagination, retry, polling, scheduled execution or model call.
Each HTTP request has a 120-second network timeout (15-second connect timeout) and a 20-MiB response limit. A timeout or failure may occur after a paid request has been accepted. Check Jobs in the FlashData console before resubmitting. HTTP 401 means check the Key; 402 means insufficient Credits; 429 means rate/quota limit. A partial output file is retained on failure. Do not retry a paid query just because output handling failed.
Input values and your API Key are sent to FlashData to perform the request. A completed download-result read may fetch a signed JSON object from the result origin returned by FlashData; the API Key is never sent to that object URL. Only process data appropriate for your output destination. Privacy policy.
Source and MIT license are included in the source distribution.
Metadata
Release files for flashdata-youtube-cloud-storage 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| flashdata_youtube_cloud_storage-0.1.0.tar.gz | 13.3 kB | With provenance | Details for flashdata_youtube_cloud_storage-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| flashdata_youtube_cloud_storage-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for flashdata_youtube_cloud_storage-0.1.0-py3-none-any.whl |
Total release size: 29.7 kB
Release files / flashdata_youtube_cloud_storage-0.1.0.tar.gz
| Download URL | flashdata_youtube_cloud_storage-0.1.0.tar.gz |
|---|---|
| Size | 13.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7ae56c4db3179e2c901c3f5671532ac32b56f8ffea9816f9e7cd137201658e02
|
|
BLAKE2b-256 checksum How to use checksums |
af8e62efd80e24689280e470413555f1aac93f146ce893652a11ace38a4f3aa7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logRelease files / flashdata_youtube_cloud_storage-0.1.0-py3-none-any.whl
| Download URL | flashdata_youtube_cloud_storage-0.1.0-py3-none-any.whl |
|---|---|
| Size | 16.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
10ec899280ba9ccae980c224d03e61586ad77411dc9be8b64965e13b3203612d
|
|
BLAKE2b-256 checksum How to use checksums |
090589532762bcda3b331934e63565147f9fd8c0bed7762026a17a67f760f65e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logSecurity for flashdata-youtube-cloud-storage 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for flashdata_youtube_cloud_storage-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.