Install
openclaw skills install nano-banana-atlas-aiEdit or combine images by applying styles or elements from one image to another while preserving identity, pose, and lighting using AtlasCloud Nanobanana model.
openclaw skills install nano-banana-atlas-aiEdits and combines images using the AtlasCloud Nanobanana 2 Edit model (google/nano-banana-2/edit).
Before generating images, you need the user's AtlasCloud API token.
atlascloud_token.atlascloud_token so it is not needed again.Step 1: Write the params to {baseDir}/params.json.
Step 2: Run the script:
node {baseDir}/generate.js <TOKEN> {baseDir}/params.json
Step 3 — REQUIRED: After the script finishes, run this bash command to read the generated URL:
cat {baseDir}/last_url.txt
⚠️ CRITICAL: Step 3 is mandatory and irreplaceable. The correct URL is ONLY in last_url.txt. Run cat as a separate bash command and use the exact text returned. Never use a URL from the conversation history, previous files in the context, or any other source.
Report the URL from last_url.txt to the user.
⚠️ IMPORTANT: Never include media_resolution in the payload — it causes an HTTP 500 error.
{
"prompt": "Replace the dress on the model in image 0 with the dress from image 1. Preserve identity, face, pose, and lighting.",
"images": [
"https://url-of-base-image.png",
"https://url-of-reference-image.png"
],
"aspect_ratio": "16:9",
"output_format": "png",
"resolution": "1k",
"enable_base64_output": false,
"enable_sync_mode": false,
"enable_web_search": false,
"enable_image_search": false
}
| Field | Required | Default | Options |
|---|---|---|---|
| prompt | ✅ yes | — | any text |
| images | ✅ yes | — | array of 1–4 URLs |
| aspect_ratio | no | 16:9 | 1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 21:9 |
| resolution | no | 1k | 1k | 2k | 4k |
| output_format | no | png | png | jpeg |
| enable_web_search | no | false | true | false |
| enable_image_search | no | false | true | false |
| enable_base64_output | no | false | true | false |
| enable_sync_mode | no | false | true | false |
Do not include media_resolution — it causes a 500 error.
| Error | Probable Cause | Solution |
|---|
| HTTP 500 | media_resolution present in payload | Remove media_resolution from params.json |
| HTTP 500 | Invalid or expired token | Request a new token from the user and refresh memory |
| Link does not update | Step 3 was not executed | Run cat {baseDir}/last_url.txt as a bash command |
| Timeout | Resolution too high | Try again with "resolution": "1k" |
| Job failed | Image URLs inaccessible | Check if images are public |