Skip to main content
Glama

generateImageUrl

Generate image URLs from text prompts using user-configured or custom settings. Specify dimensions, models, and enhancements for tailored visual outputs.

Instructions

Generate an image URL from a text prompt. User-configured settings in MCP config will be used as defaults unless specifically overridden.

Input Schema

NameRequiredDescriptionDefault
enhanceNoWhether to enhance the prompt using an LLM before generating (default: true)
heightNoHeight of the generated image (default: 1024)
modelNoModel name to use for generation (default: user config or "flux"). Use listImageModels to see all available models
promptYesThe text description of the image to generate
safeNoWhether to apply content filtering (default: false)
seedNoSeed for reproducible results (default: random)
transparentNoGenerate image with transparent background (gptimage model only, default: false)
widthNoWidth of the generated image (default: 1024)

Input Schema (JSON Schema)

{ "properties": { "enhance": { "description": "Whether to enhance the prompt using an LLM before generating (default: true)", "type": "boolean" }, "height": { "description": "Height of the generated image (default: 1024)", "type": "number" }, "model": { "description": "Model name to use for generation (default: user config or \"flux\"). Use listImageModels to see all available models", "type": "string" }, "prompt": { "description": "The text description of the image to generate", "type": "string" }, "safe": { "description": "Whether to apply content filtering (default: false)", "type": "boolean" }, "seed": { "description": "Seed for reproducible results (default: random)", "type": "number" }, "transparent": { "description": "Generate image with transparent background (gptimage model only, default: false)", "type": "boolean" }, "width": { "description": "Width of the generated image (default: 1024)", "type": "number" } }, "required": [ "prompt" ], "type": "object" }

Implementation Reference

  • Core implementation of generateImageUrl tool: constructs Pollinations API URL with prompt and parameters (model, seed, width, height, enhance, safe, nologo, private).
    export async function generateImageUrl(prompt, model = 'flux', seed = Math.floor(Math.random() * 1000000), width = 1024, height = 1024, enhance = true, safe = false, authConfig = null) { if (!prompt || typeof prompt !== 'string') { throw new Error('Prompt is required and must be a string'); } // Parameters are now directly passed as function arguments // Build the query parameters const queryParams = new URLSearchParams(); // Always include model (with default 'flux') queryParams.append('model', model); // Add other parameters if (seed !== undefined) queryParams.append('seed', seed); if (width) queryParams.append('width', width); if (height) queryParams.append('height', height); // Add enhance parameter if true if (enhance) queryParams.append('enhance', 'true'); // Add parameters queryParams.append('nologo', 'true'); // Always set nologo to true queryParams.append('private', 'true'); // Always set private to true) queryParams.append('safe', safe.toString()); // Use the customizable safe parameter // Construct the URL const encodedPrompt = encodeURIComponent(prompt); const baseUrl = 'https://image.pollinations.ai'; let url = `${baseUrl}/prompt/${encodedPrompt}`; // Add query parameters const queryString = queryParams.toString(); url += `?${queryString}`; // Return the URL directly, keeping it simple return { imageUrl: url, prompt, width, height, model, seed, enhance, private: true, nologo: true, safe }; }
  • Input schema/JSON Schema for the generateImageUrl tool defining parameters and validation.
    export const generateImageUrlSchema = { name: 'generateImageUrl', description: 'Generate an image URL from a text prompt. User-configured settings in MCP config will be used as defaults unless specifically overridden.', inputSchema: { type: 'object', properties: { prompt: { type: 'string', description: 'The text description of the image to generate' }, model: { type: 'string', description: 'Model name to use for generation (default: user config or "flux"). Use listImageModels to see all available models' }, seed: { type: 'number', description: 'Seed for reproducible results (default: random)' }, width: { type: 'number', description: 'Width of the generated image (default: 1024)' }, height: { type: 'number', description: 'Height of the generated image (default: 1024)' }, enhance: { type: 'boolean', description: 'Whether to enhance the prompt using an LLM before generating (default: true)' }, safe: { type: 'boolean', description: 'Whether to apply content filtering (default: false)' } }, required: ['prompt'] } };
  • MCP server request handler for CallToolRequestSchema that dispatches to generateImageUrl implementation with default config.
    if (name === 'generateImageUrl') { try { const { prompt, model = defaultConfig.image.model, seed, width = defaultConfig.image.width, height = defaultConfig.image.height, enhance = defaultConfig.image.enhance, safe = defaultConfig.image.safe } = args; const result = await generateImageUrl(prompt, model, seed, width, height, enhance, safe, finalAuthConfig); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2) } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error generating image URL: ${error.message}` } ], isError: true }; }
  • src/schemas.js:32-44 (registration)
    Registers generateImageUrlSchema in the list of tools returned by listTools endpoint.
    export function getAllToolSchemas() { return [ generateImageUrlSchema, generateImageSchema, editImageSchema, generateImageFromReferenceSchema, listImageModelsSchema, respondAudioSchema, listAudioVoicesSchema, respondTextSchema, listTextModelsSchema ]; }

Other Tools

Related 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/MCPollinations'

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