Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PICTIFY_DEBUGNoEnable verbose logging to stderrfalse
PICTIFY_API_KEYYesYour Pictify API key (required)
PICTIFY_BASE_URLNoCustom API base URLhttps://api.pictify.io

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
pictify_create_image

Generate a static image (PNG, JPEG, or WebP) from HTML/CSS content, a URL screenshot, or a template. Common use cases: Open Graph (OG) images for link previews, social media cards (Twitter/LinkedIn/Facebook), product screenshots, marketing banners, event invitations, and custom graphics. Provide ONE of: 'html' (custom HTML/CSS), 'url' (screenshot a webpage), or 'template' + 'variables' (render a saved template). Returns the hosted image URL (CDN-backed) and asset ID. Maximum dimensions: 4000x4000 pixels.

pictify_create_canvas_image

Generate an image from FabricJS canvas JSON data with optional variable substitution. Use this when you have a FabricJS canvas design (created in the Pictify visual editor or programmatically). Templates in Pictify are built using FabricJS — this endpoint lets you render canvas JSON directly without saving it as a template first. For rendering a saved template, use pictify_render_template instead. Returns the hosted image URL (CDN-backed).

pictify_list_images

List previously generated images from your account with pagination. Returns image URLs, IDs, dimensions, format, and creation timestamps. Use this to browse your render history or find a previously generated image.

pictify_get_image

Get details of a specific image by its UID. Returns the image URL, dimensions, format, and creation timestamp.

pictify_create_gif

Create an animated GIF from HTML content with CSS animations, a URL, or a template. The HTML must contain CSS @keyframes animations, transitions, or JavaScript animations to produce frames. Common use cases: animated banners, loading spinners, product demos, social media animations, animated logos, and eye-catching ad creatives. Provide ONE of: 'html' (custom animated HTML/CSS), 'url' (capture from webpage), or 'template' + 'variables' (render a saved template). For recording a GIF from a live website over a specified duration, use pictify_capture_gif instead. Returns the hosted GIF URL and animation duration. Maximum dimensions: 2000x2000 pixels.

pictify_capture_gif

Record an animated GIF from a live web page URL by capturing its on-screen activity over time. The page is loaded in a headless browser and recorded for the specified duration. Use cases: capturing CSS/JS animations on live sites, recording interactive demos, documenting UI transitions, creating product walkthroughs. This operation takes time proportional to the duration setting (up to 30 seconds). For creating GIFs from custom HTML with CSS animations, use pictify_create_gif instead. Returns the hosted GIF URL.

pictify_list_gifs

List previously generated GIFs from your account with pagination. Returns GIF URLs, IDs, dimensions, animation duration, and creation timestamps. Use this to browse your GIF history or find a previously generated animation.

pictify_get_gif

Get details of a specific GIF by its UID. No authentication required. Returns the GIF URL, dimensions, and animation details.

pictify_render_pdf

Generate a single-page PDF from a saved template with variable substitutions. Common use cases: invoices, certificates, receipts, contracts, reports, event tickets, shipping labels, and any document that needs to be generated programmatically. WORKFLOW: Call pictify_get_template_variables first to discover available variables and their types, then call this tool with the appropriate variable values. Supports standard page sizes (A4, Letter, Legal, etc.) — use pictify_list_pdf_presets to see all options. Returns the hosted PDF URL.

pictify_render_multi_page_pdf

Generate a multi-page PDF from a template by providing multiple sets of variables. Each variable set produces one page in the final document. Supports 1-100 pages per PDF. Common use cases: bulk invoice generation, certificate batches for events/courses, multi-page reports, product catalogs, and employee ID cards. WORKFLOW: Call pictify_get_template_variables first to discover available variables, then provide an array of variable sets (one per page). Returns a single combined PDF URL. For generating separate image files per set, use pictify_batch_render instead.

pictify_list_pdf_presets

List all available PDF page size presets with their dimensions. Use these preset names when calling pictify_render_pdf or pictify_render_multi_page_pdf. Common presets include A4 (210x297mm), Letter (8.5x11in), Legal (8.5x14in), and more.

pictify_list_templates

List saved templates in your Pictify account with pagination and filtering. Templates are reusable designs (built with the FabricJS visual editor or HTML) with variable placeholders for dynamic content generation. Use this to discover available templates before rendering. Returns template names, IDs, dimensions, output formats, and pagination info.

pictify_get_template

Get detailed information about a specific template by its ID. Returns the template's name, dimensions, variable definitions, tags, output format, thumbnail URL, and metadata. Use this to inspect a template before rendering.

pictify_get_template_variables

Get the variable definitions for a template. IMPORTANT: Always call this before pictify_render_template, pictify_batch_render, pictify_render_pdf, or pictify_render_multi_page_pdf to discover what variables are available. Returns variable names, types (text, image, color, number, boolean), default values, and descriptions. Variables support Pictify's expression engine with 50+ functions for dynamic content (e.g., IF/ELSE conditionals, string manipulation, date formatting, math operations).

pictify_render_template

Render a saved template with variable substitutions to produce an image or PDF. Templates can be FabricJS canvas designs or HTML — both are rendered the same way via this endpoint. WORKFLOW: 1) Use pictify_list_templates to find a template, 2) Use pictify_get_template_variables to discover its variables, 3) Call this tool with the variable values. Common use cases: OG images with dynamic titles, personalized social cards, product images with prices/descriptions, event banners with speaker info. For rendering the same template with many variable sets, use pictify_batch_render. Returns the hosted image URL (CDN-backed).

