Placid Image Generator
STDIOMCP server implementation for integrating with Placid.app API to generate images and videos.
MCP server implementation for integrating with Placid.app API to generate images and videos.
An MCP server implementation for integrating with Placid.app's API. This server provides tools for listing templates and generating images and videos through the Model Context Protocol.
node --version npm --version
The easiest way to get started is using Smithery, which will automatically configure everything for you:
npx -y @smithery/cli install @felores/placid-mcp-server --client claude
If you prefer to configure manually, add this to your Claude Desktop or Cline settings:
{ "mcpServers": { "placid": { "command": "npx", "args": ["@felores/placid-mcp-server"], "env": { "PLACID_API_TOKEN": "your-api-token" } } } }
# Run in development mode with hot reload npm run dev # Run tests npm test
Lists available Placid templates with filtering options. Each template includes its title, ID, preview image URL, available layers, and tags.
collection_id
(optional): Filter templates by collection IDcustom_data
(optional): Filter by custom reference datatags
(optional): Array of tags to filter templates byReturns an array of templates, each containing:
uuid
: Unique identifier for the templatetitle
: Template namethumbnail
: Preview image URL (if available)layers
: Array of available layers with their names and typestags
: Array of template tagsGenerate videos by combining Placid templates with dynamic content like videos, images, and text. For longer videos (>60 seconds processing time), you'll receive a job ID to check status in your Placid dashboard.
template_id
(required): UUID of the template to uselayers
(required): Object containing dynamic content for template layers
{ "layerName": { "video": "https://video-url.com" } }
{ "layerName": { "image": "https://image-url.com" } }
{ "layerName": { "text": "Your content" } }
audio
(optional): URL to an mp3 audio fileaudio_duration
(optional): Set to 'auto' to trim audio to video lengthaudio_trim_start
(optional): Timestamp of trim start point (e.g. '00:00:45' or '00:00:45.25')audio_trim_end
(optional): Timestamp of trim end point (e.g. '00:00:55' or '00:00:55.25')Returns an object containing:
status
: Current status ("finished", "queued", or "error")video_url
: URL to download the generated video (when status is "finished")job_id
: ID for checking status in Placid dashboard (for longer videos){ "template_id": "template-uuid", "layers": { "MEDIA": { "video": "https://example.com/video.mp4" }, "PHOTO": { "image": "https://example.com/photo.jpg" }, "LOGO": { "image": "https://example.com/logo.png" }, "HEADLINE": { "text": "My Video Title" } }, "audio": "https://example.com/background.mp3", "audio_duration": "auto" }
Generate static images by combining Placid templates with dynamic content like text and images.
template_id
(required): UUID of the template to uselayers
(required): Object containing dynamic content for template layers
{ "layerName": { "text": "Your content" } }
{ "layerName": { "image": "https://image-url.com" } }
Returns an object containing:
status
: "finished" when completeimage_url
: URL to download the generated image{ "template_id": "template-uuid", "layers": { "headline": { "text": "Welcome to My App" }, "background": { "image": "https://example.com/bg.jpg" } } }
For more detailed information about the Placid API, visit the Placid API Documentation.
MIT