generate-image
Constraints
- The model's final user-facing response should match the user's input language, default English.
- Must request user confirmation before triggering any paid/high-cost image generation call.
- After confirmed, must call CreatOK Open Skills proxy and wait until completion.
- Avoid technical wording in the user-facing reply unless the user explicitly needs details for debugging.
Model Selection Rules
-
Seedream 5.0 Lite- actual model id:
seedream-5.0-lite - faster and lighter, good for quick iteration
- resolutions: 2K, 4K only
- actual model id:
-
Nano Banana Pro- actual model id:
nano-banana-pro - highest quality, best for photorealistic portraits and product shots
- resolutions: 1K, 2K, 4K
- actual model id:
-
Nano Banana 2- actual model id:
nano-banana-2 - latest Nano Banana, best overall quality
- resolutions: 1K, 2K, 4K
- actual model id:
The model should recommend a model before generation based on the use case:
- portraits / photorealistic people →
nano-banana-2 - product shots / e-commerce →
nano-banana-pro - general illustration / concept art →
nano-banana-2 - quick preview / iteration →
seedream-5.0-lite - user explicitly wants 1K →
nano-banana-proornano-banana-2(Seedream does not support 1K)
Inputs to clarify (ask if missing)
- ask only for what is necessary to generate a good image
- if resolution or aspect ratio is not specified, use sensible defaults (2K, square)
- if the prompt is vague, offer to refine it before confirming generation
- reference images are optional — ask only if the user implies style transfer or subject reference
Workflow
- Confirmation gate (mandatory)
- Summarize:
- model
- resolution
- number of images (
n) - aspect ratio if specified
- estimated cost/credits if available
- Ask for a simple confirmation before submitting.
- Do not submit the generation task until user says yes.
- Submit image generation
- Call CreatOK:
POST /api/open/skills/image-generation
- Poll status until completion
- Call CreatOK:
GET /api/open/skills/tasks/status?task_id=...&task_type=image_generation
- Persist artifacts + respond
- Write:
outputs/result.jsonwithtask_id/status/images/rawoutputs/result.md
- Persist the
task_idimmediately after submission so the user can recover later. - Return the final image URLs.
Existing Task Recovery
- If the user already has a
task_id, continue from that task instead of starting a new one. - In recovery mode, do not ask the user to restate the prompt if the task id is already available.
- The model can either check status once or keep polling if the user wants to wait.
- If the task succeeded, return the final image URLs.
- If the task is still queued or running, explain clearly and offer to keep checking.
- If the task failed, explain the failure and suggest next steps.
Artifacts
All artifacts under generate-image/.artifacts/<run_id>/....
Thin Client Boundary
- This skill submits generation jobs, polls status, and persists fixed-format outputs.
- The model should not make the user restate their idea if the direction is already clear from the conversation.