Skip to main content
Glama

Plainly Videos MCP Server

listRenderableItems.ts2.06 kB
import { AxiosInstance } from "axios"; import { getAspectRatio } from "../../utils/aspectRatio"; import { Design, Project, RenderableItem, RenderableItemsListOptions, } from "../types"; export const listRenderableItems = async ( client: AxiosInstance, options: RenderableItemsListOptions = { excludeDesigns: false, excludeProjects: false, } ): Promise<RenderableItem[]> => { const designs = options.excludeDesigns ? [] : await listRenderableDesigns(client); const projects = options.excludeProjects ? [] : await listRenderableProjects(client); return [...projects, ...designs]; }; const listRenderableDesigns = async ( client: AxiosInstance ): Promise<RenderableItem[]> => { const response = await client.get<Design[]>("/api/v2/designs"); return response.data .filter((design) => !design.renderUiDisabled) .map((design) => ({ isDesign: true, id: design.id, name: design.name, description: design.description, metadata: { category: design.category || null, attributes: null }, templates: design.variants.map((variant) => ({ id: variant.id, name: variant.name, aspectRatio: variant.aspectRatio, durationSeconds: variant.duration, })), })); }; const listRenderableProjects = async ( client: AxiosInstance ): Promise<RenderableItem[]> => { const response = await client.get<Project[]>("/api/v2/projects"); return response.data .filter((project) => project.analyzed && project.templates.length > 0) .map((project) => ({ isDesign: false, id: project.id, name: project.name, description: project.description, metadata: { category: null, attributes: project.attributes || null }, templates: project.templates.map((template) => ({ id: template.id, name: template.name, aspectRatio: getAspectRatio( template.resolution.width, template.resolution.height ), durationSeconds: template.duration, })), })); };

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/plainly-videos/mcp-server'

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