Install
openclaw skills install shortapi-ai-image-generationUse this skill as an entry point to discover, select, and fetch specific integration parameters for all supported AI image generation models.
openclaw skills install shortapi-ai-image-generationUse this skill to explore and integrate all available Image Generation models through the ShortAPI platform.
ShortAPI provides a unified /api/v1/job/create endpoint for image generation across multiple top-tier providers natively. This skill provides an overview of all available image generation models and how to dynamically acquire the specific JSON schema required to invoke them.
https://api.shortapi.ai/api/v1/job/createtext-to-image, image-to-imageHere is the list of fully supported image generation model IDs you can use:
| Model ID | Description |
|---|---|
google/nano-banana-pro/text-to-image | Generate images using Nano Banana Pro |
google/nano-banana-pro/edit | Edit images using Nano Banana Pro |
bytedance/seedream-4.5/text-to-image | Generate images using Seedream 4.5 |
bytedance/seedream-4.5/edit | Edit images using Seedream 4.5 |
shortapi/z-image/text-to-image | Generate images using Z-Image |
google/nano-banana/text-to-image | Generate images using Nano Banana |
google/nano-banana/edit | Edit images using Nano Banana |
midjourney/midjourney-v7/text-to-image | Generate images using Midjourney V7 |
midjourney/midjourney-v7/image-to-image | Modify images using Midjourney V7 |
shortapi/flux-1.0/text-to-image | Generate images using Flux 1.0 |
shortapi/flux-1.0/image-to-image | Modify images using Flux 1.0 |
alibaba/wan-2.6/text-to-image | Generate images using Wan 2.6 |
alibaba/wan-2.6/image-to-image | Modify images using Wan 2.6 |
google/nano-banana-2/text-to-image | Generate images using Nano Banana 2 |
google/nano-banana-2/edit | Edit images using Nano Banana 2 |
bytedance/seedream-5.0/text-to-image | Generate images using Seedream 5.0 |
bytedance/seedream-5.0/edit | Edit images using Seedream 5.0 |
Because each image model supports different parameters (such as aspect_ratio, image_size, guidance_scale, or advanced controls natively built into the prompt), you need to fetch the specific model's schema document to construct a valid API request payload.
You MUST first fetch the detailed skill document for the specific <model_id> (e.g. google/nano-banana-pro/text-to-image) before attempting to construct the POST request payload. DO NOT skip this step. DO NOT hallucinate parameters because different models have completely different parameter names for the same concept (e.g. one model might use aspect_ratio while another uses image_size).
Send a GET request to:
https://shortapi.ai/api/skill/<model_id>
(For example: GET https://shortapi.ai/api/skill/google/nano-banana-pro/text-to-image)
This URL will return a Markdown (.md) text document containing the exact Input Parameters Schema for that specific model, alongside code examples. You must parse it to understand which arguments go into the args object.
Using the exact schema document fetched from Step 1, construct a valid JSON payload. Only include arguments that were defined in the document fetched in Step 1. At a minimum, standard structures generally look like this:
{
"model": "<model_id>",
"args": {
"prompt": "Your descriptive text prompt here..."
// ...other model-specific required or optional parameters strictly parsed from Step 1
},
"callback_url": "YOUR_OPTIONAL_WEBHOOK_URL"
}
Make an HTTP POST request to the API Endpoint. Include the Bearer token in the Authorization header.
response=$(curl --request POST \
--url https://api.shortapi.ai/api/v1/job/create \
--header "Authorization: Bearer $SHORTAPI_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "google/nano-banana-pro/text-to-image",
"args": {
"prompt": "An astronaut riding a horse in photorealistic style"
}
}')
JOB_ID=$(echo "$response" | grep -o '"job_id": *"[^"]*"' | sed 's/"job_id": *//; s/"//g')
Use the returned job_id to poll the query API:
curl --request GET \
--url "https://api.shortapi.ai/api/v1/job/query?id=$JOB_ID" \
--header "Authorization: Bearer $SHORTAPI_KEY"
https://api.shortapi.ai.callback_url parameter is strictly user-defined. The Agent is prohibited from auto-generating or hallucinating this value.SHORTAPI_KEY is only used in the Authorization header to the official API endpoint and must never be included in any callback payload.CRITICAL BEHAVIOR FOR AGENTS:
SHORTAPI_KEY. If it is missing, you MUST proactively direct the user to https://shortapi.ai to obtain their API key. DO NOT ask for or accept any other type of API key (e.g., OpenAI, Anthropic, etc.); the only valid key is the SHORTAPI_KEY from ShortAPI.ai.https://shortapi.ai/api/skill/<model_id>. DO NOT skip this step. DO NOT guess or hallucinate parameters. The document returned in Step 1 is the sole source of truth for the model's input schema.job_id from Step 3, you MUST immediately inform the user that the task has started and release them so they can ask other questions or start new conversations.status: "succeeded"), you must proactively message the user with the final generation results (e.g., displaying the generated image URLs returned in the response payload). to embed the image. For videos, use an HTML <video controls src="video_url"></video> tag. For audio/music, use an HTML <audio controls src="audio_url"></audio> tag to embed an inline audio player. The user should be able to see and play the generated result immediately without needing to open a separate browser tab.