pictify_create_template

Create a new reusable template with variable placeholders for dynamic content generation. Templates can use either FabricJS canvas data (from the Pictify visual editor) or raw HTML. Provide ONE of 'html' or 'fabricJSData' — they are mutually exclusive. For HTML templates, use {{variableName}} syntax for dynamic placeholders. Pictify's expression engine supports 50+ functions: IF/ELSE conditionals, string manipulation (toUpperCase, truncate, etc.), date formatting, math operations, and more. After creating, use pictify_render_template to render it with specific values. Returns the created template's ID.

pictify_update_template

Update an existing template's content, dimensions, name, or variable definitions. Only the provided fields will be updated; others remain unchanged. You can update HTML or FabricJS data — provide one or the other, not both. Note: updating content may change the available variables.

pictify_delete_template

Permanently delete a template. This action cannot be undone. WARNING: Any batch jobs, experiments, or bindings using this template will stop working.

pictify_batch_render

Start a batch render job to generate multiple images from a single template with different variable sets. Each variable set produces a separate image. Supports up to 100 items per batch (plan-dependent). Common use cases: generating personalized social cards for all team members, product images for an entire catalog, event badges for all attendees, certificate images for course graduates, or marketing assets with localized content. WORKFLOW: 1) Use pictify_get_template_variables to discover variables, 2) Call this tool with an array of variable sets, 3) Use pictify_get_batch_results to poll for completion and get result URLs. The job runs asynchronously — this tool returns immediately with a batchId (HTTP 202). For generating a single multi-page PDF instead, use pictify_render_multi_page_pdf.

pictify_get_batch_results

Check the status and results of a batch render job. Returns the job status (pending, processing, completed, failed, partial, cancelled), progress percentage, item counts, and image URLs for completed items. Each result includes index, success boolean, URL, dimensions, and error message (if failed). Call this after pictify_batch_render. If status is 'processing', call again after a few seconds to check for updates.

pictify_cancel_batch

Cancel a running batch render job. Already completed items will retain their results and URLs. Remaining unprocessed items will be skipped. Use this if you started a batch with incorrect data or no longer need the remaining results.

pictify_list_experiments

List A/B test experiments with optional filtering by type and status. Pictify experiments let you test different image variants to optimize for engagement. Types: 'ab_test' (split traffic between variants with Thompson Sampling auto-optimization), 'smart_link' (rules-based personalization by device/geo/time/browser/referrer), 'scheduled' (time-based image swapping with cron/daily/weekly recurrence). Returns experiment names, IDs, types, statuses, variant details, and pagination info.

pictify_create_experiment

Create a new experiment to test different image variants. WORKFLOW: 1) Create the experiment (starts in 'draft' status), 2) Use pictify_start_experiment to begin routing traffic, 3) Use pictify_get_experiment to monitor variant impressions/clicks, 4) Use pictify_complete_experiment to declare a winner. Requires at least 2 variants. Variant weights must sum to exactly 10000 (basis points, i.e., 5000 = 50%). The slug becomes part of the experiment URL and must be unique, 3-60 chars, lowercase alphanumeric and hyphens. For A/B tests, enable banditConfig to use Thompson Sampling auto-optimization.

pictify_get_experiment

Get detailed information about a specific experiment. Returns the experiment's name, type, status, slug, variants with their configurations, traffic weights, impression/click counts per variant, hypothesis, goal and bandit configuration, confidence threshold, minimum run days, and timestamps. Use this to monitor experiment performance and review setup before making changes.

pictify_get_experiment_quota

Check experiment usage and limits for your current plan. Returns quota usage for each experiment type (ab_test, smart_link, scheduled), maximum variants allowed per experiment, and analytics retention period in days. Use this before creating experiments to check if you have quota remaining.

pictify_update_experiment

Update an existing experiment. Available fields depend on the current status:

  • draft/paused: All fields can be updated (name, slug, variants, goalConfig, banditConfig, hypothesis, etc.)

  • running: Only name, confidenceThreshold, minimumRunDays, goalConfig.destinationUrl

  • completed: Only name

If updating variants, weights must still sum to 10000.

pictify_delete_experiment

Soft-delete an experiment. This cannot be undone. Running experiments must be paused or completed first before deletion.

pictify_start_experiment

Start a draft or paused experiment, activating traffic routing to its variants. Once started, the experiment serves different image variants and tracks events. Valid transitions: draft -> running, paused -> running. If banditConfig is enabled (A/B tests), Thompson Sampling auto-optimizes traffic toward the winning variant.

pictify_pause_experiment

Pause a running experiment, temporarily stopping traffic routing and event tracking. Valid transition: running -> paused. The experiment can be resumed later with pictify_start_experiment. Collected data is preserved.

pictify_complete_experiment

Complete an experiment by declaring a winning variant. This is a FINAL action — completed experiments cannot be restarted. After completion, all traffic is routed to the winning variant. Valid transitions: running -> completed, paused -> completed. WORKFLOW: Check pictify_get_experiment first to review per-variant impression/click counts, then declare the winner based on data.

pictify_track_experiment_events

Track impressions, views, clicks, and conversions for experiments. Use this to send event data from your application to Pictify's analytics. Accepts a single event or an array of up to 100 events. Authentication: Uses the API key (Bearer token). For client-side tracking, use the X-Write-Key header or writeKey field instead (safe to expose in browser code). Rate limit: 1000 requests/minute per IP.

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/pictify-io/mcp'

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