Sora Watermark Remover
Remove watermarks from Sora 2 generated videos via the NanoPhoto.AI API.
Publisher / source:
Prerequisites
- Obtain an API key at: https://nanophoto.ai/settings/apikeys
- Configure
NANOPHOTO_API_KEY before using the skill.
- Do not paste the API key into chat; store it in the platform's secure env setting for this skill.
Preferred OpenClaw setup:
- Open the skill settings for this skill
- Add an environment variable named
NANOPHOTO_API_KEY
- Paste the API key as its value
Equivalent config shape:
{
"skills": {
"entries": {
"sora-watermark-remover": {
"enabled": true,
"env": {
"NANOPHOTO_API_KEY": "your_api_key_here"
}
}
}
}
}
Other valid ways to provide the key:
- Shell:
export NANOPHOTO_API_KEY="your_api_key_here"
- Tool-specific env config: any runtime that injects
NANOPHOTO_API_KEY
Credential declaration summary:
- Required env var:
NANOPHOTO_API_KEY
- Primary credential:
NANOPHOTO_API_KEY
- No unrelated credentials are required
If the env var is not set, ask the user to configure it before proceeding.
Workflow
- Collect the Sora 2 share link from the user (format:
https://sora.chatgpt.com/p/...)
- Validate the link contains
sora.chatgpt.com/p/
- Confirm the user is authorized to process the content and that watermark removal is allowed for their use case
- Call the API to remove the watermark
- Return the clean video URL to the user
API Call
curl -X POST "https://nanophoto.ai/api/sora/remove-watermark" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $NANOPHOTO_API_KEY" \
--data-raw '{
"share_link": "https://sora.chatgpt.com/p/s_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}'
Success response:
{
"success": true,
"status": "completed",
"url": "https://video.nanophoto.ai/sora/watermark-remover/xxx.mp4"
}
Error Handling
| errorCode | Cause | Action |
|---|
LOGIN_REQUIRED | Invalid or missing API key | Verify key at https://nanophoto.ai/settings/apikeys |
API_KEY_RATE_LIMIT_EXCEEDED | >100 requests/hour | Wait and retry |
MISSING_SHARE_LINK | No share_link in body | Ask user for the Sora share link |
INVALID_SHARE_LINK | Link doesn't match sora.chatgpt.com/p/ | Ask user to provide a valid Sora 2 share link |
GENERATION_FAILED | Server-side processing error | Retry or report to user |
Full API Reference
See references/api.md for complete endpoint documentation.