Install
openclaw skills install @weryai-developer/weryai-image-toolkitsUse when the user needs WeryAI image tools to analyze and transform existing images. Generate reusable prompts, convert and optimize visuals via background removal/change, canvas expansion, face swap, reframe, repair, text erase, translation, and upscale workflows.
openclaw skills install @weryai-developer/weryai-image-toolkitsWeryAI image tools, image editing, image post-processing, background remove, background change, face swap, reframe, repair, text erase, translate, upscale, image-to-prompt.
WeryAI image tools for image editing and image post-processing on existing images.
Use this skill for official WeryAI image editing, image post-processing, and WeryAI image tools on an existing image source. Use when you need WeryAI image tools for image-to-prompt, background change, background remove, canvas expand, face swap, reframe, repair, text erase, image translate, image upscale, or prompt extraction. This skill is intentionally strict about secret declaration and input safety: the only runtime secret is WERYAI_API_KEY, and media inputs support http/https URLs plus local/file sources that are uploaded first.
This is not an image generation skill. Use it when the user wants to analyze, clean up, repair, translate, reframe, expand, upscale, or otherwise transform an existing image with WeryAI rather than generate a brand-new image from a prompt.
Dependencies: scripts/image_toolkits.js in this directory, WERYAI_API_KEY, and Node.js 18+. No other skills are required.
Remove the background from this HTTPS image with WeryAI.Translate the text in this image to English and return the translated image.Use WeryAI to swap the face in this portrait with the face from this reference image.Expand this square image into a 1024x1024 canvas.Turn this image into a reusable prompt with WeryAI image-to-prompt.image-to-prompt, background-change, background-remove, expand, face-swap, reframe, repair, text-erase, translate, upscaleimg_url plus tool-specific parameters such as image_size, prompt, bg_color, face_img_url, aspect_ratio, target_lang, original_image_size, canvas_size, original_image_locationWERYAI_API_KEY alignment with other WeryAI skillsBefore the first real processing run:
https://www.weryai.com/api/keys.WERYAI_API_KEY.WERYAI_API_KEY in metadata.openclaw.requires.env and primaryEnv.WERYAI_API_KEY.export WERYAI_API_KEY="your_api_key_here"
Use one safe check before the first paid run:
node scripts/image_toolkits.js tools
node scripts/image_toolkits.js wait --tool background-remove --json '{"img_url":"https://example.com/image.jpg"}' --dry-run
tools confirms the local CLI is available and shows the supported tool registry.--dry-run validates the request shape without calling WeryAI or spending credits.WERYAI_API_KEY must be set before running image_toolkits.js for paid calls.>=18 is required because the runtime uses built-in fetch.img_url and face_img_url can be http/https URLs or local/file sources. Local/non-http(s) sources are uploaded first.submit, wait, and status commands can consume WeryAI credits or depend on existing paid tasks.WERYAI_API_KEY: Treat it as a secret. Configure it only in the runtime environment; never write the secret value into the skill files.WERYAI_BASE_URL defaults to https://api.weryai.com. Only override it with a trusted host.scripts/image_toolkits.js before production use.Route user intent to the narrowest tool:
image-to-promptbackground-changebackground-removeexpandface-swapreframerepairtext-erasetranslateupscaleIf the user asks for text-to-image or image-to-image generation from scratch, use weryai-image-generator instead of this skill.
Guide the user progressively. Ask only for the smallest missing set of parameters required for the selected tool.
Use short operator-style guidance like this:
translate: type=imagebackground-remove, repair, text-erase, and upscale, no extra parameter is needed beyond img_urlbackground-change.prompt or background-change.bg_colorface-swap.face_img_urlreframe.aspect_ratioimage-to-prompt.image_sizetranslate.target_langexpand.original_image_size, expand.canvas_size, and expand.original_image_locationimage_size when the user wants image-to-prompt and has not supplied the source image size in KB.prompt or bg_color when the user wants background change but has not said whether the new background is descriptive or a flat color.face_img_url when the user wants face swap but has not supplied the replacement face image.aspect_ratio when the user wants reframe but has not specified the target shape.target_lang when the user wants image translate but does not name the destination language.Read references/image-tools-matrix.md when you need the exact required fields, enum values, sync behavior, or defaults for a tool.
# Remove image background
node scripts/image_toolkits.js wait --tool background-remove --json '{"img_url":"https://example.com/image.jpg"}'
# Change background with a descriptive prompt
node scripts/image_toolkits.js wait --tool background-change --json '{"img_url":"https://example.com/image.jpg","prompt":"clean white studio background"}'
# Poll an existing task
node scripts/image_toolkits.js status --task-id <task-id>
img_url and only the extra parameters required by that tool.--dry-run when you need to verify the payload locally first.wait by default to deliver final processed image URLs in the same turn.taskId to the user and ask if they want you to check the status again. Do NOT show the raw node status command to the user; use it internally.submit for synchronous image-to-prompt or when the user explicitly wants task creation without polling.status when the user already has a task_id.img_url and face_img_url can be http/https URLs or local/file sources.image-to-prompt requires image_size in KB.background-change requires prompt or bg_color.expand requires original_image_size, canvas_size, and original_image_location.reframe must use a supported aspect_ratio.translate must include target_lang; type can be text or image.All commands print JSON to stdout. Successful results can include:
taskId, taskIds, batchIdtaskStatusimagespromptcost_millrequestSummaryerrorCode, errorMessageUser-facing delivery requirement:
[Image](https://...)) or inline rendering when supported. If multiple images are generated, render all of them using markdown image syntax consecutively.tool, model, aspect_ratio, image_number, resolution.taskId as the sole deliverable unless the user explicitly requested task creation without waiting.taskId to the user and ask if they want you to check the status again. Do NOT show the raw node status command to the user; use it internally.The task is done when:
wait returns final processed images for async tools,wait reaches a terminal result with at least one processed image URL,image-to-prompt returns a prompt string successfully,status returns a clear in-progress or terminal state,wait hits timeout and returns taskId plus a follow-up status command,img_url or face_img_url; local sources are uploaded before the toolkit request.submit or wait call can create a new paid task.submit and wait are not idempotent for async tools.image-to-prompt is synchronous and safe to re-run if the user explicitly wants a fresh prompt analysis.status and tools are safe to re-run.