Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OPENROUTER_API_KEYYesGet one at openrouter.ai/keys
OPENROUTER_IMAGE_OUTPUT_DIRNoWhere generated images are saved. Defaults to ./pixara-images./pixara-images

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
pixara_generate_imageA

Generate an image from a text prompt using any image model available on OpenRouter.

This calls OpenRouter's dedicated Image API (not chat completions) and saves the resulting image(s) to disk, returning the file path(s), model used, and cost. It does NOT edit or use reference images — for image-to-image/editing, use pixara_edit_image instead.

Args:

  • model (string): OpenRouter model slug, e.g. 'black-forest-labs/flux-1.1-pro' or 'openai/gpt-image-1'. Use pixara_list_image_models to discover options.

  • prompt (string): Text description of the desired image.

  • n (number, 1-10, default 1): Number of images to generate. Not all models support n > 1.

  • resolution ('512'|'1K'|'2K'|'4K', optional): Resolution tier.

  • aspect_ratio (string, optional): e.g. '16:9', '1:1'. Don't combine with 'size'.

  • size (string, optional): Convenience tier or explicit dimensions. Don't combine with resolution/aspect_ratio.

  • quality ('auto'|'low'|'medium'|'high', optional)

  • output_format ('png'|'jpeg'|'webp', default 'png')

  • background ('auto'|'transparent'|'opaque', optional): 'transparent' requires png/webp.

  • output_compression (0-100, optional): webp/jpeg only.

  • seed (number, optional): For deterministic generation where supported.

  • provider_options (object, optional): Provider-specific passthrough params. Check pixara_get_model_details first for allowed keys.

  • output_dir (string, optional): Where to save images (default: OPENROUTER_IMAGE_OUTPUT_DIR).

  • filename_prefix (string, optional): Prefix for saved filenames.

Returns: Markdown summary listing each saved file's path, media type, size in bytes, and the total cost charged by OpenRouter for the request.

Examples:

  • Use when: "Generate a picture of a red panda astronaut" -> model + prompt only

  • Use when: "Make a transparent-background product shot" -> background='transparent', output_format='png'

  • Don't use when: you have a reference image to transform (use pixara_edit_image)

Error Handling:

  • "Insufficient OpenRouter credits" -> add credits at https://openrouter.ai/credits

  • "Bad request" / conflicting params -> re-check with pixara_get_model_details

  • "Rate limited" -> wait and retry

pixara_edit_imageA

Edit or transform an existing image using a text prompt and one or more reference images, via any image-to-image-capable model on OpenRouter.

This calls OpenRouter's Image API with input_references and saves the resulting image(s) to disk. Reference images can be a local file path, a remote URL, or raw base64 — this tool handles reading/encoding local files itself, so you never need to pre-encode anything.

Args:

  • model (string): Must support image-to-image, e.g. 'openai/gpt-image-1' or 'bytedance-seed/seedream-4.5'. Check with pixara_get_model_details first if unsure.

  • prompt (string): Instruction describing the desired edit/transformation.

  • input_references (array, required, 1+): Each entry is one of: { source: "file", path: "/abs/or/relative/path.png" } { source: "url", url: "https://example.com/photo.jpg" } { source: "base64", data: "", media_type: "image/png" }

  • n, resolution, aspect_ratio, size, quality, output_format, background, output_compression, seed, provider_options, output_dir, filename_prefix: same meaning as in pixara_generate_image.

Returns: Markdown summary listing each saved file's path, media type, size in bytes, and the total cost charged by OpenRouter for the request.

Examples:

  • Use when: "Make this photo look like a watercolor painting" with a local file path

  • Use when: "Remove the background from this product photo" with a URL reference

  • Don't use when: there's no reference image at all (use pixara_generate_image)

Error Handling:

  • "Could not read reference image" -> check the file path is correct and readable

  • "Bad request" -> the chosen model may not support img2img; verify with pixara_get_model_details

  • "Insufficient OpenRouter credits" -> add credits at https://openrouter.ai/credits

pixara_list_image_modelsA

List image-generation models available on OpenRouter, with filtering and pagination.

This is a read-only, no-cost call (no image is generated). Use it to discover model IDs before calling pixara_generate_image or pixara_edit_image, or to find models with a specific capability.

Args:

  • filter (string, optional): Case-insensitive substring match against model id or name.

  • provider (string, optional): Restrict to models whose id starts with this prefix, e.g. 'openai', 'black-forest-labs'.

  • supports_img2img (boolean, optional): Only models that accept input_references.

  • supports_streaming (boolean, optional): Only models that support SSE streaming.

  • supports_transparent_background (boolean, optional): Only models supporting transparent backgrounds.

  • limit (number, 1-100, default 30), offset (number, default 0): Pagination.

  • response_format ('markdown'|'json', default 'markdown').

Returns: For JSON: { total, count, offset, models: [...], has_more, next_offset? } For Markdown: a heading per model with id, description, and supported parameter names.

Examples:

  • Use when: "What image models can do transparent backgrounds?" -> supports_transparent_background=true

  • Use when: "Show me FLUX models" -> filter='flux'

  • Don't use when: you already know the exact model id (skip straight to generate_image)

pixara_get_model_detailsA

Get per-provider pricing, supported parameters, and passthrough options for one OpenRouter image model.

This is a read-only, no-cost call. Use it before pixara_generate_image / pixara_edit_image to confirm exactly which parameters a model/provider supports and what it costs — unsupported parameters are silently ignored or rejected by the API, so checking first avoids wasted/failed calls.

Args:

  • model (string, required): OpenRouter model slug, e.g. 'black-forest-labs/flux.2-pro'.

  • response_format ('markdown'|'json', default 'markdown').

Returns: Per-provider breakdown: pricing (billable type, unit, price, tier/variant), supported parameter descriptors (enum values, numeric ranges, or plain booleans), and any allowed_passthrough_parameters for use with the generate/edit tools' provider_options field.

Examples:

  • Use when: "How much does flux.2-pro cost and what steps/guidance params does it take?"

  • Use when: "Does gpt-image-1 support transparent backgrounds on this provider?"

  • Don't use when: browsing across many models (use pixara_list_image_models instead)

Error Handling:

  • "Resource not found" / empty endpoints -> the model id may be wrong; verify with pixara_list_image_models

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/pixara-mcp'

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