Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.pictify-io/mcp

REMOTE · MCP.PICTIFY.IO · 2 COMPONENTS · SCANNED AUG 3

Generate images, GIFs, and PDFs from HTML, URLs, or templates — from your AI agent.

+3 this week 65 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability68
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5772 tokens (~186/item across 31 items; 31 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mcp.pictify.io

# add to Claude Code
claude mcp add --transport http pictify-io-mcp https://mcp.pictify.io/
# ~/.codex/config.toml
[mcp_servers.pictify-io-mcp]
url = "https://mcp.pictify.io/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pictify-io-mcp": {
      "type": "remote",
      "url": "https://mcp.pictify.io/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add pictify-io-mcp --url https://mcp.pictify.io/ --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  pictify-io-mcp:
    url: "https://mcp.pictify.io/"
// mcp.json
{
  "mcpServers": {
    "pictify-io-mcp": {
      "type": "http",
      "url": "https://mcp.pictify.io/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 0
    • Server version: 1.3.0 → 1.4.0 functional
  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 61

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://mcp.pictify.io

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=pictify.io CN=WE1,O=Google Trust Services,C=US 6 Jun 2026 4 Sept 2026 ECDSA 256 ECDSA-SHA256 b5c9f5c85d952674138ea21173e1fa42
SANs: pictify.io, *.pictify.io
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC insecure

Validation of mcp.pictify.io. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 57355 8 Verified
pictify.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.pictify.io Verified 200
http (plaintext) http://mcp.pictify.io HTTPS enforced 301 https://mcp.pictify.io/
MCP tools — 31 exposed · ~5,772 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
pictify_batch_render ~396

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.

NameTypeReqDescription
concurrencynumberNumber of concurrent renders (1-10). Higher values complete faster but consume quota faster. Plan limits: Free=1, Pro=3, Business=10.
formatstringOutput format for all rendered images
layoutstringRender all batch items using a specific layout variant (e.g., 'twitter-post'). Omit for default layout.
layoutsarrayRender all batch items across multiple layout variants. Use 'default' for the base layout. Example: ['default', 'twitter-post']. Each batch item will produce one image per layout (2D results).
qualitynumberOutput quality (0.1-1.0) for all rendered images. Only affects JPEG and WebP.
templateIdstringyesThe template UID to batch render
variableSetsarrayyesArray of variable sets (1-100 items). Each item produces a separate image. Example: [{ name: 'Alice', role: 'CEO' }, { name: 'Bob', role: 'CTO' }] generates 2 images.

No output schema declared.

No examples provided.

pictify_cancel_batch ~67

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.

NameTypeReqDescription
batchIdstringyesThe batch job ID to cancel

No output schema declared.

No examples provided.

pictify_capture_gif ~269

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.

NameTypeReqDescription
frameDurationSecondsnumberRecording duration in seconds (1-30). The page is captured for this many seconds. Longer durations produce larger GIF files and take longer to process.
heightnumberCapture viewport height in pixels (1-2000)
qualitystringGIF quality preset. 'low' (10fps, up to 10s), 'medium' (15fps, up to 15s), 'high' (24fps, up to 30s). Higher quality = larger file size.
urlstringyesURL of the web page to capture as a GIF. Must be a publicly accessible http:// or https:// URL.
widthnumberCapture viewport width in pixels (1-2000)

No output schema declared.

No examples provided.

pictify_complete_experiment ~136

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.

NameTypeReqDescription
experimentIdstringyesThe experiment UID to complete
winnerVariantIdstringyesThe ID of the winning variant. Must be one of the experiment's variant IDs. Use pictify_get_experiment to see available variant IDs and their performance.

No output schema declared.

No examples provided.

pictify_create_canvas_image ~227

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).

NameTypeReqDescription
fabricJSDataobjectyesFabricJS canvas JSON object. This is the serialized canvas data from FabricJS (canvas.toJSON()). Contains objects array with shapes, text, images, and their properties.
fileExtensionstringOutput image format
heightnumberOutput image height in pixels. If omitted, uses the canvas height.
variableDefinitionsarrayVariable definitions describing the types and defaults for each variable.
variablesobjectVariables to substitute into the canvas elements that have variable bindings.
widthnumberOutput image width in pixels. If omitted, uses the canvas width.

No output schema declared.

No examples provided.

pictify_create_experiment ~592

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.

NameTypeReqDescription
banditConfigobjectAuto-optimization settings. Only applies to ab_test type. Uses Thompson Sampling to shift traffic toward the winning variant.
confidenceThresholdnumberRequired confidence level (0-1) to declare a winner (default 0.95 = 95%)
fallbackImageUrlstringFallback image URL to serve if the experiment or variant fails to render
goalConfigobjectGoal configuration. Determines what counts as a conversion.
hypothesisstringHypothesis being tested (e.g., 'A green CTA button will increase click-through rate by 15%'). Optional but recommended for tracking experiment goals.
minimumRunDaysnumberMinimum days the experiment must run before completion
minimumSampleSizenumberMinimum impressions before results are considered statistically significant
namestringyesHuman-readable experiment name (e.g., 'Homepage CTA Button Test')
outputConfigobjectOutput image format and quality for rendered variants
slugstringyesUnique URL-safe identifier for this experiment (3-60 chars, lowercase alphanumeric + hyphens). Used in tracking URLs: /s/{slug}/pixel.gif, /s/{slug}/click. Cannot be reserved words: events, api, admi…
templateUidstringDefault template UID for all variants. Individual variants can override this.
typestringyesExperiment type. 'ab_test': randomly split traffic between variants (supports auto-optimization). 'smart_link': serve variants based on condition rules (device, country, time, custom properties). 'sc…
variantsarrayyesAt least 2 variants required. Weights must sum to 10000. Example: [{ id: 'control', name: 'Original', weight: 5000, templateUid: 'tmpl_123' }, { id: 'variant-a', name: 'New Design', weight: 5000, tem…

No output schema declared.

No examples provided.

pictify_create_gif ~312

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.

NameTypeReqDescription
heightnumberGIF height in pixels (1-2000)
htmlstringHTML content with CSS animations to render as an animated GIF. Must include CSS @keyframes or transitions for animation. Mutually exclusive with 'url' and 'template'.
templatestringTemplate UID to render as a GIF. Use with 'variables'. Mutually exclusive with 'html' and 'url'.
urlstringURL of a web page to capture as a GIF. Mutually exclusive with 'html' and 'template'.
variablesobjectTemplate variables as key-value pairs. Only used when 'template' is provided.
widthnumberGIF width in pixels (1-2000). Keep dimensions reasonable for file size.

No output schema declared.

No examples provided.

pictify_create_image ~575

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. IMPORTANT: The renderer captures the element's actual rendered size, not the viewport. If your HTML content is shorter than the requested height, the output image will be clipped to the content height. To ensure exact dimensions, set explicit width and height on your root element (e.g., a wrapper div) using CSS like: position: absolute; top: 0; left: 0; width: 1920px; height: 1080px; — this guarantees the element fills the full requested area.

NameTypeReqDescription
fileExtensionstringOutput image format. PNG for transparency support, JPEG/JPG for photos (smaller file size), WebP for best compression.
heightnumberImage height in pixels (1-4000)
htmlstringHTML content to render as an image. Include inline CSS or <style> tags for styling. Google Fonts supported via <link> tags. Mutually exclusive with 'url' and 'template'. IMPORTANT: To get exact outpu…
selectorstringCSS selector to capture a specific element instead of the full page (e.g., '.card', '#hero'). Useful when your HTML contains multiple elements but you only want to capture one.
templatestringTemplate UID to render. Use with 'variables' to substitute dynamic values. Mutually exclusive with 'html' and 'url'. Use pictify_list_templates to find templates.
urlstringURL of a web page to screenshot. Must be publicly accessible http:// or https://. Mutually exclusive with 'html' and 'template'.
variablesobjectTemplate variables as key-value pairs. Only used when 'template' is provided.
widthnumberImage width in pixels (1-4000). Common sizes: 1200x630 (OG image), 1080x1080 (Instagram), 1200x675 (Twitter card), 1920x1080 (presentation slide)

No output schema declared.

No examples provided.

pictify_create_template ~436

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.

NameTypeReqDescription
categorystringTemplate category for organization
fabricJSDataobjectFabricJS canvas JSON object (from canvas.toJSON()). Mutually exclusive with 'html'. This is the standard format from Pictify's visual editor. Canvas objects can have variable bindings for dynamic con…
heightnumberTemplate height in pixels (1-4000)
htmlstringHTML content for the template. Use {{variableName}} for dynamic placeholders. Mutually exclusive with 'fabricJSData'. Supports expressions: '{{IF(premium, "PRO", "FREE")}}', '{{price * 1.1}}'. Includ…
namestringyesTemplate name for identification and organization
outputFormatstringDefault output format: 'image' for PNG/JPEG/WebP, 'pdf' for PDF documents
tagsarrayTags for organizing and filtering templates (e.g., ['social', 'marketing', 'og-image'])
typestringTemplate type (e.g., 'banner', 'card', 'certificate')
variableDefinitionsarrayExplicit variable definitions with types and defaults
widthnumberTemplate width in pixels (1-4000). Common: 1200x630 (OG), 1080x1080 (social square), 1920x1080 (presentation)

No output schema declared.

No examples provided.

pictify_delete_experiment ~45

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

NameTypeReqDescription
experimentIdstringyesThe experiment UID to delete

No output schema declared.

No examples provided.

pictify_delete_template ~52

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

NameTypeReqDescription
templateIdstringyesThe template UID to delete

No output schema declared.

No examples provided.

pictify_get_batch_results ~114

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.

NameTypeReqDescription
batchIdstringyesThe batch job ID returned by pictify_batch_render

No output schema declared.

No examples provided.

pictify_get_experiment ~90

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.

NameTypeReqDescription
experimentIdstringyesThe experiment UID to retrieve

No output schema declared.

No examples provided.

pictify_get_experiment_quota ~65

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

pictify_get_gif ~49

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

NameTypeReqDescription
gifIdstringyesThe GIF UID to retrieve

No output schema declared.

No examples provided.

pictify_get_image ~46

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

NameTypeReqDescription
imageIdstringyesThe image UID to retrieve

No output schema declared.

No examples provided.

pictify_get_template ~65

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.

NameTypeReqDescription
templateIdstringyesThe template UID to retrieve

No output schema declared.

No examples provided.

pictify_get_template_variables ~127

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).

NameTypeReqDescription
templateIdstringyesThe template UID to get variables for

No output schema declared.

No examples provided.

pictify_list_experiments ~209

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.

NameTypeReqDescription
limitnumberNumber of results per page (1-100)
pagenumberPage number for pagination
statusstringFilter by experiment status
typestringFilter by experiment type. 'ab_test': split traffic between image variants with auto-optimization. 'smart_link': serve different images based on rules (device, location, time, browser, referrer). 'sc…

No output schema declared.

No examples provided.

pictify_list_gifs ~83

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.

NameTypeReqDescription
limitnumberNumber of GIFs to return (1-100)
offsetnumberNumber of GIFs to skip for pagination

No output schema declared.

No examples provided.

pictify_list_images ~78

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.

NameTypeReqDescription
limitnumberNumber of images to return (1-100)
offsetnumberNumber of images to skip for pagination

No output schema declared.

No examples provided.

pictify_list_pdf_presets ~73

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

pictify_list_templates ~133

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.

NameTypeReqDescription
limitnumberNumber of templates per page (1-100, default 12)
outputFormatstringFilter templates by their output format type
pagenumberPage number for pagination (starts at 1)
sortstringSort order for results

No output schema declared.

No examples provided.

pictify_pause_experiment ~63

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.

NameTypeReqDescription
experimentIdstringyesThe experiment UID to pause

No output schema declared.

No examples provided.

pictify_render_multi_page_pdf ~238

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.

NameTypeReqDescription
presetstringPDF page size preset (e.g., 'A4', 'Letter'). Use pictify_list_pdf_presets to see options.
templateIdstringyesThe template UID to render as a multi-page PDF
titlestringPDF document title metadata
variableSetsarrayyesArray of variable sets, one per page (1-100 items). Example: [{ name: 'Alice', score: '95' }, { name: 'Bob', score: '87' }] produces a 2-page PDF.

No output schema declared.

No examples provided.

pictify_render_pdf ~270

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.

NameTypeReqDescription
presetstringPDF page size preset (e.g., 'A4', 'Letter', 'Legal'). Use pictify_list_pdf_presets to see all available presets with their dimensions. If not specified, uses the template's default dimensions.
templateIdstringyesThe template UID to render as a PDF. Use pictify_list_templates to find available templates.
titlestringPDF document title metadata — appears in the browser tab when the PDF is opened
variablesobjectTemplate variables as key-value pairs (e.g., { title: 'Invoice #001', amount: '$1,000', date: '2024-03-09' }). Use pictify_get_template_variables to discover available variable names and types.

No output schema declared.

No examples provided.

pictify_render_template ~344

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).

NameTypeReqDescription
formatstringOutput format. PNG for transparency, JPEG for photos, WebP for web optimization, PDF for documents.
layoutstringRender a specific layout variant (e.g., 'twitter-post', 'facebook-post'). Omit for default layout. Use pictify_get_template to see available layouts.
layoutsarrayRender multiple layout variants in one request. Use 'default' for the base layout. Example: ['default', 'twitter-post', 'facebook-post']. Returns a results array with one entry per layout.
qualitynumberOutput quality (0.1-1.0). Lower values reduce file size. Only affects JPEG and WebP.
templateIdstringyesThe template UID to render
variablesobjectTemplate variables as key-value pairs. Example: { title: 'My Blog Post', author: 'Jane Doe', avatar_url: 'https://...' }. Use pictify_get_template_variables to see available variables and their types.

No output schema declared.

No examples provided.

pictify_start_experiment ~85

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.

NameTypeReqDescription
experimentIdstringyesThe experiment UID to start

No output schema declared.

No examples provided.

pictify_track_experiment_events ~118

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.

NameTypeReqDescription
eventsarrayyesArray of events to track (1-100)

No output schema declared.

No examples provided.

pictify_update_experiment ~244

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.

NameTypeReqDescription
banditConfigobjectUpdated auto-optimization settings
confidenceThresholdnumberUpdated confidence threshold (editable when running)
experimentIdstringyesThe experiment UID to update
fallbackImageUrlstringUpdated fallback image URL
goalConfigobjectUpdated goal configuration
hypothesisstringUpdated hypothesis
minimumRunDaysnumberUpdated minimum run days (editable when running)
namestringNew experiment name
outputConfigobjectUpdated output format/quality
slugstringNew slug (only when draft/paused)
variantsarrayUpdated variants. Weights must sum to 10000. Only editable when draft/paused.

No output schema declared.

No examples provided.

pictify_update_template ~171

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.

NameTypeReqDescription
fabricJSDataobjectNew FabricJS canvas JSON. Mutually exclusive with 'html'.
heightnumberNew height in pixels (1-4000)
htmlstringNew HTML content. Mutually exclusive with 'fabricJSData'.
namestringNew template name
templateIdstringyesThe template UID to update
variableDefinitionsarrayUpdated variable definitions
widthnumberNew width in pixels (1-4000)

No output schema declared.

No examples provided.