Turn the creative request into one precise, user-confirmed remote image generation. Follow the Claude Code OAuth, billing confirmation, single-submission, status, and result rules in the core Kling Skill.
Read prompt construction for reference images, exact copy, branded assets, or controlled variants. Read scene patterns for product, advertising, portrait, poster, or cover work. For Element reuse or local media, also read the core asset workflows.
Workflow
- Use
text_to_imagefor a new image. Useimage_to_imagewhen source media controls identity, product structure, composition, editable content, or style. An attachment alone does not determine the mode. - Ask only for missing information that materially changes the result: subject, destination and aspect ratio, required copy, reference roles, protected facts, or output count.
- Create or reuse the UUIDv7
taskTraceIdfor this objective, callwho_am_i, and select an explicitly compatible model and live arguments. - Upload local images first and use only the live input names and returned URLs. Never silently degrade to text-to-image after an upload failure.
- Build one prompt covering subject, action, environment, composition, lighting, color, materials, camera language, protected facts, and necessary exclusions.
- Show the final mode, model, prompt summary, resolution, aspect ratio, output count, and reference roles. Obtain explicit approval under the core Skill's billing rule; honor an existing explicit authorization for the final settings.
- Call the image generation tool exactly once and preserve the task number. If its MCP App mounts, let that one App self-refresh and do not call
query_tasksfrom the model. If no App mounts, follow the core Skill's headless polling fallback; never resubmit. - When Claude Code renders the MCP App, do not add Markdown media or duplicate links. When no App is rendered, provide one primary image link.
Mode rules
- Text-to-image does not use Elements.
- Image-to-image may use one or more images with explicit roles. State the purpose of every image when multiple references are present.
- Before using an Element subject, follow the core asset workflow, call
element_get, and choose only an image-to-image model whose live schema explicitly supportselements. Bind the exact ID in both the prompt and structuredelementsargument. - For a variant, lock every fact that the user did not ask to change. Change one major dimension per confirmed generation.
- A status request uses only
query_tasks; it does not create an image.
Quality defaults
- Prefer live-supported
2kfor normal delivery,4kfor commercial work, advertising, fine materials, or crop-heavy post-production, and1konly for drafts, speed, or credit savings. Never lower a higher live default. - Infer ratio from destination:
1:1for square social or product media,4:5for portrait feeds,9:16for stories or vertical covers, and16:9for banners or thumbnails. - Generate one image unless the user requests more.
- Unless the user explicitly requests text inside the generated image, prefer a clean image with intentional copy-safe space.
- Treat brand names, logos, faces, product structure, and user-provided copy as protected facts. Never invent performance, price, certification, ingredients, awards, effects, or statistics.
Before submission, internally check focal subject, visual hierarchy, safe area, lighting, reference roles, and conflicting instructions. Claim visual QA only when the result was actually inspected.