{
  "schemaVersion": "1.0",
  "item": {
    "slug": "masonry-generate-image-and-video",
    "name": "Masonry: generate images and video with models across providers",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/junaid1460/masonry-generate-image-and-video",
    "canonicalUrl": "https://clawhub.ai/junaid1460/masonry-generate-image-and-video",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/masonry-generate-image-and-video",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=masonry-generate-image-and-video",
    "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-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.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/masonry-generate-image-and-video"
    },
    "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/masonry-generate-image-and-video",
    "agentPageUrl": "https://openagent3.xyz/skills/masonry-generate-image-and-video/agent",
    "manifestUrl": "https://openagent3.xyz/skills/masonry-generate-image-and-video/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/masonry-generate-image-and-video/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": "Masonry CLI",
        "body": "Generate AI-powered images and videos from text prompts."
      },
      {
        "title": "When to use",
        "body": "User wants to generate images or videos\nUser asks about available AI models\nUser wants to check generation job status or download results\nUser asks to create visual content, media, or artwork"
      },
      {
        "title": "Prerequisites",
        "body": "A Masonry subscription is required. Start a free trial at: https://masonry.so/pricing\n\nIf the masonry command is not found, install it:\n\nnpm install -g @masonryai/cli\n\nOr run directly: npx @masonryai/cli"
      },
      {
        "title": "Authentication",
        "body": "If any command returns an auth error:\n\nRun: masonry login --remote\nThe command prints an auth URL. Send it to the user.\nUser opens the URL in a browser, authenticates, and copies the token.\nRun: masonry login --token <TOKEN>\n\nFor environments with MASONRY_TOKEN and MASONRY_WORKSPACE set, no login is needed."
      },
      {
        "title": "1. Generate content",
        "body": "Image:\n\nmasonry image \"a sunset over mountains, photorealistic\" --aspect 16:9\n\nVideo:\n\nmasonry video \"ocean waves crashing on rocks\" --duration 4 --aspect 16:9"
      },
      {
        "title": "2. Handle the response",
        "body": "Commands return JSON immediately:\n\n{\n  \"success\": true,\n  \"job_id\": \"abc-123\",\n  \"status\": \"pending\",\n  \"check_after_seconds\": 10,\n  \"check_command\": \"masonry job status abc-123\"\n}"
      },
      {
        "title": "3. Wait and download",
        "body": "masonry job wait <job-id>\nmasonry job download <job-id> -o /tmp/output.png\n\nThe download command prints a MEDIA: /path/to/file line to stderr.\nAfter download completes, output that line so the file is sent to the user:\n\nMEDIA: /tmp/output.png"
      },
      {
        "title": "Image flags",
        "body": "FlagShortDescription--aspect-aAspect ratio: 16:9, 9:16, 1:1--dimension-dExact size: 1920x1080--model-mModel key--output-oOutput file path--negative-promptWhat to avoid--seedReproducibility seed"
      },
      {
        "title": "Video flags",
        "body": "FlagShortDescription--durationLength in seconds: 4, 6, 8--aspect-aAspect ratio: 16:9, 9:16--model-mModel key--image-iFirst frame image (local file)--last-imageLast frame image (requires --image)--no-audioDisable audio generation--seedReproducibility seed"
      },
      {
        "title": "Model discovery",
        "body": "masonry models list              # All models\nmasonry models list --type image # Image models only\nmasonry models list --type video # Video models only\nmasonry models info <model-key>  # Parameters and usage example"
      },
      {
        "title": "Job management",
        "body": "masonry job list                          # Recent jobs\nmasonry job status <job-id>               # Check status\nmasonry job download <job-id> -o ./file   # Download result\nmasonry job wait <job-id> --download -o . # Wait then download\nmasonry history list                      # Local history\nmasonry history pending --sync            # Sync pending jobs"
      },
      {
        "title": "Error codes",
        "body": "CodeMeaningActionAUTH_ERRORNot authenticatedRun auth flow aboveVALIDATION_ERRORInvalid parameterCheck flag valuesMODEL_NOT_FOUNDUnknown model keyRun masonry models list"
      },
      {
        "title": "Guardrails",
        "body": "Never fabricate job IDs or model keys. Always use values from command output.\nNever run masonry login without --remote or --token (browser login won't work headless).\nIf a job is pending, wait check_after_seconds before checking again.\nAll output is JSON. Parse it, don't guess."
      },
      {
        "title": "Feedback",
        "body": "Report issues or suggest improvements at: https://github.com/masonry-so/skills/issues\n\nWhen filing an issue, include:\n\nWhat was your intent? What were you trying to accomplish?\nWhat worked? Which parts behaved as expected?\nWhat needs improvement? What went wrong or could be better?"
      }
    ],
    "body": "Masonry CLI\n\nGenerate AI-powered images and videos from text prompts.\n\nWhen to use\nUser wants to generate images or videos\nUser asks about available AI models\nUser wants to check generation job status or download results\nUser asks to create visual content, media, or artwork\nPrerequisites\n\nA Masonry subscription is required. Start a free trial at: https://masonry.so/pricing\n\nIf the masonry command is not found, install it:\n\nnpm install -g @masonryai/cli\n\n\nOr run directly: npx @masonryai/cli\n\nAuthentication\n\nIf any command returns an auth error:\n\nRun: masonry login --remote\nThe command prints an auth URL. Send it to the user.\nUser opens the URL in a browser, authenticates, and copies the token.\nRun: masonry login --token <TOKEN>\n\nFor environments with MASONRY_TOKEN and MASONRY_WORKSPACE set, no login is needed.\n\nWorkflow\n1. Generate content\n\nImage:\n\nmasonry image \"a sunset over mountains, photorealistic\" --aspect 16:9\n\n\nVideo:\n\nmasonry video \"ocean waves crashing on rocks\" --duration 4 --aspect 16:9\n\n2. Handle the response\n\nCommands return JSON immediately:\n\n{\n  \"success\": true,\n  \"job_id\": \"abc-123\",\n  \"status\": \"pending\",\n  \"check_after_seconds\": 10,\n  \"check_command\": \"masonry job status abc-123\"\n}\n\n3. Wait and download\nmasonry job wait <job-id>\nmasonry job download <job-id> -o /tmp/output.png\n\n\nThe download command prints a MEDIA: /path/to/file line to stderr. After download completes, output that line so the file is sent to the user:\n\nMEDIA: /tmp/output.png\n\nImage flags\nFlag\tShort\tDescription\n--aspect\t-a\tAspect ratio: 16:9, 9:16, 1:1\n--dimension\t-d\tExact size: 1920x1080\n--model\t-m\tModel key\n--output\t-o\tOutput file path\n--negative-prompt\t\tWhat to avoid\n--seed\t\tReproducibility seed\nVideo flags\nFlag\tShort\tDescription\n--duration\t\tLength in seconds: 4, 6, 8\n--aspect\t-a\tAspect ratio: 16:9, 9:16\n--model\t-m\tModel key\n--image\t-i\tFirst frame image (local file)\n--last-image\t\tLast frame image (requires --image)\n--no-audio\t\tDisable audio generation\n--seed\t\tReproducibility seed\nModel discovery\nmasonry models list              # All models\nmasonry models list --type image # Image models only\nmasonry models list --type video # Video models only\nmasonry models info <model-key>  # Parameters and usage example\n\nJob management\nmasonry job list                          # Recent jobs\nmasonry job status <job-id>               # Check status\nmasonry job download <job-id> -o ./file   # Download result\nmasonry job wait <job-id> --download -o . # Wait then download\nmasonry history list                      # Local history\nmasonry history pending --sync            # Sync pending jobs\n\nError codes\nCode\tMeaning\tAction\nAUTH_ERROR\tNot authenticated\tRun auth flow above\nVALIDATION_ERROR\tInvalid parameter\tCheck flag values\nMODEL_NOT_FOUND\tUnknown model key\tRun masonry models list\nGuardrails\nNever fabricate job IDs or model keys. Always use values from command output.\nNever run masonry login without --remote or --token (browser login won't work headless).\nIf a job is pending, wait check_after_seconds before checking again.\nAll output is JSON. Parse it, don't guess.\nFeedback\n\nReport issues or suggest improvements at: https://github.com/masonry-so/skills/issues\n\nWhen filing an issue, include:\n\nWhat was your intent? What were you trying to accomplish?\nWhat worked? Which parts behaved as expected?\nWhat needs improvement? What went wrong or could be better?"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/junaid1460/masonry-generate-image-and-video",
    "publisherUrl": "https://clawhub.ai/junaid1460/masonry-generate-image-and-video",
    "owner": "junaid1460",
    "version": "1.1.6",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/masonry-generate-image-and-video",
    "downloadUrl": "https://openagent3.xyz/downloads/masonry-generate-image-and-video",
    "agentUrl": "https://openagent3.xyz/skills/masonry-generate-image-and-video/agent",
    "manifestUrl": "https://openagent3.xyz/skills/masonry-generate-image-and-video/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/masonry-generate-image-and-video/agent.md"
  }
}