{
  "schemaVersion": "1.0",
  "item": {
    "slug": "falimagegen",
    "name": "falimagegen",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/xxmzdxxxm/falimagegen",
    "canonicalUrl": "https://clawhub.ai/xxmzdxxxm/falimagegen",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/falimagegen",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=falimagegen",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "agents/openai.yaml",
      "references/fal-model-examples.md",
      "references/fal-model-api-checklist.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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/falimagegen"
    },
    "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/falimagegen",
    "agentPageUrl": "https://openagent3.xyz/skills/falimagegen/agent",
    "manifestUrl": "https://openagent3.xyz/skills/falimagegen/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/falimagegen/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": "Overview",
        "body": "Use this skill to implement text-to-image or image-to-image calls against fal model APIs. Prioritize correctness by checking the current docs for the selected model’s required inputs/outputs and authentication requirements."
      },
      {
        "title": "Quick Start",
        "body": "Identify the target model ID from the fal model API docs.\nCollect inputs from the user.\n\nText-to-image: prompt, optional negative_prompt, size/aspect, steps, seed, safety options.\nImage-to-image: source image URL, strength/denoise, plus prompt/options above.\n\nPick the calling method.\n\nIf the user prefers SDKs: provide Python and/or JavaScript examples.\nIf the user prefers REST: provide a curl/HTTP example.\n\nExecute the request and return image URL(s) from the response."
      },
      {
        "title": "Workflow: Text-to-Image",
        "body": "Resolve the model ID and schema.\n\nOpen the fal model API docs and confirm the exact input fields and output format.\n\nValidate inputs.\n\nEnsure prompt is non-empty and size/aspect settings are supported by the model.\n\nBuild the request.\n\nSDK: call the SDK’s run/submit method with an input object.\nREST: call the model endpoint with a JSON body that matches the schema.\n\nExecute and parse output.\n\nExtract image URL(s) from the response fields defined by the model.\n\nReturn URLs.\n\nProvide a clean list of URLs and note any metadata the user asked for (seed, size, etc.)."
      },
      {
        "title": "Workflow: Image-to-Image",
        "body": "Resolve the model ID and schema.\nValidate inputs.\n\nEnsure the source image is reachable by URL (or converted to the required format).\nConfirm any strength/denoise range constraints from docs.\n\nBuild the request.\n\nInclude source image + prompt + other options as required by the model.\n\nExecute and parse output.\n\nExtract image URL(s) from the response fields defined by the model.\n\nReturn URLs."
      },
      {
        "title": "SDK vs REST Guidance",
        "body": "Prefer SDKs for simpler auth and retries.\nPrefer REST when the user needs raw HTTP examples, or when running in environments without SDK support.\nNever hardcode API keys. Follow the docs for the required environment variable or header name."
      },
      {
        "title": "Minimal Examples (Fill From Docs)",
        "body": "Use these as templates only. Replace placeholders after checking the docs."
      },
      {
        "title": "Python (SDK)",
        "body": "# Pseudocode: replace with the exact fal SDK import + call pattern from docs\nimport os\n# from fal import client  # or the current SDK import\n\nMODEL_ID = \"<model-id-from-docs>\"\ninput_data = {\n    \"prompt\": \"a cinematic photo of a red fox\",\n    # \"image_url\": \"https://...\"  # for image-to-image\n    # \"negative_prompt\": \"...\",\n    # \"width\": 1024,\n    # \"height\": 1024,\n}\n\n# result = client.run(MODEL_ID, input=input_data)\n# urls = extract_urls(result)"
      },
      {
        "title": "JavaScript (SDK)",
        "body": "// Pseudocode: replace with the exact fal SDK import + call pattern from docs\n// import { client } from \"@fal-ai/client\";\n\nconst MODEL_ID = \"<model-id-from-docs>\";\nconst input = {\n  prompt: \"a cinematic photo of a red fox\",\n  // image_url: \"https://...\" // for image-to-image\n};\n\n// const result = await client.run(MODEL_ID, { input });\n// const urls = extractUrls(result);"
      },
      {
        "title": "REST (curl)",
        "body": "# Pseudocode: replace endpoint, headers, and payload schema from docs\ncurl -X POST \"https://<fal-api-base>/<model-endpoint>\" \\\n  -H \"Authorization: Bearer <API_KEY>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"prompt\": \"a cinematic photo of a red fox\"\n  }'"
      },
      {
        "title": "Resources",
        "body": "references/fal-model-api-checklist.md: Checklist for gathering inputs and validating responses.\nreferences/fal-model-examples.md: Example templates for text-to-image, image-to-image, and REST usage."
      }
    ],
    "body": "Fal Image Gen\nOverview\n\nUse this skill to implement text-to-image or image-to-image calls against fal model APIs. Prioritize correctness by checking the current docs for the selected model’s required inputs/outputs and authentication requirements.\n\nQuick Start\nIdentify the target model ID from the fal model API docs.\nCollect inputs from the user.\nText-to-image: prompt, optional negative_prompt, size/aspect, steps, seed, safety options.\nImage-to-image: source image URL, strength/denoise, plus prompt/options above.\nPick the calling method.\nIf the user prefers SDKs: provide Python and/or JavaScript examples.\nIf the user prefers REST: provide a curl/HTTP example.\nExecute the request and return image URL(s) from the response.\nWorkflow: Text-to-Image\nResolve the model ID and schema.\nOpen the fal model API docs and confirm the exact input fields and output format.\nValidate inputs.\nEnsure prompt is non-empty and size/aspect settings are supported by the model.\nBuild the request.\nSDK: call the SDK’s run/submit method with an input object.\nREST: call the model endpoint with a JSON body that matches the schema.\nExecute and parse output.\nExtract image URL(s) from the response fields defined by the model.\nReturn URLs.\nProvide a clean list of URLs and note any metadata the user asked for (seed, size, etc.).\nWorkflow: Image-to-Image\nResolve the model ID and schema.\nValidate inputs.\nEnsure the source image is reachable by URL (or converted to the required format).\nConfirm any strength/denoise range constraints from docs.\nBuild the request.\nInclude source image + prompt + other options as required by the model.\nExecute and parse output.\nExtract image URL(s) from the response fields defined by the model.\nReturn URLs.\nSDK vs REST Guidance\nPrefer SDKs for simpler auth and retries.\nPrefer REST when the user needs raw HTTP examples, or when running in environments without SDK support.\nNever hardcode API keys. Follow the docs for the required environment variable or header name.\nMinimal Examples (Fill From Docs)\n\nUse these as templates only. Replace placeholders after checking the docs.\n\nPython (SDK)\n# Pseudocode: replace with the exact fal SDK import + call pattern from docs\nimport os\n# from fal import client  # or the current SDK import\n\nMODEL_ID = \"<model-id-from-docs>\"\ninput_data = {\n    \"prompt\": \"a cinematic photo of a red fox\",\n    # \"image_url\": \"https://...\"  # for image-to-image\n    # \"negative_prompt\": \"...\",\n    # \"width\": 1024,\n    # \"height\": 1024,\n}\n\n# result = client.run(MODEL_ID, input=input_data)\n# urls = extract_urls(result)\n\nJavaScript (SDK)\n// Pseudocode: replace with the exact fal SDK import + call pattern from docs\n// import { client } from \"@fal-ai/client\";\n\nconst MODEL_ID = \"<model-id-from-docs>\";\nconst input = {\n  prompt: \"a cinematic photo of a red fox\",\n  // image_url: \"https://...\" // for image-to-image\n};\n\n// const result = await client.run(MODEL_ID, { input });\n// const urls = extractUrls(result);\n\nREST (curl)\n# Pseudocode: replace endpoint, headers, and payload schema from docs\ncurl -X POST \"https://<fal-api-base>/<model-endpoint>\" \\\n  -H \"Authorization: Bearer <API_KEY>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"prompt\": \"a cinematic photo of a red fox\"\n  }'\n\nResources\nreferences/fal-model-api-checklist.md: Checklist for gathering inputs and validating responses.\nreferences/fal-model-examples.md: Example templates for text-to-image, image-to-image, and REST usage."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/xxmzdxxxm/falimagegen",
    "publisherUrl": "https://clawhub.ai/xxmzdxxxm/falimagegen",
    "owner": "xxmzdxxxm",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/falimagegen",
    "downloadUrl": "https://openagent3.xyz/downloads/falimagegen",
    "agentUrl": "https://openagent3.xyz/skills/falimagegen/agent",
    "manifestUrl": "https://openagent3.xyz/skills/falimagegen/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/falimagegen/agent.md"
  }
}