Picorn
Picorn turns AI briefs into editable social images and videos with layers, timelines, and renders.
我該用這個嗎
品質與安全性
發現項目(9)
- HIGH
- MEDIUM在 picorn_design_image 中
- MEDIUM在 picorn_render_svg 中
- MEDIUM在 picorn_editor_create_project 中
- LOW在 picorn_editor_align_layers 中
- LOW在 picorn_editor_distribute_layers 中
- INFO在 picorn_design_image 中
- INFO在 picorn_render_svg 中
- INFO在 picorn_editor_create_project 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"picorn": {
"url": "https://picorn.com/mcp"
}
}
}遠端端點
https://picorn.com/mcpstreamable-http它能做什麼
工具清單
工具(32)
🟢picorn_capabilities
List live canvas formats, fonts, layouts, image models, GPU reachability and fair-use limits.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_projects_create(name, description, brandColors)
Create a marketing project that can hold many editor files and imported image assets. Keep the returned workspaceProjectId and workspaceProjectKey together; use them when adding every related file.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"description": {
"type": "string",
"maxLength": 1000
},
"brandColors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"hex": {
"type": "string",
"pattern": "^#[0-9a-f]{3}([0-9a-f]{3})?$"
}
},
"required": [
"id",
"name",
"hex"
],
"additionalProperties": false
},
"maxItems": 12
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢picorn_projects_inspect(workspaceProjectId, workspaceProjectKey)
List every editor file, imported asset, and the project brand profile with named colors and saved logos or visual references. File entries include their current thumbnail, status, creation URL and canonical /studio/editor?runId=... editorUrl. Always give the user that editorUrl.
輸入結構描述
{
"type": "object",
"properties": {
"workspaceProjectId": {
"type": "string",
"minLength": 1
},
"workspaceProjectKey": {
"type": "string",
"minLength": 1
}
},
"required": [
"workspaceProjectId",
"workspaceProjectKey"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_projects_update(workspaceProjectId, workspaceProjectKey, name, description, brandColors)
Update the name, description, or named color scheme of a marketing project, then return its complete file, asset, and brand index.
輸入結構描述
{
"type": "object",
"properties": {
"workspaceProjectId": {
"type": "string",
"minLength": 1
},
"workspaceProjectKey": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"description": {
"type": "string",
"maxLength": 1000
},
"brandColors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"hex": {
"type": "string",
"pattern": "^#[0-9a-f]{3}([0-9a-f]{3})?$"
}
},
"required": [
"id",
"name",
"hex"
],
"additionalProperties": false
},
"maxItems": 12
}
},
"required": [
"workspaceProjectId",
"workspaceProjectKey"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪picorn_design_image(svg, width, height, preview)
CODEX-ONLY. The calling Codex supplies the complete SVG, including copy and layout. Picorn resolves declared placeholders and renders it through Fabric/SVG. No internal language or design model is called.
輸入結構描述
{
"type": "object",
"properties": {
"svg": {
"type": "string",
"minLength": 1,
"description": "Complete Codex-authored SVG with a viewBox."
},
"width": {
"type": "integer",
"minimum": 64,
"maximum": 4096
},
"height": {
"type": "integer",
"minimum": 64,
"maximum": 4096
},
"preview": {
"type": "boolean",
"description": "Return an inline preview. Default true."
}
},
"required": [
"svg"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪picorn_generate_image(prompt, aspectRatio, width, height, seed, ...)
Generate a raw image with self-hosted Z-Image Turbo. Returns an inline preview and public creationUrl.
輸入結構描述
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"aspectRatio": {
"type": "string",
"enum": [
"1:1",
"4:3",
"3:4",
"16:9",
"9:16",
"4:5",
"5:4",
"2:3",
"3:2"
]
},
"width": {
"type": "integer",
"minimum": 256,
"maximum": 2048
},
"height": {
"type": "integer",
"minimum": 256,
"maximum": 2048
},
"seed": {
"type": "integer"
},
"preview": {
"type": "boolean"
}
},
"required": [
"prompt"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴picorn_generate_vector_assets(prompt, kind, palette, numColors, workspaceProjectId, ...)
Use Picorn's native editor engine: first generate raster artwork with self-hosted Z-Image Turbo on ComfyUI, remove its background, then convert it through the bundled multi-colour SVG converter. Generates five variants, selects the strongest result and returns the top three. Signets also return one layered editor file that displays the three shortlisted SVGs inside the same native project. Use this tool for every newly generated signet and custom icon.
輸入結構描述
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"kind": {
"type": "string",
"enum": [
"signet",
"icon"
]
},
"palette": {
"type": "array",
"items": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"minItems": 2,
"maxItems": 7
},
"numColors": {
"type": "integer",
"minimum": 2,
"maximum": 7
},
"workspaceProjectId": {
"type": "string"
},
"workspaceProjectKey": {
"type": "string"
},
"projectName": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"prompt",
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_edit_image(prompt, imageUrl, imageBase64, cfg, steps, ...)
Transform an existing image with Flux 2 Klein. Returns an inline preview and public creationUrl.
輸入結構描述
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"imageUrl": {
"type": "string"
},
"imageBase64": {
"type": "string"
},
"cfg": {
"type": "number",
"minimum": 1,
"maximum": 15
},
"steps": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"seed": {
"type": "integer"
},
"preview": {
"type": "boolean"
}
},
"required": [
"prompt"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_render_svg(svg, width, height, preview)
Render your SVG through Picorn with real typography and declarative image workers. Put placeholder <rect> elements inside the SVG and choose their backend with data-clipart-engine="svg-converter" (fresh ComfyUI image, background removal, then Picorn PNG→SVG vectorisation), data-clipart-engine="z-image-turbo" (raster photo/cutout), or data-clipart-engine="library" (existing vector only). Include data-clipart-prompt; use data-clipart-num-colors="1..7" for svg-converter, and data-clipart-keep-bg="true" for a full scene. Picorn resolves all placeholders internally; never call the admin converter or return generated base64 yourself. Returns an inline preview and public creationUrl.
輸入結構描述
{
"type": "object",
"properties": {
"svg": {
"type": "string",
"minLength": 1
},
"width": {
"type": "integer",
"minimum": 64,
"maximum": 4096
},
"height": {
"type": "integer",
"minimum": 64,
"maximum": 4096
},
"preview": {
"type": "boolean"
}
},
"required": [
"svg"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪picorn_editor_import_image(imageBase64, imageUrl, name, workspaceProjectId, workspaceProjectKey, ...)
Import image bytes from any external or agent-native image generator into Picorn storage. Pass imageBase64 with or without a data: prefix, then use the returned imageUrl in one or more native image layers. This is the bridge for iterative generator → editor → render workflows.
輸入結構描述
{
"type": "object",
"properties": {
"imageBase64": {
"type": "string",
"description": "Image bytes as base64, with or without a data:image/... prefix."
},
"imageUrl": {
"type": "string",
"description": "An image URL on a Picorn-approved host."
},
"name": {
"type": "string",
"maxLength": 160,
"description": "Asset name shown in the marketing project."
},
"workspaceProjectId": {
"type": "string"
},
"workspaceProjectKey": {
"type": "string"
},
"preview": {
"type": "boolean",
"description": "Return an inline preview. Default true."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_editor_create_project(title, aspectRatio, width, height, background, ...)
Create a persistent native Picorn editor project. For a finished static layout, pass svg: a complete SVG containing text/shapes plus declarative data-clipart placeholders. Picorn runs the selected engines in the background, stores the generated assets, converts the SVG into editable native layers, and returns a populated project in one call. Omit svg only when you intentionally want an empty slide for incremental layer operations. Returns projectId, slideId, exact canvas dimensions, and the canonical /studio/editor?runId=... editorUrl that must be included in the final answer.
輸入結構描述
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160
},
"aspectRatio": {
"type": "string",
"enum": [
"1:1",
"2:3",
"3:4",
"4:3",
"4:5",
"5:4",
"9:16",
"16:9",
"21:9",
"1:2",
"custom"
]
},
"width": {
"type": "integer",
"minimum": 64,
"maximum": 4096,
"description": "Required only for custom canvases."
},
"height": {
"type": "integer",
"minimum": 64,
"maximum": 4096,
"description": "Required only for custom canvases."
},
"background": {
"type": "object",
"additionalProperties": {},
"description": "CanvasBackground: color, gradient, texture, or transparent."
},
"svg": {
"type": "string",
"minLength": 1,
"maxLength": 400000,
"description": "Complete SVG layout. Generated visuals are <rect data-clipart=\"true\" data-clipart-engine=\"svg-converter|z-image-turbo|library\" data-clipart-prompt=\"...\" ... /> placeholders resolved internally."
},
"workspaceProjectId": {
"type": "string",
"description": "Marketing project that will contain this editor file."
},
"workspaceProjectKey": {
"type": "string",
"description": "Access key returned by picorn_projects_create."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_editor_create_slideshow(title, aspectRatio, width, height, background, ...)
Create, persist and render a complete 1–20 slide Picorn file in one deterministic call from finished agent-authored SVG and/or native editable layers. The calling agent is the only design model: this path does not call /api/generate-svg, Gemini, OpenRouter, or another LLM. Work is bounded before persistence to 50,000,000 total canvas pixels and 1,000 total layers. Fair-use cost is one unit per four slides, rounded up. Returns every persistent render URL, an inline contact-sheet preview, and the canonical editorUrl. Response provenance is modelProvider="calling-agent" and externalLlmCalls=0.
輸入結構描述
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160
},
"aspectRatio": {
"type": "string",
"enum": [
"1:1",
"2:3",
"3:4",
"4:3",
"4:5",
"5:4",
"9:16",
"16:9",
"21:9",
"1:2",
"custom"
]
},
"width": {
"type": "integer",
"minimum": 64,
"maximum": 4096
},
"height": {
"type": "integer",
"minimum": 64,
"maximum": 4096
},
"background": {
"type": "object",
"additionalProperties": {},
"description": "Default background for slides that omit their own background."
},
"caption": {
"type": "string",
"maxLength": 2200
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"maxItems": 30
},
"workspaceProjectId": {
"type": "string"
},
"workspaceProjectKey": {
"type": "string"
},
"slides": {
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"hook",
"empathy",
"insight",
"cta",
"other",
"single",
"problem",
"agitation",
"solution",
"proof",
"benefit",
"story"
]
},
"background": {
"type": "object",
"additionalProperties": {}
},
"svg": {
"type": "string",
"minLength": 1,
"maxLength": 120000,
"description": "Complete self-contained agent-authored SVG with a positive viewBox; no scripts, events, external assets, or placeholders."
},
"layers": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"maxItems": 150,
"description": "Native editable Picorn layers in deterministic bottom-to-top order. SVG, when present, is the bottom layer."
}
},
"additionalProperties": false
},
"minItems": 1,
"maxItems": 20
},
"format": {
"type": "string",
"enum": [
"png",
"jpeg"
]
},
"quality": {
"type": "number",
"minimum": 0.1,
"maximum": 1
},
"transparentBackground": {
"type": "boolean"
}
},
"required": [
"slides"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢picorn_editor_inspect_project(projectId)
Read the complete project, including every slide, layer, property, z-index, and latest rendered image URL.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
}
},
"required": [
"projectId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_video_create_project(title, aspectRatio, width, height, fps, ...)
Create a persistent video project with a real 30fps timeline, native layers, keyframes and a canonical /video/editor link.
輸入結構描述
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160
},
"aspectRatio": {
"type": "string",
"enum": [
"1:1",
"2:3",
"3:4",
"4:3",
"4:5",
"5:4",
"9:16",
"16:9",
"21:9",
"1:2",
"custom"
]
},
"width": {
"type": "integer",
"minimum": 64,
"maximum": 4096
},
"height": {
"type": "integer",
"minimum": 64,
"maximum": 4096
},
"fps": {
"type": "integer",
"minimum": 12,
"maximum": 60,
"description": "Timeline and export FPS. Default 30."
},
"durationFrames": {
"type": "integer",
"minimum": 1,
"maximum": 3600,
"description": "Initial timeline duration in frames. Default 150."
},
"background": {
"type": "object",
"additionalProperties": {}
},
"workspaceProjectId": {
"type": "string"
},
"workspaceProjectKey": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_video_import_media(mediaBase64, contentType, name)
Upload agent-owned MP4, WebM, MOV, MP3, WAV, AAC, M4A or OGG bytes into Picorn storage for use by video/audio timeline layers. Maximum 15 MB.
輸入結構描述
{
"type": "object",
"properties": {
"mediaBase64": {
"type": "string",
"minLength": 1,
"description": "Raw base64 or a data: URL. Maximum decoded size 15 MB."
},
"contentType": {
"type": "string",
"description": "Required when mediaBase64 has no data: prefix."
},
"name": {
"type": "string",
"maxLength": 160
}
},
"required": [
"mediaBase64"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_editor_add_slide(projectId, role, background)
Add another slide to an editor project. Projects support up to 20 slides. Returns the new slide as an inline preview.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"role": {
"type": "string",
"enum": [
"hook",
"empathy",
"insight",
"cta",
"other",
"single",
"problem",
"agitation",
"solution",
"proof",
"benefit",
"story"
]
},
"background": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"projectId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_editor_update_slide(projectId, slideId, role, background, imagePrompt)
Change a slide background, semantic role, or image prompt. Returns the changed slide as an inline preview.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"role": {
"type": "string"
},
"background": {
"type": "object",
"additionalProperties": {}
},
"imagePrompt": {
"type": "string"
}
},
"required": [
"projectId",
"slideId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴picorn_editor_delete_slide(projectId, slideId)
Delete a slide and its layers. A project always keeps at least one slide.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
}
},
"required": [
"projectId",
"slideId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_editor_add_layer(projectId, slideId, layer)
Add a native editor layer. Supported types: text, image, shape, group, qr, video, audio. SVG uses an image layer with isSvg:true. Position is the layer CENTER in canvas pixels. The layer accepts the same persisted fields as /editor: transforms, opacity, blendMode, text styles/effects/rich text, image filters/customFilters/crop/masks/local effects/perspective, shape gradients/strokes/shadows, QR styling, timeline ranges, trims, volume, and keyframes. Returns the changed slide as an inline preview automatically.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"layer": {
"type": "object",
"additionalProperties": {},
"description": "Native layer object. At minimum provide type and its content field."
}
},
"required": [
"projectId",
"slideId",
"layer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_editor_update_layer(projectId, slideId, objectId, patch, commitType)
Patch any editable property on a layer: content, position, size, transform, style, filters, masks, effects, blend mode, visibility, lock state, SVG overrides, timing, audio, or keyframes. Returns the changed slide as an inline preview automatically.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"objectId": {
"type": "string",
"minLength": 1
},
"patch": {
"type": "object",
"additionalProperties": {}
},
"commitType": {
"type": "string",
"enum": [
"move",
"scale",
"rotate",
"transform",
"style",
"content",
"lock",
"visibility",
"bulk-style"
]
}
},
"required": [
"projectId",
"slideId",
"objectId",
"patch"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_video_add_clip(projectId, slideId, kind, src, name, ...)
Add a video or audio clip to a Picorn timeline. Source URLs must use an approved public media host. Video positions are center coordinates; timing and trim values are frame-based.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"kind": {
"type": "string",
"enum": [
"video",
"audio"
]
},
"src": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"maxLength": 160
},
"startFrame": {
"type": "integer",
"minimum": 0
},
"durationFrames": {
"type": "integer",
"minimum": 1,
"maximum": 3600
},
"trimStartFrame": {
"type": "integer",
"minimum": 0
},
"trimEndFrame": {
"type": "integer",
"minimum": 1
},
"volume": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"position": {
"type": "object",
"additionalProperties": {}
},
"size": {
"type": "object",
"additionalProperties": {}
},
"transform": {
"type": "object",
"additionalProperties": {}
},
"posterUrl": {
"type": "string",
"format": "uri"
},
"sourceDurationFrames": {
"type": "integer",
"minimum": 1
},
"sourceFps": {
"type": "number",
"minimum": 1,
"maximum": 120
}
},
"required": [
"projectId",
"slideId",
"kind",
"src",
"durationFrames"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴picorn_editor_delete_layers(projectId, slideId, objectIds)
Delete one or more layers and clean their group references.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"objectIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
},
"required": [
"projectId",
"slideId",
"objectIds"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_editor_reorder_layers(projectId, slideId, objectIds)
Set layer order. objectIds are bottom-to-top; omitted existing IDs retain their relative order on top.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"objectIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
},
"required": [
"projectId",
"slideId",
"objectIds"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_editor_group_layers(projectId, slideId, objectIds, name)
Create the same metadata group used by the visual editor. Grouping preserves world positions and render output.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"objectIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2
},
"name": {
"type": "string"
}
},
"required": [
"projectId",
"slideId",
"objectIds"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴picorn_editor_ungroup_layers(projectId, slideId, groupId)
Remove a group while preserving all child layers.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"groupId": {
"type": "string",
"minLength": 1
}
},
"required": [
"projectId",
"slideId",
"groupId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪picorn_editor_align_layers(projectId, slideId, objectIds, mode)
Align positioned layers to their shared left, center, right, top, middle, or bottom bound.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"objectIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2
},
"mode": {
"type": "string",
"enum": [
"left",
"center",
"right",
"top",
"middle",
"bottom"
]
}
},
"required": [
"projectId",
"slideId",
"objectIds",
"mode"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪picorn_editor_distribute_layers(projectId, slideId, objectIds, axis)
Evenly distribute three or more positioned layers horizontally or vertically.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"objectIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 3
},
"axis": {
"type": "string",
"enum": [
"horizontal",
"vertical"
]
}
},
"required": [
"projectId",
"slideId",
"objectIds",
"axis"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪picorn_editor_duplicate_layer(projectId, slideId, objectId, offsetX, offsetY)
Duplicate a non-group layer, including all style, filter, effect, mask, and animation properties.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideId": {
"type": "string",
"minLength": 1
},
"objectId": {
"type": "string",
"minLength": 1
},
"offsetX": {
"type": "number"
},
"offsetY": {
"type": "number"
}
},
"required": [
"projectId",
"slideId",
"objectId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡picorn_editor_render_project(projectId, slideIds, format, quality, transparentBackground, ...)
Render selected or all slides through Picorn's real Fabric editor pipeline. Returns persistent public image URLs, a multi-page PDF, or a page-faithful DOCX download, creationUrl, and the canonical editorUrl that must be given to the user. DOCX preserves the visual layout as page images; edit text and layers in SEEZ Editor. Static renders include text, image/SVG, shape, group and QR layers; video/audio timing remains editable project data for the video editor.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideIds": {
"type": "array",
"items": {
"type": "string"
}
},
"format": {
"type": "string",
"enum": [
"png",
"jpeg",
"pdf",
"docx"
]
},
"quality": {
"type": "number",
"minimum": 0.1,
"maximum": 1
},
"transparentBackground": {
"type": "boolean"
},
"pageWidthMm": {
"type": "number",
"minimum": 10,
"maximum": 2000
},
"pageHeightMm": {
"type": "number",
"minimum": 10,
"maximum": 2000
}
},
"required": [
"projectId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪picorn_video_render_project(projectId, slideIds, fps, format, quality)
Render the native timeline to a finished MP4/H.264 or WebM/VP9 file. The render includes multi-slide sequencing, timed layers, video frames, keyframe animation and mixed audio, and returns a public video URL plus /video/editor link.
輸入結構描述
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1
},
"slideIds": {
"type": "array",
"items": {
"type": "string"
}
},
"fps": {
"type": "integer",
"minimum": 12,
"maximum": 60
},
"format": {
"type": "string",
"enum": [
"mp4",
"webm"
]
},
"quality": {
"type": "string",
"enum": [
"draft",
"standard",
"high"
]
}
},
"required": [
"projectId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢picorn_search_icons(query, style, visualStyle, limit)
Search Picorn's vector icon library before composing a design.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1
},
"style": {
"type": "string",
"enum": [
"mono",
"color"
]
},
"visualStyle": {
"type": "string",
"enum": [
"lineart",
"monoline",
"rounded",
"bulky",
"sketch",
"artistic",
"geometric",
"stamp"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢picorn_search_areas(aspect, style, limit)
Find approved torn, wavy, blob, banner and other decorative shapes for a design.
輸入結構描述
{
"type": "object",
"properties": {
"aspect": {
"type": "string",
"enum": [
"square",
"tall",
"wide"
]
},
"style": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}社群
證據