← Back to Skills Marketplace
nixeifoit

Grok Imagine Image Pro

by NixeiFoit · GitHub ↗ · v1.0.2
cross-platform ⚠ suspicious
1167
Downloads
3
Stars
1
Active Installs
3
Versions
Install in OpenClaw
/install grok-imagine-image-pro
Description
Generates and edits high-quality PNG images via xAI Grok/Flux API using prompts, styles, aspect ratios, and batch processing with base64 output.
README (SKILL.md)

Grok Imagine Image Pro

API Key: $XAI_API_KEY (already configured) Save dir: ~/.openclaw/media/ (resolves to /data/.openclaw/media/ — allowed for Telegram sending)

Available Models

  • grok-imagine-image — standard quality, faster
  • grok-imagine-image-pro — higher quality (default for generation)

1. Image Generation

curl -s https://api.x.ai/v1/images/generations \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "model": "grok-imagine-image-pro",
    "prompt": "\x3CPROMPT>",
    "n": 1,
    "response_format": "b64_json"
  }' | python3 -c "
import json, sys, base64, os, time
os.makedirs(os.path.expanduser('~/.openclaw/media'), exist_ok=True)
r = json.load(sys.stdin)
ts = int(time.time())
for i, img in enumerate(r['data']):
    img_data = base64.b64decode(img['b64_json'])
    fpath = os.path.expanduser(f'~/.openclaw/media/generated_{ts}_{i}.png')
    with open(fpath, 'wb') as f:
        f.write(img_data)
    print(fpath)
"

Aspect Ratios

Add "aspect_ratio": "\x3Cratio>" to the JSON body. Supported values:

Ratio Use case
1:1 Social media, thumbnails
16:9 / 9:16 Widescreen, mobile stories
4:3 / 3:4 Presentations, portraits
3:2 / 2:3 Photography
2:1 / 1:2 Banners, headers
auto Model picks best ratio (default)

Batch Generation

Set "n": \x3Ccount> (1-10) to generate multiple images in one request.

2. Image Editing / Style Transfer

Edit an existing image by providing a source image plus an edit prompt. Uses the same /v1/images/generations endpoint with an added image_url field.

Do NOT use /v1/images/edits with multipart — xAI requires JSON.

IMPORTANT: For local files, use Python to build the payload JSON file, then curl with @file. Inline base64 in curl args causes "Argument list too long" for images >~100KB.

NOTE: This is NOT true image editing — the API generates a new image inspired by the source. It cannot make pixel-precise edits (e.g. changing only a car's color while keeping everything else identical).

Edit from local file (recommended approach):

python3 -c "
import json, base64
with open('\x3CSOURCE_PATH>', 'rb') as f:
    b64 = base64.b64encode(f.read()).decode()
payload = {
    'model': 'grok-imagine-image',
    'prompt': '\x3CEDIT_PROMPT>',
    'image_url': f'data:image/png;base64,{b64}',
    'n': 1,
    'response_format': 'b64_json'
}
with open('/tmp/img_edit_payload.json', 'w') as f:
    json.dump(payload, f)
print('Payload ready')
" && \
curl -s https://api.x.ai/v1/images/generations \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d @/tmp/img_edit_payload.json | python3 -c "
import json, sys, base64, os, time
os.makedirs(os.path.expanduser('~/.openclaw/media'), exist_ok=True)
r = json.load(sys.stdin)
img_data = base64.b64decode(r['data'][0]['b64_json'])
fpath = os.path.expanduser(f'~/.openclaw/media/edited_{int(time.time())}.png')
with open(fpath, 'wb') as f:
    f.write(img_data)
print(fpath)
"

Edit from URL:

curl -s https://api.x.ai/v1/images/generations \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "model": "grok-imagine-image",
    "prompt": "\x3CEDIT_PROMPT>",
    "image_url": "\x3CPUBLIC_IMAGE_URL>",
    "n": 1,
    "response_format": "b64_json"
  }' | python3 -c "
import json, sys, base64, os, time
os.makedirs(os.path.expanduser('~/.openclaw/media'), exist_ok=True)
r = json.load(sys.stdin)
img_data = base64.b64decode(r['data'][0]['b64_json'])
fpath = os.path.expanduser(f'~/.openclaw/media/edited_{int(time.time())}.png')
with open(fpath, 'wb') as f:
    f.write(img_data)
print(fpath)
"

Style Transfer Examples

Use editing with a style prompt, e.g.:

  • "Render this as an oil painting in impressionist style"
  • "Make this a pencil sketch with detailed shading"
  • "Convert to pop art with bold colors"
  • "Watercolor painting with soft edges"

