---
name: picpromptlab-create
description: Create or edit images with the PicPromptLab remote MCP, reusing accessible prompts when useful. Use for image creation, image editing, prompt adaptation, and optional saving or publishing through PicPromptLab.
---

# Create with PicPromptLab

Use the connected PicPromptLab MCP for library data, private images, generation, and publication. Do the creative reasoning and prompt adaptation in this agent. Respond in the user's language.

## Choose a prompt

- Every `search_prompts` call requires **one to three explicit sources**. Never perform an all-site prompt search. Call `list_libraries(kind="owned")` first when the user has not named a source; use `{ kind: "owned_workspace" }` to search their whole library or `{ kind: "owned", id }` for a selected collection and its descendants. Use `list_libraries(kind="public", query="...")` only when the user names or asks for a public creator library, then pass its `{ kind: "public", slug }` reference. Public prompts the user saved earlier are private copies in an owned collection.
- Search the selected library or libraries with a few short subject, style, or use-case terms and the correct image mode. Search uses title, tags, prompt text, edit instructions, and notes, with source terms ranked above synonym expansions. Use `get_prompt` to read promising matches; a `gated` result does not grant access to its prompt body.
- If an owned library finds no useful result, keep the next attempt within an explicitly selected library. Ask the user which public library to use when they have not named one.
- Prefer a suitable existing prompt. Adapt its wording and variables to the user's request in your own context. Preserve the source prompt; do not edit it unless the user asks to edit that saved item. If no useful accessible prompt exists, write a new working prompt yourself. `suggest_prompt` is optional, not the default path.
- Tell the user which prompt was reused, when relevant. Do not claim that an adaptation is a new library item.

## Generate without saving a prompt

- By default, call `generate_image` with the final `promptText` and a stable `idempotencyKey`. This creates a private generation job without creating a prompt case. Poll `get_job` until it completes and show the result. A generation consumes the account's allowance.
- If the user asks to use an owned saved prompt unchanged, `generate_image` may take its `caseId`. Supplying both `caseId` and `promptText` uses the adapted text for this job only; it does not edit the saved prompt.
- For image editing, obtain an image in the user's private library, compose the edit instructions locally, then call `generate_image` with `promptText`, `referenceMode: "reference_on"`, and that image's `referenceImageUrl`. A path on the user's computer is not a remote URL: use `prepare_image_upload`, a local HTTP PUT with the returned content type, and `finish_image_upload` first.
- If a result needs another pass, refine the working prompt in this agent and generate again. Do not save each attempt as a library item.

## Create reusable prompts

- For a text-to-image prompt, call `create_text_prompt_draft` with `title`, `promptText`, and any appropriate `negativePrompt` or `variables`. Do not include before/after images or image-edit instructions.
- For an image-edit prompt, call `create_image_edit_draft` with `title`, `editBeforeImageUrl`, and `editInstruction`; include `preserveInstruction` when applicable. `editAfterImageUrl` is an optional target example for the saved prompt and public before/after presentation. Do not pass `promptText`, `negativePrompt`, or text-to-image variables to this tool.
- When deriving an image-edit prompt from before + after + an existing prompt, do the visual comparison and prompt adaptation in this agent. The existing prompt is source context, while the saved image-edit prompt is the structured `editInstruction` and `preserveInstruction` result.

## Save and publish only when requested

- Create a prompt with the mode-specific draft tool only when the user explicitly asks to save a reusable prompt or prepare a publishable item. Saving a generated image locally or keeping its private generation result is not permission to create a prompt case.
- Publishing is a separate user request. Read the current draft, run `check_publish`, show what will become public, and call `publish_draft` only after the user has asked to publish and confirmed rights to the images. Never treat a request to generate or save privately as a request to publish.
- Existing paid or private prompts remain subject to MCP access checks. Do not infer or reconstruct hidden prompt text from gated search results.
