placid-media-generator
A Model Context Protocol endpoint leveraging Placid.app services to render visual assets (images/videos) from specified dynamic templates. It incorporates secure handling of API credentials and provides comprehensive operational feedback mechanisms.
Author

felores
Quick Info
Actions
Tags
Placid Media Rendering Engine (MCP)
This service acts as an intermediary for the Placid.app graphics API, facilitating the listing of available design blueprints and the subsequent creation of high-fidelity images and motion graphics via dynamic data injection.
Core Capabilities
- Catalog Placid blueprints, supporting granular filtering.
- On-demand production of visual media (still images and sequenced video) leveraging template parameters.
- Encrypted administration of necessary external API access keys.
- Robust input validation and transparent failure reporting.
- Implemented with strong type safety assurances.
Prerequisites: Node.js Environment
- Ensure Node.js (v18 minimum) and npm are installed via nodejs.org.
- Confirm operational status: bash node --version npm --version
Deployment Instructions
Rapid Provisioning (Recommended)
Utilize the Smithery utility for streamlined setup and integration:
bash npx -y @smithery/cli install @felores/placid-mcp-server --client claude
Manual Integration
For direct configuration within your Claude Desktop or Cline environment, integrate the following structure into your settings file:
{ "mcpServers": { "placid": { "command": "npx", "args": ["@felores/placid-mcp-server"], "env": { "PLACID_API_TOKEN": "your-secret-api-key" } } } }
Acquiring the Placid Credential
- Authenticate within your Placid.app portal.
- Navigate to the configuration section, specifically the API access area.
- Initiate the generation of a new API key.
- Assign a descriptive label (e.g., "MCP Service Key").
- Securely capture the generated token.
- Integrate this token into your configuration as detailed previously.
Development Workflow
bash
Initiate development mode with live code reloading
npm run dev
Execute automated verification suites
npm test
Exposed Functionality (Tools)
placid_catalog_blueprints
Retrieves the complete roster of available Placid design blueprints, optionally narrowing the list based on specified criteria. Each returned blueprint object details its designation, unique identifier, preview asset link, layer definitions, and associated classification tags.
Input Arguments
collection_id(Optional): Identifier to restrict listings to a specific group.custom_data(Optional): Reference data string for filtering.tags(Optional): An array specifying required attribute tags for inclusion.
Output Structure
An array of blueprint records, where each record contains:
- uuid: The canonical identifier.
- title: The human-readable name.
- thumbnail: URI pointing to the representative visual asset.
- layers: A list detailing layer names and their content types.
- tags: The assigned metadata tags.
placid_render_video
Executes the creation of a motion graphic asset by mapping dynamic inputs (video clips, images, textual data) onto a designated Placid template structure. For renderings anticipated to exceed 60 seconds of processing time, the system returns a pending job identifier for subsequent status polling via the Placid interface.
Input Arguments
template_id(Mandatory): The UUID corresponding to the target blueprint.layers(Mandatory): A map defining content for each template layer:- Video layer assignment:
{ "layerName": { "video": "https://link-to-video.mp4" } } - Image layer assignment:
{ "layerName": { "image": "https://link-to-image.jpg" } } - Text layer assignment:
{ "layerName": { "text": "Dynamic text content" } } audio(Optional): External URL pointing to an MP3 audio track.audio_duration(Optional): Set to 'auto' to automatically synchronize audio duration with the final video length.audio_trim_start(Optional): Specifies the starting timestamp for audio clipping (e.g., '00:00:45').audio_trim_end(Optional): Specifies the ending timestamp for audio clipping (e.g., '00:01:10.50').
Output Structure
An object detailing the rendering outcome:
- status: Current state ("finished", "queued", or "error").
- video_url: Direct download link for the completed video asset (available on 'finished').
- job_id: Identifier for tracking long-running jobs within Placid.
Example Input for AI Interaction
{ "template_id": "template-uuid-123", "layers": { "SCENE_MEDIA": { "video": "https://cdn.assets/clip.mp4" }, "COVER_PHOTO": { "image": "https://cdn.assets/cover.png" }, "TITLE_TEXT": { "text": "Quarterly Review Summary" } }, "audio": "https://cdn.assets/music.mp3", "audio_duration": "auto" }
placid_render_still_image
Generates a static visual asset by injecting dynamic data into specified text fields and image placeholders within a selected Placid template.
Input Arguments
template_id(Mandatory): The identifier of the blueprint to utilize.layers(Mandatory): A structure mapping layer names to their content payloads:- Text layer population:
{ "layerName": { "text": "Your caption here" } } - Image layer population:
{ "layerName": { "image": "https://link-to-asset.png" } }
Output Structure
An object confirming completion:
- status: Fixed at "finished".
- image_url: The secure link where the final rendered image can be retrieved.
Example Input for AI Interaction
{ "template_id": "template-uuid-456", "layers": { "main_header": { "text": "Welcome to Our Platform" }, "bg_asset": { "image": "https://cdn.assets/background.jpg" } } }
Further Reference
Consult the official Placid API Documentation for exhaustive details concerning API specifications.
Licensing
This software is distributed under the MIT License.
(Wikipedia context regarding Business Management Tools omitted for brevity and focus on tool functionality.)
