{
  "schemaVersion": "1.0",
  "item": {
    "slug": "eachlabs-face-swap",
    "name": "Eachlabs Face Swap",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/eftalyurtseven/eachlabs-face-swap",
    "canonicalUrl": "https://clawhub.ai/eftalyurtseven/eachlabs-face-swap",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/eachlabs-face-swap",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=eachlabs-face-swap",
    "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/eachlabs-face-swap"
    },
    "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/eachlabs-face-swap",
    "agentPageUrl": "https://openagent3.xyz/skills/eachlabs-face-swap/agent",
    "manifestUrl": "https://openagent3.xyz/skills/eachlabs-face-swap/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/eachlabs-face-swap/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": "EachLabs Face Swap",
        "body": "Swap faces between images and videos using the EachLabs Predictions API."
      },
      {
        "title": "Authentication",
        "body": "Header: X-API-Key: <your-api-key>\n\nSet the EACHLABS_API_KEY environment variable. Get your key at eachlabs.ai."
      },
      {
        "title": "Available Models",
        "body": "ModelSlugBest ForAI Face Swap V1aifaceswap-face-swapImage face swapEachlabs Face Swapeach-faceswap-v1Image face swapFace Swap (legacy)face-swap-newImage face swapFaceswap Videofaceswap-videoVideo face swap"
      },
      {
        "title": "Image Face Swap with AI Face Swap V1",
        "body": "curl -X POST https://api.eachlabs.ai/v1/prediction \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -d '{\n    \"model\": \"aifaceswap-face-swap\",\n    \"version\": \"0.0.1\",\n    \"input\": {\n      \"target_image\": \"https://example.com/target-photo.jpg\",\n      \"swap_image\": \"https://example.com/source-face.jpg\"\n    }\n  }'"
      },
      {
        "title": "Image Face Swap with Eachlabs",
        "body": "curl -X POST https://api.eachlabs.ai/v1/prediction \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -d '{\n    \"model\": \"each-faceswap-v1\",\n    \"version\": \"0.0.1\",\n    \"input\": {\n      \"target_image\": \"https://example.com/target-photo.jpg\",\n      \"swap_image\": \"https://example.com/source-face.jpg\"\n    }\n  }'"
      },
      {
        "title": "Video Face Swap",
        "body": "curl -X POST https://api.eachlabs.ai/v1/prediction \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -d '{\n    \"model\": \"faceswap-video\",\n    \"version\": \"0.0.1\",\n    \"input\": {\n      \"target_video\": \"https://example.com/target-video.mp4\",\n      \"swap_image\": \"https://example.com/source-face.jpg\"\n    }\n  }'"
      },
      {
        "title": "Alternative: Using GPT Image v1.5 Edit",
        "body": "For prompt-based face replacement:\n\ncurl -X POST https://api.eachlabs.ai/v1/prediction \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -d '{\n    \"model\": \"gpt-image-v1-5-edit\",\n    \"version\": \"0.0.1\",\n    \"input\": {\n      \"prompt\": \"Replace the face in image 1 with the face from image 2. Keep the same pose, lighting, and expression. Maintain natural skin tone and seamless blending.\",\n      \"image_urls\": [\n        \"https://example.com/target-photo.jpg\",\n        \"https://example.com/source-face.jpg\"\n      ],\n      \"quality\": \"high\"\n    }\n  }'"
      },
      {
        "title": "Prediction Flow",
        "body": "Check model GET https://api.eachlabs.ai/v1/model?slug=<slug> — validates the model exists and returns the request_schema with exact input parameters. Always do this before creating a prediction to ensure correct inputs.\nPOST https://api.eachlabs.ai/v1/prediction with model slug, version \"0.0.1\", and input matching the schema\nPoll GET https://api.eachlabs.ai/v1/prediction/{id} until status is \"success\" or \"failed\"\nExtract the output image URL from the response"
      },
      {
        "title": "Tips for Best Results",
        "body": "Use high-quality source images with clear, well-lit faces\nThe source face image should be a clear frontal or near-frontal portrait\nMatching lighting conditions between source and target produces more natural results\nSpecify \"seamless blending\" and \"natural skin tone\" in prompts\nFor the target image, faces should be clearly visible and not heavily occluded"
      }
    ],
    "body": "EachLabs Face Swap\n\nSwap faces between images and videos using the EachLabs Predictions API.\n\nAuthentication\nHeader: X-API-Key: <your-api-key>\n\n\nSet the EACHLABS_API_KEY environment variable. Get your key at eachlabs.ai.\n\nAvailable Models\nModel\tSlug\tBest For\nAI Face Swap V1\taifaceswap-face-swap\tImage face swap\nEachlabs Face Swap\teach-faceswap-v1\tImage face swap\nFace Swap (legacy)\tface-swap-new\tImage face swap\nFaceswap Video\tfaceswap-video\tVideo face swap\nExamples\nImage Face Swap with AI Face Swap V1\ncurl -X POST https://api.eachlabs.ai/v1/prediction \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -d '{\n    \"model\": \"aifaceswap-face-swap\",\n    \"version\": \"0.0.1\",\n    \"input\": {\n      \"target_image\": \"https://example.com/target-photo.jpg\",\n      \"swap_image\": \"https://example.com/source-face.jpg\"\n    }\n  }'\n\nImage Face Swap with Eachlabs\ncurl -X POST https://api.eachlabs.ai/v1/prediction \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -d '{\n    \"model\": \"each-faceswap-v1\",\n    \"version\": \"0.0.1\",\n    \"input\": {\n      \"target_image\": \"https://example.com/target-photo.jpg\",\n      \"swap_image\": \"https://example.com/source-face.jpg\"\n    }\n  }'\n\nVideo Face Swap\ncurl -X POST https://api.eachlabs.ai/v1/prediction \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -d '{\n    \"model\": \"faceswap-video\",\n    \"version\": \"0.0.1\",\n    \"input\": {\n      \"target_video\": \"https://example.com/target-video.mp4\",\n      \"swap_image\": \"https://example.com/source-face.jpg\"\n    }\n  }'\n\nAlternative: Using GPT Image v1.5 Edit\n\nFor prompt-based face replacement:\n\ncurl -X POST https://api.eachlabs.ai/v1/prediction \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -d '{\n    \"model\": \"gpt-image-v1-5-edit\",\n    \"version\": \"0.0.1\",\n    \"input\": {\n      \"prompt\": \"Replace the face in image 1 with the face from image 2. Keep the same pose, lighting, and expression. Maintain natural skin tone and seamless blending.\",\n      \"image_urls\": [\n        \"https://example.com/target-photo.jpg\",\n        \"https://example.com/source-face.jpg\"\n      ],\n      \"quality\": \"high\"\n    }\n  }'\n\nPrediction Flow\nCheck model GET https://api.eachlabs.ai/v1/model?slug=<slug> — validates the model exists and returns the request_schema with exact input parameters. Always do this before creating a prediction to ensure correct inputs.\nPOST https://api.eachlabs.ai/v1/prediction with model slug, version \"0.0.1\", and input matching the schema\nPoll GET https://api.eachlabs.ai/v1/prediction/{id} until status is \"success\" or \"failed\"\nExtract the output image URL from the response\nTips for Best Results\nUse high-quality source images with clear, well-lit faces\nThe source face image should be a clear frontal or near-frontal portrait\nMatching lighting conditions between source and target produces more natural results\nSpecify \"seamless blending\" and \"natural skin tone\" in prompts\nFor the target image, faces should be clearly visible and not heavily occluded"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/eftalyurtseven/eachlabs-face-swap",
    "publisherUrl": "https://clawhub.ai/eftalyurtseven/eachlabs-face-swap",
    "owner": "eftalyurtseven",
    "version": "0.1.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/eachlabs-face-swap",
    "downloadUrl": "https://openagent3.xyz/downloads/eachlabs-face-swap",
    "agentUrl": "https://openagent3.xyz/skills/eachlabs-face-swap/agent",
    "manifestUrl": "https://openagent3.xyz/skills/eachlabs-face-swap/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/eachlabs-face-swap/agent.md"
  }
}