/install easyimage-uploader-py
easyimage-uploader
Upload a local image to an EasyImages 2.0 server, then return the hosted image URL.
Configuration priority
Resolve configuration in this order:
- CLI flags:
--serverand--token - Skill-local config file:
config.json - Environment variables fallback:
EASYIMAGE_URLEASYIMAGE_TOKEN
Recommended setup: create config.json in the root of this skill.
Example:
{
"server": "https://img.example.com",
"token": "your-easyimage-token",
"allow_model_image_input": false,
"temp_dir": "./temp"
}
A template file is included as config.example.json.
Config fields
server: EasyImages service base URLtoken: EasyImages upload tokenallow_model_image_input: whether upload requests are allowed to rely on model-side image understandingfalse: prefer direct file-path upload only, avoid image analysis, avoid vision tool usagetrue: model-side image handling is allowed when needed
temp_dir: temp working directory for this skill- default recommended value:
./temp - relative paths are resolved relative to this
SKILL.md/ skill root directory - with the default, the effective directory is
easyimage-uploader/temp/
- default recommended value:
If configuration is missing, stop and ask the user for the missing value.
Workflow
- Confirm which local image file should be uploaded.
- Read
references/api.mdif you need the exact upstream API shape or status meanings. - Read
config.jsonwhen behavior matters. - If
allow_model_image_inputisfalse, do not use image analysis or vision tools just to understand image content. Treat the image as a file and upload by path only. - Use
temp_dirfor temporary files when downloads, conversions, or intermediate storage are needed. If the directory does not exist, create it first. - Prefer absolute paths for both the script and the image file. Do not rely on
~expansion in generated commands. Safe default:
python3 /absolute/path/to/skills/easyimage-uploader/scripts/upload_easyimage.py /absolute/path/to/image
- If needed, point to a specific config file with an absolute path:
python3 /absolute/path/to/skills/easyimage-uploader/scripts/upload_easyimage.py /absolute/path/to/image \
--config /absolute/path/to/config.json
- If needed, override with explicit CLI values:
python3 /absolute/path/to/skills/easyimage-uploader/scripts/upload_easyimage.py /absolute/path/to/image \
--server https://img.example.com \
--token YOUR_TOKEN
- The bundled script normalizes
~and relative paths for the image and config arguments, but still prefer absolute paths in examples and real executions to avoid shell-specific surprises. - Parse the JSON output.
- If
okis true, return theurlto the user. Mentionthumbonly if useful. - Do not expose
delete_urlunless the user explicitly asks for deletion capability. - If upload fails, explain the likely cause using the
codeor error payload.
Failure handling
When the script returns a failure payload:
network_error: server unreachable, DNS/TLS/network problem, or timeouthttp_error: server returned a non-2xx HTTP responseinvalid_json: server responded unexpectedly- EasyImages
codevalues should be interpreted usingreferences/api.md
Common user-facing explanations:
202: server-side upload quota reached205: current client is blocked by EasyImages allow/deny rules401: server requires login uploads instead of token-only uploads403: token invalid or signature check failed406: file type rejected
Notes
- Use this skill for local files that already exist on disk.
- If the user only gives a remote URL and wants it mirrored, download it first only if appropriate and allowed.
- Prefer returning the direct image
urlas the main result. - Keep secrets safe. Never echo the configured token back to the user.
config.jsoncontains secrets. Keep file permissions tight and avoid committing it to public repositories.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install easyimage-uploader-py - After installation, invoke the skill by name or use
/easyimage-uploader-py - Provide required inputs per the skill's parameter spec and get structured output
What is Easyimage uploader?
Upload local image files to an EasyImages 2.0 service and return the hosted image URL. Use when the user asks to upload an image, host a picture, put a local... It is an AI Agent Skill for Claude Code / OpenClaw, with 70 downloads so far.
How do I install Easyimage uploader?
Run "/install easyimage-uploader-py" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Easyimage uploader free?
Yes, Easyimage uploader is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Easyimage uploader support?
Easyimage uploader is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Easyimage uploader?
It is built and maintained by FM7077 (@fm7077); the current version is v1.0.0.