SurgePix Upload
Upload a local file to SurgePix storage and get back a public CDN URL.
Language consistency
This skill does not generate on-image text. Reply to the user in the same language they used in their request.
When to use
- User says "upload this file", "get a URL for this image", "上传", "传到线上"
- Before calling any web API that needs a remote URL instead of a local path
Prerequisites
- Node.js >= 18
SURGEPIX_API_KEYconfigured (see Step 0)
Workflow
Step 0: Check environment (required)
Before running upload, verify config:
node "<skills-dir>/surgepix-setup/scripts/check_env.mjs"
- Exit 0 → proceed to Step 1
- Exit 1 → follow surgepix-setup skill to configure
.env, then retry
Do NOT check $SURGEPIX_API_KEY in shell — the script loads .env automatically.
Step 1: Identify the file
- Get the absolute path to the local file
- Confirm the file exists
Step 2: Run upload
node "<skills-dir>/surgepix-upload/scripts/file_upload.mjs" "<absolute-file-path>"
Step 3: Parse output
Success (stdout):
{"ok":true,"url":"<PUBLIC_URL>","filename":"photo.png","size":12345,"contentType":"image/png","existing":false}
Failure (stderr, non-zero exit):
{"ok":false,"error":"<ERROR>"}
If error is "API_KEY not found" → run surgepix-setup first.
Step 4: Use the URL
- Show the
urlto the user - Pass it to any API that needs a remote file URL
Rules
- ALWAYS run check_env before first use in a session
- NEVER pass local paths to web APIs — upload first, use the returned URL
- NEVER invent or guess a URL
- NEVER echo auth tokens