{
  "schemaVersion": "1.0",
  "item": {
    "slug": "instagram-api",
    "name": "Instagram Api",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/lifeissea/instagram-api",
    "canonicalUrl": "https://clawhub.ai/lifeissea/instagram-api",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/instagram-api",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=instagram-api",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/post-carousel.sh",
      "scripts/post-feed.sh",
      "scripts/post-reels.sh",
      "scripts/post-story.sh",
      "scripts/post-threads.sh"
    ],
    "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/instagram-api"
    },
    "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/instagram-api",
    "agentPageUrl": "https://openagent3.xyz/skills/instagram-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/instagram-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/instagram-api/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": "instagram-api",
        "body": "Meta Graph API를 사용해 Instagram과 Threads에 직접 포스팅하는 스킬.\n미디어 호스팅은 Imgur API를 사용 (이미지/영상 공개 URL 생성)."
      },
      {
        "title": "Imgur Client ID 발급",
        "body": "Instagram Graph API는 공개 URL로만 미디어를 업로드할 수 있어 Imgur가 필요합니다.\n\nhttps://api.imgur.com/oauth2/addclient 접속\nApplication name: 원하는 이름 (예: raon-instagram)\nAuthorization type: Anonymous usage without user authorization 선택\nAuthorization callback URL: https://localhost (Anonymous이므로 형식만 맞추면 됨)\n이메일 입력 후 제출 → Client ID 확인\n환경변수 설정:\nexport IMGUR_CLIENT_ID=\"your_client_id_here\""
      },
      {
        "title": "환경변수 설정",
        "body": "# ~/.openclaw/.env 또는 ~/.zshrc에 추가\nexport INSTAGRAM_ACCESS_TOKEN=\"your_token_here\"\nexport INSTAGRAM_BUSINESS_ACCOUNT_ID=\"your_account_id_here\"\n\n# Threads (선택)\nexport THREADS_ACCESS_TOKEN=\"your_threads_token_here\"\nexport THREADS_USER_ID=\"your_threads_user_id_here\"\n\n# Imgur (이미지 호스팅용 — 피드/릴스 업로드 시 필요)\nexport IMGUR_CLIENT_ID=\"your_imgur_client_id_here\""
      },
      {
        "title": "Meta Graph API 토큰 발급",
        "body": "Meta for Developers 접속\n앱 생성 → Business 유형 선택\nInstagram Graph API 제품 추가\n권한 요청:\n\ninstagram_basic\ninstagram_content_publish\npages_read_engagement\n\n\nAccess Token 발급:\n\nGraph API Explorer: https://developers.facebook.com/tools/explorer/\n장기 토큰(Long-lived token)으로 교환: 60일 유효\n\n\nBusiness Account ID 확인:\ncurl \"https://graph.facebook.com/v21.0/me/accounts?access_token=YOUR_TOKEN\"\n\n💡 Imgur Client ID: https://api.imgur.com/oauth2/addclient (Anonymous usage 선택)"
      },
      {
        "title": "피드 포스팅",
        "body": "bash scripts/post-feed.sh <이미지경로> <캡션파일>\n\n# 예시\nbash scripts/post-feed.sh ./photo.jpg ./caption.txt"
      },
      {
        "title": "스토리 포스팅",
        "body": "bash scripts/post-story.sh <이미지경로>\n\n# 예시\nbash scripts/post-story.sh ./story.jpg"
      },
      {
        "title": "릴스 포스팅",
        "body": "bash scripts/post-reels.sh <영상경로> <캡션파일>\n\n# 예시\nbash scripts/post-reels.sh ./reel.mp4 ./caption.txt"
      },
      {
        "title": "캐러셀 포스팅",
        "body": "bash scripts/post-carousel.sh <캡션파일> <이미지1> <이미지2> [이미지3...]\n\n# 예시\nbash scripts/post-carousel.sh ./caption.txt ./img1.jpg ./img2.jpg ./img3.jpg"
      },
      {
        "title": "Threads 포스팅",
        "body": "bash scripts/post-threads.sh <캡션파일> [이미지URL]\n\n# 예시 (텍스트만)\nbash scripts/post-threads.sh ./caption.txt\n\n# 예시 (이미지 포함)\nbash scripts/post-threads.sh ./caption.txt \"https://example.com/image.jpg\""
      },
      {
        "title": "파일 구조",
        "body": "instagram-api/\n├── SKILL.md                    # 이 파일\n└── scripts/\n    ├── post-feed.sh            # 피드 포스팅\n    ├── post-story.sh           # 스토리 포스팅\n    ├── post-reels.sh           # 릴스 포스팅\n    ├── post-carousel.sh        # 캐러셀 포스팅\n    └── post-threads.sh         # Threads 포스팅"
      },
      {
        "title": "주의사항",
        "body": "Instagram은 공개 URL로만 미디어 업로드 가능 (로컬 파일 직접 업로드 불가)\n이 스킬은 Imgur를 통해 임시 공개 URL 생성\n릴스 동영상 처리에는 수분 소요될 수 있음\nAPI 호출 실패 시 ~/logs/sns/ 로그 확인"
      }
    ],
    "body": "instagram-api\n\nMeta Graph API를 사용해 Instagram과 Threads에 직접 포스팅하는 스킬. 미디어 호스팅은 Imgur API를 사용 (이미지/영상 공개 URL 생성).\n\nImgur Client ID 발급\n\nInstagram Graph API는 공개 URL로만 미디어를 업로드할 수 있어 Imgur가 필요합니다.\n\nhttps://api.imgur.com/oauth2/addclient 접속\nApplication name: 원하는 이름 (예: raon-instagram)\nAuthorization type: Anonymous usage without user authorization 선택\nAuthorization callback URL: https://localhost (Anonymous이므로 형식만 맞추면 됨)\n이메일 입력 후 제출 → Client ID 확인\n환경변수 설정:\nexport IMGUR_CLIENT_ID=\"your_client_id_here\"\n\n환경변수 설정\n# ~/.openclaw/.env 또는 ~/.zshrc에 추가\nexport INSTAGRAM_ACCESS_TOKEN=\"your_token_here\"\nexport INSTAGRAM_BUSINESS_ACCOUNT_ID=\"your_account_id_here\"\n\n# Threads (선택)\nexport THREADS_ACCESS_TOKEN=\"your_threads_token_here\"\nexport THREADS_USER_ID=\"your_threads_user_id_here\"\n\n# Imgur (이미지 호스팅용 — 피드/릴스 업로드 시 필요)\nexport IMGUR_CLIENT_ID=\"your_imgur_client_id_here\"\n\nMeta Graph API 토큰 발급\nMeta for Developers 접속\n앱 생성 → Business 유형 선택\nInstagram Graph API 제품 추가\n권한 요청:\ninstagram_basic\ninstagram_content_publish\npages_read_engagement\nAccess Token 발급:\nGraph API Explorer: https://developers.facebook.com/tools/explorer/\n장기 토큰(Long-lived token)으로 교환: 60일 유효\nBusiness Account ID 확인:\ncurl \"https://graph.facebook.com/v21.0/me/accounts?access_token=YOUR_TOKEN\"\n\n\n💡 Imgur Client ID: https://api.imgur.com/oauth2/addclient (Anonymous usage 선택)\n\n스크립트 사용법\n피드 포스팅\nbash scripts/post-feed.sh <이미지경로> <캡션파일>\n\n# 예시\nbash scripts/post-feed.sh ./photo.jpg ./caption.txt\n\n스토리 포스팅\nbash scripts/post-story.sh <이미지경로>\n\n# 예시\nbash scripts/post-story.sh ./story.jpg\n\n릴스 포스팅\nbash scripts/post-reels.sh <영상경로> <캡션파일>\n\n# 예시\nbash scripts/post-reels.sh ./reel.mp4 ./caption.txt\n\n캐러셀 포스팅\nbash scripts/post-carousel.sh <캡션파일> <이미지1> <이미지2> [이미지3...]\n\n# 예시\nbash scripts/post-carousel.sh ./caption.txt ./img1.jpg ./img2.jpg ./img3.jpg\n\nThreads 포스팅\nbash scripts/post-threads.sh <캡션파일> [이미지URL]\n\n# 예시 (텍스트만)\nbash scripts/post-threads.sh ./caption.txt\n\n# 예시 (이미지 포함)\nbash scripts/post-threads.sh ./caption.txt \"https://example.com/image.jpg\"\n\n파일 구조\ninstagram-api/\n├── SKILL.md                    # 이 파일\n└── scripts/\n    ├── post-feed.sh            # 피드 포스팅\n    ├── post-story.sh           # 스토리 포스팅\n    ├── post-reels.sh           # 릴스 포스팅\n    ├── post-carousel.sh        # 캐러셀 포스팅\n    └── post-threads.sh         # Threads 포스팅\n\n주의사항\nInstagram은 공개 URL로만 미디어 업로드 가능 (로컬 파일 직접 업로드 불가)\n이 스킬은 Imgur를 통해 임시 공개 URL 생성\n릴스 동영상 처리에는 수분 소요될 수 있음\nAPI 호출 실패 시 ~/logs/sns/ 로그 확인"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/lifeissea/instagram-api",
    "publisherUrl": "https://clawhub.ai/lifeissea/instagram-api",
    "owner": "lifeissea",
    "version": "1.1.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/instagram-api",
    "downloadUrl": "https://openagent3.xyz/downloads/instagram-api",
    "agentUrl": "https://openagent3.xyz/skills/instagram-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/instagram-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/instagram-api/agent.md"
  }
}