{"skill":{"slug":"link-midjourney-instagram","displayName":"Link Midjourney Instagram","summary":"Runs the linkmidjourneyinstagram automation — generate four Midjourney images in Chromium via Playwright, then post each PNG as its own Instagram web post wi...","description":"---\r\nname: link-midjourney-instagram\r\ndescription: >-\r\n  Runs the linkmidjourneyinstagram automation — generate four Midjourney images in Chromium via Playwright,\r\n  then post each PNG as its own Instagram web post with per-image captions from captions.txt, the Midjourney prompt,\r\n  or Gemini/OpenAI vision. Use when working in this repository, or when the user asks for Midjourney-to-Instagram\r\n  automation, MJ→IG posting, or Playwright-based MJ/IG flows without official APIs.\r\nmetadata: {\"openclaw\":{\"requires\":{\"bins\":[\"python\"]}}}\r\n---\r\n\r\n# Midjourney → Instagram（linkmidjourneyinstagram）\r\n\r\n## 專案根目錄\r\n\r\n自動化程式在 **repository root**（與 `skills/` 同層、含有 `main.py` 的那個資料夾）。  \r\n透過 `exec` 執行指令時，**必須**先 `cd` 到該目錄；不要只在 `{baseDir}`（此 skill 資料夾）底下跑 `python main.py`。\r\n\r\n## 何時用這份 skill\r\n\r\n- 使用者要「從 Midjourney 產圖 → 自動發四則 IG 貼文」。\r\n- 需要選擇 caption 來源：`captions.txt`、與 MJ 相同的 prompt、或 vision API。\r\n- Troubleshooting：首次登入、Playwright、HEADLESS、POST_DELAY、Gemini 區域限制等。\r\n\r\n## 前置條件\r\n\r\n- Python 3.10+，`python` 在 PATH。\r\n- Midjourney 有效訂閱（Google / Discord OAuth，由瀏覽器手動完成首次登入）。\r\n- Instagram 帳號；`.env` 內需 `INSTAGRAM_USERNAME`、`INSTAGRAM_PASSWORD`（見 `.env.example`）。\r\n- 依賴：`pip install -r requirements.txt`，並執行 `python -m playwright install chromium`。\r\n\r\n## 安裝與設定（一次性）\r\n\r\n於 **repository root**：\r\n\r\n```bash\r\npython -m venv .venv\r\n```\r\n\r\n啟用 venv 後（Windows：`.venv/Scripts/activate`；macOS/Linux：`source .venv/bin/activate`）：\r\n\r\n```bash\r\npip install -r requirements.txt\r\npython -m playwright install chromium\r\ncp .env.example .env\r\n```\r\n\r\n編輯 `.env` 填入 IG 帳密；其餘選項見 `.env.example` 註解。\r\n\r\n## 首次執行（務必可視瀏覽器）\r\n\r\n- 維持 `HEADLESS=false`（預設），讓 Chromium 視窗開著。\r\n- Midjourney：完成 Google/Discord 登入與驗證；session 會存到 `browser_data/midjourney/`。\r\n- Instagram：完成網頁登入與可能的 2FA；session 會存到 `browser_data/instagram/`。\r\n- 之後可視需求改 `HEADLESS=true`。\r\n\r\n## 執行 pipeline（給 agent 用 `exec`）\r\n\r\n預設讀取 `prompt.txt` 與 `captions.txt`：\r\n\r\n```bash\r\npython main.py\r\n```\r\n\r\n常用選項：\r\n\r\n```bash\r\npython main.py --prompt \"your midjourney prompt here\"\r\npython main.py --skip-instagram\r\npython main.py --headless\r\npython main.py --post-delay 60\r\npython main.py --use-prompt-caption\r\npython main.py --use-vision-caption\r\n```\r\n\r\n行為摘要：\r\n\r\n| 模式 | 條件 |\r\n|------|------|\r\n| Vision caption | `--use-vision-caption` 或 `.env` 中 `INSTAGRAM_USE_VISION_CAPTION`；若設了 `GEMINI_API_KEY`/`GOOGLE_API_KEY` 且未明確關閉，預設會開 vision |\r\n| Prompt 當 caption | `--use-prompt-caption` 或 `INSTAGRAM_USE_PROMPT_CAPTION=true`（vision 開啟時會被蓋過） |\r\n| `captions.txt` | 上述皆否時，依 `---` 分區塊，每張圖一則；區塊不足則用最後一則重複 |\r\n\r\nVision：`GEMINI_API_KEY` / `GOOGLE_API_KEY`，或 `VISION_CAPTION_PROVIDER=openai` 搭配 `OPENAI_API_KEY`。詳見 `.env.example`。\r\n\r\n## 編輯輸入檔\r\n\r\n**`prompt.txt`**：以 `# `（井號+空白）或單獨 `#` 開頭的行為註解並忽略；`#midjourney` 這類標籤保留。非註解行會用空白串成一句送進 Midjourney。\r\n\r\n**`captions.txt`**：四個（或多個）區塊，區塊之間一行 `---`。註解規則同 `prompt.txt`。\r\n\r\n## 輸出與安全\r\n\r\n- 圖片：`outputs/mj_<timestamp>/image_1.png` … `image_4.png`。\r\n- **勿** commit `.env`、`browser_data/`（含 session cookie）；已應在 `.gitignore`。\r\n- 自動發文可能觸發平台風控；善用 `--post-delay`（預設對應 `POST_DELAY_S`），勿過度密集發送。\r\n\r\n## OpenClaw 載入後\r\n\r\n必要時請使用者 `/new` 或重啟 gateway；可用 `openclaw skills list` 確認 skill 名稱 `link-midjourney-instagram` 已載入。\r\n","topics":["Playwright","Prompt","Repository"],"tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":316,"installsAllTime":12,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1778414418324,"updatedAt":1779076247119},"latestVersion":{"version":"1.0.0","createdAt":1778414418324,"changelog":"Initial publish","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"superhero2040","userId":"s178e41yc7626zpfz3w4jet3f986ew0s","displayName":"superhero2040","image":"https://avatars.githubusercontent.com/u/268906692?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780090776958}}