3. Sending to Telegram

message tool: action=send, channel=telegram, target=\x3Cid>,
  message="\x3Ccaption>", filePath=~/.openclaw/media/\x3Cfile>.png
  • Always include message field (required even for media-only sends)
  • Allowed media paths: /tmp/, ~/.openclaw/media/, ~/.openclaw/agents/

Notes

  • Do NOT pass size parameter — returns 400
  • Aspect ratio: pass aspect_ratio in JSON body (not size)
  • Editing: use image_url field in the generations endpoint (NOT the edits endpoint with multipart)
  • Always use "response_format": "b64_json" — URL format returns temporary URLs that often 403
  • For large images: build payload with Python → save to /tmp/ → curl with @file syntax
  • Max 10 images per request
  • Images are subject to content moderation
  • Editing is style-transfer/reimagination, NOT pixel-precise inpainting
Usage Guidance
This skill appears to do what it says: it calls xAI's image generation endpoint and saves PNGs. Before installing or using it, make sure you trust the XAI API key you provide (rotate it if unsure) and avoid pointing the skill at sensitive local files—the examples show base64-encoding and uploading arbitrary files, which is necessary for image edits but could leak secrets if misused. Confirm the API domain (api.x.ai) is correct for your account, and be aware files are saved under ~/.openclaw/media and /tmp. If you need stricter controls, do not grant the skill your primary account API key or only use a key with limited permissions / billing limits.
Capability Analysis
Type: OpenClaw Skill Name: grok-imagine-image-pro Version: 1.0.2 The skill is classified as suspicious due to the potential for Local File Inclusion (LFI) and subsequent data exfiltration. The 'Edit from local file' command in SKILL.md allows reading an arbitrary local file (via `<SOURCE_PATH>`), base64 encoding its content, and sending it to the external xAI API endpoint (`https://api.x.ai/v1/images/generations`). While the skill's stated purpose is to process image files, this mechanism could be abused by a malicious user or a prompt-injected agent to exfiltrate sensitive non-image files from the local system to an external service. Additionally, the direct insertion of user prompts into JSON payloads for the `curl` commands presents a prompt injection vulnerability against the xAI API if the agent does not properly sanitize user input.
Capability Assessment
Purpose & Capability
The skill's name/description match the runtime instructions: it calls an xAI images endpoint, requires XAI_API_KEY, and uses curl/python3 to send requests and save PNGs. Required binaries and the single env var are proportional to the stated purpose.
Instruction Scope
Instructions are focused on generation and editing and show concrete curl+python examples that create ~/.openclaw/media and /tmp payloads. This is expected for image editing, but be aware the guidance includes base64-encoding local files and sending them to an external API—while needed for edits, that behavior could be used to exfiltrate arbitrary local files if misused. The SKILL.md does not attempt to read other system configs or require unrelated environment variables.
Install Mechanism
There is no install spec (instruction-only), so nothing is downloaded or written beyond the agent executing the provided commands. This is the lowest-risk install model.
Credentials
Only XAI_API_KEY is required, which is appropriate for calling the xAI API. No unrelated credentials or config paths are requested.
Persistence & Privilege
The skill is not marked always:true, has no install-time persistence, and does not modify other skills or system-wide settings. It writes output files to ~/.openclaw/media and /tmp as described (normal for media artifacts).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install grok-imagine-image-pro
  3. After installation, invoke the skill by name or use /grok-imagine-image-pro
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Fix: TIMESTAMP bug in Python f-strings. Fix: consistent paths with expanduser. Added editing limitation note.
v1.0.1
Added metadata: declared XAI_API_KEY env requirement and curl/python3 binary dependencies
v1.0.0
Initial release: xAI Grok image generation & style transfer. Supports grok-imagine-image and grok-imagine-image-pro models, aspect ratios, batch generation, b64_json response format.
Metadata
Slug grok-imagine-image-pro
Version 1.0.2
License
All-time Installs 1
Active Installs 1
Total Versions 3
Frequently Asked Questions

What is Grok Imagine Image Pro?

Generates and edits high-quality PNG images via xAI Grok/Flux API using prompts, styles, aspect ratios, and batch processing with base64 output. It is an AI Agent Skill for Claude Code / OpenClaw, with 1167 downloads so far.

How do I install Grok Imagine Image Pro?

Run "/install grok-imagine-image-pro" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Grok Imagine Image Pro free?

Yes, Grok Imagine Image Pro is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Grok Imagine Image Pro support?

Grok Imagine Image Pro is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Grok Imagine Image Pro?

It is built and maintained by NixeiFoit (@nixeifoit); the current version is v1.0.2.

💬 Comments