Skip to main content
Glama

Edit Pollinations Image

pollinations_edit_image

Edit image URLs with natural-language instructions—restyle, replace backgrounds, or transform composition. Pass source image URLs and a prompt for target changes.

Instructions

Edit or transform existing image URL(s) with Pollinations using a text instruction. This calls Pollinations' OpenAI-compatible image editing endpoint with JSON image URLs. Use this when the user provides one or more source images and wants changes such as restyling, object/background changes, cleanup, transparent background, composition changes, or image-to-image transformations. Do NOT use this for a brand-new image with no source image; use pollinations_generate_image instead. Args: - prompt (string, required): Editing instruction. Say exactly what to change and what to preserve. Example: 'keep the bee robot unchanged, replace the background with a dark charcoal studio surface, make the wings more translucent'. - image (string or string[], required): Source image URL or URLs. Local file paths are not supported in v1. If the user has a local image, upload it elsewhere first or use a public/content-addressed URL. - model (string, optional): Image-editing-capable Pollinations model. Good candidates may include kontext, gptimage, gptimage-large, gpt-image-2, seedream, seedream-pro, nanobanana, nanobanana-2, nanobanana-pro, klein, p-image-edit. Call pollinations_list_models first if unsure. - n (number, optional, default 1): Number of edited outputs. Pollinations currently supports max 1. - size (string, optional): Output size as WIDTHxHEIGHT, e.g. 1024x1024. If omitted, Pollinations chooses the default. If width and height are provided and size is omitted, Nectar sends WIDTHxHEIGHT as size. - width and height (numbers, optional): Alternative output dimension controls. - quality (string, optional): standard, hd, low, medium, or high. Best supported by gptimage/gpt-image models; unsupported models may ignore it. - response_format (string, optional, default b64_json): b64_json is preferred for local saving because Nectar can decode it directly. Use url only when the caller explicitly wants a Pollinations URL instead of embedded image data. - save_output (boolean, optional, default true): Save returned image data or URL media to a local file and include the path in the result. - output_dir (string, optional): Directory for saved files. Defaults to NECTAR_OUTPUT_DIR or ./nectar-output relative to the server process. - filename_prefix (string, optional): Prefix for saved media filenames. Nectar sanitizes this value. - seed (number, optional): Reproducibility seed where supported. Use -1 for random. - enhance (boolean, optional): Ask Pollinations to enhance the prompt where supported. - negative_prompt (string, optional): Things to avoid in the edited output, where supported. - transparent (boolean, optional): Request transparent output. Best supported by gptimage, gptimage-large, and gpt-image-2. - safe (string, optional): Comma-separated safety filters: privacy, secrets, sexual, violence, shield, true, nsfw. - user (string, optional): End-user identifier for abuse tracking. - output_format (string, optional, default markdown): markdown summary or raw json response. Returns: Markdown or JSON with the edited image URL, base64 length, and revised_prompt when returned. Examples: Use when the user says 'make this image transparent', 'change the outfit', 'turn this logo into a sticker', or 'use this reference image but make it cyberpunk'. Error handling: 401 means missing/invalid POLLINATIONS_API_KEY. 402 means insufficient pollen. 403 means selected model/key permission issue. 400 usually means an unsupported edit model, invalid image URL, or conflicting options; call pollinations_list_models and retry with a model that supports editing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nNoNumber of edited images. Pollinations currently supports 1.
safeNoOptional comma-separated safety filters: privacy, secrets, sexual, violence, shield, true, nsfw. true enables privacy,secrets. nsfw enables sexual,violence.
seedNoOptional seed for reproducible edits where supported. Use -1 for random.
sizeNoOptional output size as WIDTHxHEIGHT, for example 1024x1024 or 1536x1024. If width and height are set and size is omitted, Nectar sends WIDTHxHEIGHT as size.
userNoOptional end-user identifier for abuse tracking.
imageYesRequired source image URL or URLs to edit. Local file paths and multipart uploads are intentionally not supported in v1.
modelNoOptional image-editing model slug. Examples: kontext, gptimage, gptimage-large, gpt-image-2, seedream, seedream-pro, nanobanana, nanobanana-2, nanobanana-pro, klein, p-image-edit. Call pollinations_list_models for current capabilities.
widthNoOptional output width in pixels. Use with height as an alternative to size.
heightNoOptional output height in pixels. Use with width as an alternative to size.
promptYesRequired edit instruction. Be clear about what to change and what must remain unchanged.
enhanceNoOptional prompt enhancement flag. Supported models may expand/improve the edit prompt.
qualityNoOutput quality: standard, hd, low, medium, high. Unsupported models may ignore this.medium
output_dirNoDirectory where edited image files should be saved. Defaults to NECTAR_OUTPUT_DIR or ./nectar-output.
save_outputNoSave returned edited image output to a local file. Works for both url and b64_json Pollinations responses.
transparentNoOptional transparent background/output request. Best supported by gptimage, gptimage-large, and gpt-image-2.
output_formatNoMCP response format: markdown for readable summaries, json for raw Pollinations response plus saved_files metadata when saving is enabled.markdown
filename_prefixNoOptional prefix for saved edited image filenames. Example: transparent-logo or edited-portrait.
negative_promptNoOptional negative prompt describing what to avoid in the edited image, where supported.
response_formatNoPollinations response format. Defaults to b64_json so Nectar can save edited images locally without a second download. Use url only when the caller explicitly wants a Pollinations URL.b64_json
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only signal readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds substantial behavioral context beyond these: it calls the Pollinations OpenAI-compatible endpoint, saves output to local files by default (save_output=true), explains response formats and revised_prompt, and documents error codes (401/402/403/400). This is rich, non-contradictory behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured with clear sections (usage, args, returns, examples, error handling). It front-loads the core purpose and usage guidance. A small amount of redundancy with the schema's parameter descriptions exists, but each sentence generally earns its place given the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 19 parameters, no output schema, and a complex external API, the description still manages to cover when to use, how to invoke, parameter details, expected return values, examples, and error handling. The inclusion of a concrete example instruction ('keep the bee robot unchanged, replace the background...') and exact error semantics makes it exceptionally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description goes far beyond the schema by adding practical guidance for each parameter: recommended model candidates (kontext, gptimage, etc.), the relationship between size/width/height, preference for b64_json because Nectar can decode it directly, and explicit caveats like 'Local file paths are not supported in v1.' It significantly enriches parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Edit or transform existing image URL(s) with Pollinations using a text instruction.' It explicitly names the underlying endpoint and clearly distinguishes itself from the sibling tool pollinations_generate_image by stating 'Do NOT use this for a brand-new image with no source image; use pollinations_generate_image instead.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance ('Use this when the user provides one or more source images and wants changes such as restyling, object/background changes, cleanup...'), a direct exclusion with an alternative tool, and even advises calling pollinations_list_models first if unsure about the model. This is exemplary usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pinkpixel-dev/nectar-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server