Install
openclaw skills install artclaw-creative-suiteARTCLAW AI Creative Suite - invoke ARTCLAW platform's AI content creation capabilities via CLI. Supports AI image generation, video generation, workflow execution, multimodal analysis, and job management. All generation commands must run asynchronously using the current platform adapter. Requires an API Key prefixed with vk_ for authenticated features. Trigger keywords: generate image, generate video, AI painting, text-to-image, text-to-video, image-to-video, marketing image, logo, cover, workflow, video analysis, image analysis, ARTCLAW, ArtClaw.
openclaw skills install artclaw-creative-suiteARTCLAW is an all-in-one AI content creation platform. This skill uses scripts/artclaw.py as the single CLI entry point for authentication, submission, polling, retry, history, and JSON output.
docs/adapters/ before running generation or workflow commands.If platform detection is ambiguous, ask the user which platform they are using. If the platform is unsupported, use docs/adapters/others.md.
| Platform | Adapter document |
|---|---|
| OpenClaw | docs/adapters/openclaw.md |
| Claude Code | docs/adapters/claude-code.md |
| Hermes Agent | docs/adapters/hermes.md |
| Unknown / unsupported platform | docs/adapters/others.md |
python3 scripts/artclaw.py ....python3 scripts/artclaw.py verify-key before authenticated operations.run_in_background: true so /tasks can track the local background task. DO NOT manually poll with job-status after the background task completes — the background task already polls internally and returns the final result in its output.--no-wait by default unless the selected adapter explicitly defines a different async strategy or the user explicitly asks the agent to wait.--spawn instead of --no-wait.docs/adapters/ and followed strictly.Run this before authenticated operations:
python3 scripts/artclaw.py verify-key
{"status": "valid"}: continue.Setup:
vk_ and is shown only once.python3 scripts/artclaw.py config-init --api-key "vk_xxx"
Useful account commands:
python3 scripts/artclaw.py account-info
python3 scripts/artclaw.py config
All local ARTCLAW data is stored under ~/.artclaw/, including config.json, last_job.json, and history/.
Generation and workflow commands are long-running. Always follow the current platform adapter before choosing --spawn, Claude Code run_in_background, --no-wait, or explicit waiting.
Safe default:
--spawn.run_in_background: true when available.--no-wait — unless the adapter defines its own background strategy (e.g. Hermes uses background terminal; see adapter doc).python3 scripts/artclaw.py generate-image \
--prompt "Cyberpunk cityscape at night, neon lights reflected in rainwater" \
--aspect-ratio 16:9 \
--no-wait
With references:
python3 scripts/artclaw.py generate-image \
--prompt "Landscape painting in the same style" \
--reference-urls https://example.com/style_ref.jpg \
--no-wait
| Parameter | Description | Values |
|---|---|---|
--prompt | Image description, required | Text |
--aspect-ratio | Aspect ratio | 16:9, 9:16, 1:1, 4:3, 21:9 |
--resolution | Resolution | 1K, 2K, 4K |
--reference-urls | Reference image URLs or base64 data URIs | One or more values |
--reference-files | Local reference files, auto-converted to base64 | One or more paths |
--model | Model override | Model ID |
python3 scripts/artclaw.py generate-video \
--prompt "Waves crashing on rocks, slow motion" \
--aspect-ratio 16:9 \
--duration 5 \
--resolution 720p \
--no-wait
Image-to-video:
python3 scripts/artclaw.py generate-video \
--prompt "Make the person in the frame turn their head and smile" \
--reference-urls https://example.com/portrait.jpg \
--no-wait
| Parameter | Description | Values |
|---|---|---|
--prompt | Video description, required | Text |
--aspect-ratio | Aspect ratio | 16:9, 9:16, 1:1, 4:3, 21:9 |
--duration | Duration in seconds | 2 - 12 |
--resolution | Resolution | 480p, 720p, 1080p |
--reference-urls | Reference image URLs or base64 data URIs | One or more values |
--reference-files | Local reference image files, auto-converted | One or more paths |
--model | Model override | Model ID |
python3 scripts/artclaw.py generate-marketing-image \
--prompt "Summer cool drinks promotional poster" \
--size 1080x1920 \
--no-wait
python3 scripts/artclaw.py list-workflows
python3 scripts/artclaw.py run-workflow \
--workflow-id "text-to-image-basic" \
--inputs '{"prompt": "Anime-style forest"}' \
--no-wait
Replace --no-wait with --spawn, --deliver-to, and --deliver-channel only when the current platform adapter says to do so.
Analysis commands are synchronous. They do not require --spawn or background execution.
python3 scripts/artclaw.py analyze-image \
--reference-urls https://example.com/photo.jpg \
--query "Describe the main content of this image"
python3 scripts/artclaw.py analyze-video \
--reference-urls https://example.com/clip.mp4 \
--query "Summarize the video content"
python3 scripts/artclaw.py analyze-script \
--reference-paths https://example.com/drama.mp4
python3 scripts/artclaw.py analyze-characters \
--text "Li Ming is an introverted but brilliant programmer..."
python3 scripts/artclaw.py job-status --job-id "job_xxxxxxxx"
python3 scripts/artclaw.py list-jobs --status success --limit 10
python3 scripts/artclaw.py cancel-job --job-id "job_xxxxxxxx"
python3 scripts/artclaw.py last-job
python3 scripts/artclaw.py history --limit 50
Use job-status, last-job, and history for follow-up instead of resubmitting generation requests. There is no latest-job command.
| Error | Cause | Resolution |
|---|---|---|
401 Unauthorized | API key invalid, missing, or revoked | Guide user to regenerate the key |
402 / insufficient credits | Account balance depleted | Guide user to top up at https://artclaw.com/settings |
404 Job not found | Job ID does not exist or expired after 24h | Tell user the job expired and ask whether to regenerate |
404 Workflow not found | Workflow does not exist | Run list-workflows first |
429 Too Many Requests | Rate limit exceeded | Wait and retry |
Use delivery options only when the platform adapter supports spawn/delivery mode.
--spawn must be paired with both --deliver-to and --deliver-channel.
| Scenario | --deliver-channel | --deliver-to value | Source |
|---|---|---|---|
| Feishu group chat | feishu | oc_xxx chat ID | conversation_label or chat_id, strip chat: prefix |
| Feishu direct message | feishu | ou_xxx open ID | sender_id, strip user: prefix |
| Telegram | telegram | chat_id | Inbound message context |
| Discord | discord | channel_id | Inbound message context |
For Feishu, check is_group_chat in inbound metadata: true → use oc_ chat ID; false → use ou_ open ID.
| Channel | Credential source |
|---|---|
feishu | ~/.openclaw/openclaw.json → channels.feishu.accounts.main |
telegram | TELEGRAM_BOT_TOKEN environment variable |
discord | Framework built-in message tool |
python3 scripts/artclaw.py self-update
Preview without writing files:
python3 scripts/artclaw.py self-update --dry-run
Downloads https://github.com/ArtClaw1/artclaw-skill/archive/refs/heads/main.zip, atomically applies added or modified files, and reports a JSON summary. Does not delete local-only files.