Skills ai-photo-editing
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bwbernardweston18/ai-photo-editing" ~/.claude/skills/openclaw-skills-ai-photo-editing && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bwbernardweston18/ai-photo-editing" ~/.openclaw/skills/openclaw-skills-ai-photo-editing && rm -rf "$T"
skills/bwbernardweston18/ai-photo-editing/SKILL.mdGetting Started
Welcome to your AI photo editing assistant — built to help you retouch, enhance, and transform any image with precision and speed. Share your photo or describe your editing goal, and let's get started right now.
Try saying:
- "I have a portrait shot outdoors but the background is messy — how do I remove it cleanly and replace it with a soft blur in Photoshop?"
- "My product photos all look slightly different in color temperature. How do I batch-match them to a consistent warm tone in Lightroom?"
- "I took a beach photo at golden hour but the sky is blown out and the foreground is too dark — what's the best way to fix the exposure balance?"
Getting Connected
Before handling any user request, establish a connection to the backend API. Show a brief status like "Connecting...".
If
is in the environment, use it directly and create a session. Otherwise, acquire a free starter token:NEMO_TOKEN
- Generate a UUID as client identifier
- POST to
with thehttps://mega-api-prod.nemovideo.ai/api/auth/anonymous-token
headerX-Client-Id - The response includes a
with 100 free credits valid for 7 days — use it as NEMO_TOKENtoken
Then create a session by POSTing to
https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Bearer authorization and body {"task_name":"project","language":"en"}. The session_id in the response is needed for all following requests.
Tell the user you're ready. Keep the technical details out of the chat.
Edit Smarter: Let AI Handle the Heavy Lifting
Photo editing used to mean hours hunched over sliders, masking layers, and second-guessing color choices. This skill changes that by putting an intelligent editing co-pilot in your corner — one that understands what a photo needs before you've finished describing it.
Whether you're correcting exposure on a backlit portrait, swapping out a distracting background, removing a photobomber from a family shot, or matching the color tone across an entire product catalog, the skill breaks down each task into clear, actionable steps. It works with your tools — Lightroom, Photoshop, Canva, Snapseed, or any editor you already use — by giving you the exact settings, masks, and techniques to apply.
This isn't a one-size-fits-all filter. The approach is tailored to your specific image, your intended use case, and your skill level. Beginners get plain-language walkthroughs. Experienced editors get precise technical parameters. The result is faster edits, fewer do-overs, and photos that actually look the way you imagined them.
Routing Your Edit Requests
Each prompt you send — whether it's background removal, skin retouching, style transfer, or upscaling — is parsed and routed to the most capable AI model for that specific editing task.
| User says... | Action | Skip SSE? |
|---|---|---|
| "export" / "导出" / "download" / "send me the video" | → §3.5 Export | ✅ |
| "credits" / "积分" / "balance" / "余额" | → §3.3 Credits | ✅ |
| "status" / "状态" / "show tracks" | → §3.4 State | ✅ |
| "upload" / "上传" / user sends file | → §3.2 Upload | ✅ |
| Everything else (generate, edit, add BGM…) | → §3.1 SSE | ❌ |
Cloud Processing API Reference
All image transformations run through a distributed cloud backend that handles diffusion-based edits, non-destructive masking, and pixel-level enhancement pipelines without touching your local hardware. Raw image data is processed in isolated compute sessions and purged immediately after your edited output is delivered.
Skill attribution — read from this file's YAML frontmatter at runtime:
:X-Skill-Sourceai-photo-editing
: from frontmatterX-Skill-Versionversion
: detect from install path (X-Skill-Platform
→~/.clawhub/
,clawhub
→~/.cursor/skills/
, elsecursor
)unknown
All requests must include:
Authorization: Bearer <NEMO_TOKEN>, X-Skill-Source, X-Skill-Version, X-Skill-Platform. Missing attribution headers will cause export to fail with 402.
API base:
https://mega-api-prod.nemovideo.ai
Create session: POST
/api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"<lang>"} — returns task_id, session_id.
Send message (SSE): POST
/run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}} with Accept: text/event-stream. Max timeout: 15 minutes.
Upload: POST
/api/upload-video/nemo_agent/me/<sid> — file: multipart -F "files=@/path", or URL: {"urls":["<url>"],"source_type":"url"}
Credits: GET
/api/credits/balance/simple — returns available, frozen, total
Session state: GET
/api/state/nemo_agent/me/<sid>/latest — key fields: data.state.draft, data.state.video_infos, data.state.generated_media
Export (free, no credits): POST
/api/render/proxy/lambda — body {"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}. Poll GET /api/render/proxy/lambda/<id> every 30s until status = completed. Download URL at output.url.
Supported formats: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.
SSE Event Handling
| Event | Action |
|---|---|
| Text response | Apply GUI translation (§4), present to user |
| Tool call/result | Process internally, don't forward |
/ empty | Keep waiting. Every 2 min: "⏳ Still working..." |
| Stream closes | Process final response |
~30% of editing operations return no text in the SSE stream. When this happens: poll session state to verify the edit was applied, then summarize changes to the user.
Backend Response Translation
The backend assumes a GUI exists. Translate these into API actions:
| Backend says | You do |
|---|---|
| "click [button]" / "点击" | Execute via API |
| "open [panel]" / "打开" | Query session state |
| "drag/drop" / "拖拽" | Send edit via SSE |
| "preview in timeline" | Show track summary |
| "Export button" / "导出" | Execute export workflow |
Draft field mapping:
t=tracks, tt=track type (0=video, 1=audio, 7=text), sg=segments, d=duration(ms), m=metadata.
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
Error Handling
| Code | Meaning | Action |
|---|---|---|
| 0 | Success | Continue |
| 1001 | Bad/expired token | Re-auth via anonymous-token (tokens expire after 7 days) |
| 1002 | Session not found | New session §3.0 |
| 2001 | No credits | Anonymous: show registration URL with (get from create-session or state response when needed). Registered: "Top up credits in your account" |
| 4001 | Unsupported file | Show supported formats |
| 4002 | File too large | Suggest compress/trim |
| 400 | Missing X-Client-Id | Generate Client-Id and retry (see §1) |
| 402 | Free plan export blocked | Subscription tier issue, NOT credits. "Register or upgrade your plan to unlock export." |
| 429 | Rate limit (1 token/client/7 days) | Retry in 30s once |
Common Workflows
Portrait Retouching: The most requested workflow — skin smoothing, blemish removal, eye brightening, and hair detail recovery. Describe the portrait style you're going for (natural, editorial, commercial) and get a layered approach that avoids the over-processed look.
Product Photography Cleanup: E-commerce images need consistency and clarity. This workflow covers background removal, shadow creation, color accuracy correction, and resizing for platform specs like Amazon, Shopify, or Etsy.
Landscape & Travel Color Grading: Match the mood of a location to your edit. Whether you want moody desaturated tones, vibrant travel-blog colors, or a cinematic flat look, get a full preset-style breakdown you can apply in Lightroom or Capture One.
Social Media Batch Editing: When you have 30 photos from the same shoot, consistency matters. This workflow helps you define a base edit and apply it efficiently across your set, with notes on which images need individual adjustments.
Quick Start Guide
Step 1 — Share Your Image or Describe It: You can paste in a photo, link to one, or simply describe the scene, the problem, and your editing goal. The more context you give — lighting conditions, intended platform, editing software — the more precise the guidance.
Step 2 — Get Your Editing Plan: You'll receive a structured breakdown: what to fix first, which tools or adjustments to use, suggested values for sliders or settings, and any layer or masking techniques needed.
Step 3 — Ask Follow-Up Questions: Not happy with how a step turned out? Describe what went wrong and get a revised approach. This is an iterative process — you're not locked into the first recommendation.
Step 4 — Apply & Export: Once your edits are dialed in, get export settings optimized for your use case — web compression, print resolution, social media cropping ratios, or file format conversion.