Qiniu Upload
Upload local files to Qiniu Cloud and return a publicly accessible URL (or signed private URL). Use when the user wants to upload a local file path to Qiniu,...
Like a lobster shell, security has layers — review code before you run it.
License
Runtime requirements
SKILL.md
Qiniu Upload
Use this skill when a task needs a local file turned into a Qiniu-hosted URL.
Required environment variables
QINIU_ACCESS_KEYQINIU_SECRET_KEYQINIU_BUCKETQINIU_DOMAIN
Optional:
QINIU_ZONE- one ofz0,z1,z2,na0,as0QINIU_PRIVATE_BUCKET-trueto emit signed private URLs by defaultQINIU_PRIVATE_EXPIRE_SECONDS- default expiry for private URLs
Safety rules
- Never hardcode Qiniu credentials.
- Fail fast if any required environment variable is missing.
- Prefer returning both
keyand finalurl. - For local files, verify the path exists before upload.
Primary command
Run the Node script:
node scripts/upload.js --file-path "E:\\audio\\sample.mp3" --prefix audio
Optional flags:
--private- return a signed private URL--expire-seconds 3600- private URL expiry--prefix audio- object key prefix--key my/custom/name.mp3- explicit object key--json- machine-friendly JSON only
Output contract
The script returns JSON like:
{
"success": true,
"bucket": "example-bucket",
"key": "audio/uuid.mp3",
"url": "https://cdn.example.com/audio/uuid.mp3",
"isPrivate": false,
"size": 12345,
"mimeType": "audio/mpeg",
"sourcePath": "E:\\audio\\sample.mp3"
}
Domain and access caveat
Some Qiniu domains may sit behind auth or anti-leeching. Upload success does not automatically guarantee anonymous public fetch success. If downstream services need to fetch the object, verify the returned URL is externally accessible, or use private signed URLs / a proper public CDN domain.
Chaining to other skills
After upload succeeds, pass the returned url into downstream skills such as an Aliyun speech transcription workflow.
Files
4 totalComments
Loading comments…
