{
  "schemaVersion": "1.0",
  "item": {
    "slug": "skill-perstudio",
    "name": "Perstudio Image and Video Generation",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/montenegronyc/skill-perstudio",
    "canonicalUrl": "https://clawhub.ai/montenegronyc/skill-perstudio",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/skill-perstudio",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=skill-perstudio",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/skill-perstudio"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/skill-perstudio",
    "agentPageUrl": "https://openagent3.xyz/skills/skill-perstudio/agent",
    "manifestUrl": "https://openagent3.xyz/skills/skill-perstudio/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/skill-perstudio/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Perstudio — AI Image & Video Generation",
        "body": "Generate images, videos, and audio with natural language. Just describe what you want and perstudio routes it to the right model automatically.\n\nAll generation costs tokens. Check balance with the balance action. Token packs available at https://perstudio.ai/pricing."
      },
      {
        "title": "Quick Start",
        "body": "perstudio({ action: \"generate_sync\", intent: \"a golden retriever puppy in a field of sunflowers, studio lighting\" })\n\nTakes 15-90 seconds."
      },
      {
        "title": "What You Can Do",
        "body": "CapabilityInput RequiredToken CostText to ImageNone250Image to ImageImage250Product PhotographyNone370Portrait / AvatarNone370Upscale (4x)Image120InpaintingImage + Mask250Style TransferReference Image370Sticker / IconReference Image250VideoVaries2200Text to SpeechVoice Reference490"
      },
      {
        "title": "Generate an image",
        "body": "perstudio({ action: \"generate_sync\", intent: \"a cyberpunk cityscape at sunset, neon lights reflecting on wet streets\" })"
      },
      {
        "title": "Transform an existing image",
        "body": "perstudio({ action: \"upload_asset\", file_path: \"~/Pictures/input.jpg\" })\n// Returns: { asset_id: \"abc123\" }\n\nperstudio({ action: \"generate_sync\", intent: \"transform into a watercolor painting\", input_image_asset_id: \"abc123\" })\n\nSecurity note: upload_asset only accepts files from allowed directories: ~/Pictures, ~/Downloads, ~/Desktop, ~/.openclaw/workspace, and the system temp directory. Paths outside these directories are rejected."
      },
      {
        "title": "Generate video",
        "body": "perstudio({ action: \"generate_sync\", intent: \"a cat playing piano, cinematic lighting\" })"
      },
      {
        "title": "Animate a still image",
        "body": "perstudio({ action: \"upload_asset\", file_path: \"~/Pictures/photo.jpg\" })\nperstudio({ action: \"generate_sync\", intent: \"gentle wind blowing through hair, subtle movement\", input_image_asset_id: \"abc123\" })"
      },
      {
        "title": "Check balance",
        "body": "perstudio({ action: \"balance\" })"
      },
      {
        "title": "Tips",
        "body": "Just describe what you want — the system picks the best approach automatically.\nBe specific — include style, lighting, and composition details for better results.\nAuto-upscale — pass auto_upscale: true to automatically enhance resolution."
      },
      {
        "title": "Security",
        "body": "File access is restricted. The upload_asset action enforces a directory allowlist — only files in ~/Pictures, ~/Downloads, ~/Desktop, ~/.openclaw/workspace, and the system temp directory can be uploaded. All other paths are rejected. Paths are resolved to their real location (following symlinks) before validation to prevent traversal attacks.\nAPI key required. All generation requests require a valid PERSTUDIO_API_KEY. No data is sent to perstudio.ai without authentication.\nOpen source. The plugin source code is available at github.com/montenegronyc/perstudio-openclaw for full review."
      },
      {
        "title": "Setup",
        "body": "Sign up at perstudio.ai\nCreate an API key in your dashboard\nInstall: npm install -g perstudio-openclaw\nConfigure your API key:\nopenclaw config set plugins.entries.perstudio.config.apiKey '\"your-api-key\"'\n\n\nStart generating!"
      }
    ],
    "body": "Perstudio — AI Image & Video Generation\n\nGenerate images, videos, and audio with natural language. Just describe what you want and perstudio routes it to the right model automatically.\n\nAll generation costs tokens. Check balance with the balance action. Token packs available at https://perstudio.ai/pricing.\n\nQuick Start\nperstudio({ action: \"generate_sync\", intent: \"a golden retriever puppy in a field of sunflowers, studio lighting\" })\n\n\nTakes 15-90 seconds.\n\nWhat You Can Do\nCapability\tInput Required\tToken Cost\nText to Image\tNone\t250\nImage to Image\tImage\t250\nProduct Photography\tNone\t370\nPortrait / Avatar\tNone\t370\nUpscale (4x)\tImage\t120\nInpainting\tImage + Mask\t250\nStyle Transfer\tReference Image\t370\nSticker / Icon\tReference Image\t250\nVideo\tVaries\t2200\nText to Speech\tVoice Reference\t490\nExamples\nGenerate an image\nperstudio({ action: \"generate_sync\", intent: \"a cyberpunk cityscape at sunset, neon lights reflecting on wet streets\" })\n\nTransform an existing image\nperstudio({ action: \"upload_asset\", file_path: \"~/Pictures/input.jpg\" })\n// Returns: { asset_id: \"abc123\" }\n\nperstudio({ action: \"generate_sync\", intent: \"transform into a watercolor painting\", input_image_asset_id: \"abc123\" })\n\n\nSecurity note: upload_asset only accepts files from allowed directories: ~/Pictures, ~/Downloads, ~/Desktop, ~/.openclaw/workspace, and the system temp directory. Paths outside these directories are rejected.\n\nGenerate video\nperstudio({ action: \"generate_sync\", intent: \"a cat playing piano, cinematic lighting\" })\n\nAnimate a still image\nperstudio({ action: \"upload_asset\", file_path: \"~/Pictures/photo.jpg\" })\nperstudio({ action: \"generate_sync\", intent: \"gentle wind blowing through hair, subtle movement\", input_image_asset_id: \"abc123\" })\n\nCheck balance\nperstudio({ action: \"balance\" })\n\nTips\nJust describe what you want — the system picks the best approach automatically.\nBe specific — include style, lighting, and composition details for better results.\nAuto-upscale — pass auto_upscale: true to automatically enhance resolution.\nSecurity\nFile access is restricted. The upload_asset action enforces a directory allowlist — only files in ~/Pictures, ~/Downloads, ~/Desktop, ~/.openclaw/workspace, and the system temp directory can be uploaded. All other paths are rejected. Paths are resolved to their real location (following symlinks) before validation to prevent traversal attacks.\nAPI key required. All generation requests require a valid PERSTUDIO_API_KEY. No data is sent to perstudio.ai without authentication.\nOpen source. The plugin source code is available at github.com/montenegronyc/perstudio-openclaw for full review.\nSetup\nSign up at perstudio.ai\nCreate an API key in your dashboard\nInstall: npm install -g perstudio-openclaw\nConfigure your API key:\nopenclaw config set plugins.entries.perstudio.config.apiKey '\"your-api-key\"'\n\nStart generating!"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/montenegronyc/skill-perstudio",
    "publisherUrl": "https://clawhub.ai/montenegronyc/skill-perstudio",
    "owner": "montenegronyc",
    "version": "3.2.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/skill-perstudio",
    "downloadUrl": "https://openagent3.xyz/downloads/skill-perstudio",
    "agentUrl": "https://openagent3.xyz/skills/skill-perstudio/agent",
    "manifestUrl": "https://openagent3.xyz/skills/skill-perstudio/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/skill-perstudio/agent.md"
  }
}