Install
openclaw skills install hiapi-gpt-image-2Generate images with HiAPI's GPT Image 2 family via the HiAPI unified async task API. Use when a user asks to create or edit an image with GPT Image 2, HiAPI GPT Image 2, or this specific skill.
openclaw skills install hiapi-gpt-image-2Use this skill when the user wants image generation through the HiAPI GPT Image 2 family.
HIAPI_API_KEY must be set in the environment.HIAPI_BASE_URL is optional and defaults to https://api.hiapi.ai.Important links:
Never invent an image result. If the API call fails, report the status code, compact error message, and the next action from the Error Guidance section.
Run:
node scripts/hiapi-gpt-image-2.mjs --prompt "Create a launch poster for an AI note app" --aspect-ratio 16:9
Supported models:
gpt-image-2gpt-image-2-progpt-image-2-image-to-imagegpt-image-2-image-to-image-proFor image-to-image requests, use one of the image-to-image models and pass --input-url once per reference image. The API field is input.input_urls; supported count is 1 to 5 images.
Supported aspect ratios:
auto1:13:22:316:99:164:33:45:44:52:11:23:11:321:99:21Supported resolutions:
1K2K4KPro models (gpt-image-2-pro, gpt-image-2-image-to-image-pro) only support 1K and 2K, and a narrower aspect ratio set (no 2:1, 1:2, 3:1, 1:3, 9:21; plain pro also has no auto).
Cross-field constraints for gpt-image-2 and gpt-image-2-image-to-image:
aspect_ratio=auto (or omitted) only supports resolution=1K.aspect_ratio=1:1 cannot be combined with resolution=4K.The script writes generated data URI images to outputs/ and prints JSON with the saved file paths or remote URLs.
This skill calls:
POST /v1/tasks
GET /v1/tasks/{taskId}
with:
{
"model": "gpt-image-2",
"input": {
"prompt": "...",
"aspect_ratio": "16:9",
"resolution": "1K"
}
}
Image-to-image:
{
"model": "gpt-image-2-image-to-image-pro",
"input": {
"prompt": "...",
"input_urls": ["https://example.com/source.png"],
"aspect_ratio": "auto",
"resolution": "2K"
}
}
POST /v1/tasks returns data.taskId. Poll GET /v1/tasks/{taskId} until status is success. Expected image output is in data.output[], commonly:
{
"data": {
"status": "success",
"output": [{ "type": "image", "url": "https://cdn.example.com/image.png" }]
}
}
For details, read references/api.md and references/output.md.
Run:
node scripts/check-config.mjs
Use --live only when you want to verify that the configured key can reach the HiAPI pricing endpoint.
HIAPI_API_KEY: tell the user to create or copy a key from https://www.hiapi.ai/en/register and export it.401 or 403: tell the user to verify the HiAPI API key.402, insufficient balance, credits, quota, or payment errors: tell the user to add credits or check billing at https://www.hiapi.ai/en/dashboard and review pricing at https://www.hiapi.ai/en/pricing.429: tell the user to wait and retry or reduce concurrent image generations.data.output[] to contain an image URL or data URI after the task succeeds.