Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Upload files to UCloud US3 object storage and generate public URLs
Upload files to UCloud US3 object storage and generate public URLs
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Upload files to UCloud US3 object storage and generate public URLs.
Use this skill when: The user wants to upload files to cloud storage You need to share files via public URLs You need to store images, videos, or documents in the cloud You need to generate shareable links for files
UCloud US3 account and bucket from https://www.ucloud.cn/ Set environment variables: US3_PUBLIC_KEY - UCloud Public Key (Token) US3_PRIVATE_KEY - UCloud Private Key US3_BUCKET - Bucket domain (e.g., xqm.cn-sh2.ufileos.com) US3_ENDPOINT - API endpoint (e.g., https://api.ucloud.cn/)
Upload files and get public URLs: # Upload a file node /root/clawdbot/skills/us3/upload.mjs --file "/path/to/file.jpg" # Upload with custom key name node /root/clawdbot/skills/us3/upload.mjs --file "/path/to/file.jpg" --key "custom/path/file.jpg" # Upload and get URL only node /root/clawdbot/skills/us3/upload.mjs --file "/path/to/file.jpg" --url-only
--file (required): Local file path to upload --key (optional): Custom object key (path) in bucket. If not provided, uses filename --url-only (optional): Output only the public URL (default: false)
# Upload an image node /root/clawdbot/skills/us3/upload.mjs --file "/tmp/screenshot.png" # Upload to specific path node /root/clawdbot/skills/us3/upload.mjs --file "/tmp/video.mp4" --key "videos/2026/video.mp4" # Upload Feishu downloaded image node /root/clawdbot/skills/us3/upload.mjs --file "/tmp/feishu_image_123.png" --key "feishu/$(date +%Y%m%d_%H%M%S).png" # Get just the URL node /root/clawdbot/skills/us3/upload.mjs --file "/tmp/report.pdf" --url-only
Returns JSON with upload results: { "success": true, "url": "https://xqm.cn-sh2.ufileos.com/path/to/file.jpg", "key": "path/to/file.jpg", "bucket": "xqm.cn-sh2.ufileos.com", "size": 123456 } With --url-only flag, outputs only the URL string: https://xqm.cn-sh2.ufileos.com/path/to/file.jpg
Images: JPG, PNG, GIF, WEBP, BMP, SVG Videos: MP4, MOV, AVI, MKV, WEBM Documents: PDF, DOC, DOCX, TXT, MD Audio: MP3, WAV, OGG, M4A Archives: ZIP, TAR, GZ Any other file type
When user sends an image via Feishu and wants to share: Image is auto-downloaded to /tmp/feishu_*.png Upload to US3: node upload.mjs --file "/tmp/feishu_image_123.png" Share the returned public URL
After converting/processing files: # Convert and upload convert input.jpg -resize 800x600 /tmp/resized.jpg node /root/clawdbot/skills/us3/upload.mjs --file "/tmp/resized.jpg" --key "images/resized_$(date +%s).jpg"
Upload multiple files: for file in /tmp/*.png; do node /root/clawdbot/skills/us3/upload.mjs --file "$file" --key "batch/$(basename $file)" done
Files are uploaded to a public bucket - URLs are directly accessible File size limit: Check your UCloud US3 plan limits The bucket domain format: bucket-name.region.ufileos.com Use meaningful key names for better organization Automatic content-type detection based on file extension
Common errors and solutions: missing_credentials: Set all required environment variables file_not_found: Check file path exists upload_failed: Check network connection and credentials invalid_bucket: Verify bucket name and region
Works well with: feishu-media: Upload images from Feishu messages ffmpeg: Upload processed videos baidu-ocr: Upload images before/after OCR processing
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.