265 lines
11 KiB
Markdown
265 lines
11 KiB
Markdown
# ComfyUI-Thread
|
||
|
||
A ComfyUI custom node package for seamless integration with Threads (Meta's social platform). This package allows you to publish posts, manage images/videos, and retrieve post history directly from your ComfyUI workflows.
|
||
|
||
ComfyUI 的 Threads 整合自定義節點包,讓您能夠直接在 ComfyUI 工作流程中發布貼文、管理圖片/影片和獲取發文歷史。
|
||
|
||
> **完整功能參考**: 本節點為實現發布的簡要功能,包括文字,圖片、影片與多圖片容器,需要自訂ComfyUIHTTPS網址,如使用ngrok,若需要設定更完整的發布節點包括使用圖床金鑰、臨時伺服器與權杖管理測試,請參考 [ComfyUI Threads Uploader](https://github.com/clinno0616/comfyui-threads-uploader)
|
||
|
||
## Features | 功能特色
|
||
|
||
### 🚀 **Post Publishing | 發文功能**
|
||
- ✅ Text-only posts | 純文字發文
|
||
- ✅ Single image posts | 單圖發文
|
||
- ✅ Multi-image carousel posts | 多圖輪播發文
|
||
- ✅ Video posts with smart path detection | 支援影片發文及智能路徑檢測
|
||
- ✅ Image tensor support (from ComfyUI generators) | 支援圖片張量(來自 ComfyUI 生成器)
|
||
- ✅ External image/video URL support | 支援外部圖片/影片網址
|
||
- ✅ Local video file processing | 支援本地影片檔案處理
|
||
|
||
### 📊 **Analytics | 數據分析**
|
||
- ✅ Retrieve post history | 獲取發文歷史
|
||
- ✅ Customizable date range (1-365 days) | 可自訂日期範圍(1-365天)
|
||
- ✅ Formatted post content output | 格式化的貼文內容輸出
|
||
|
||
### ⚙️ **Configuration | 配置管理**
|
||
- ✅ Long-lived access token management | 長期訪問令牌管理
|
||
- ✅ Custom ComfyUI URL support | 支援自訂 ComfyUI 網址
|
||
- ✅ Automatic configuration persistence | 自動配置持久化
|
||
- ✅ Intelligent media processing | 智能媒體處理
|
||
|
||
## Installation | 安裝方式
|
||
|
||
### Using ComfyUI Manager | 使用 ComfyUI Manager 安裝
|
||
|
||
1. Open ComfyUI Manager | 開啟 ComfyUI Manager
|
||
2. Search for **ComfyUI-Thread** | 搜尋 **ComfyUI-Thread**
|
||
3. Install the package | 安裝套件
|
||
4. Restart ComfyUI | 重啟 ComfyUI
|
||
|
||
### Manual Installation | 手動安裝
|
||
|
||
```bash
|
||
cd ComfyUI/custom_nodes/
|
||
git clone https://github.com/your-repo/ComfyUI-Thread.git
|
||
pip install -r ComfyUI-Thread/requirements.txt
|
||
```
|
||
|
||
## Setup | 設置
|
||
|
||
### 1. Get Threads API Credentials | 獲取 Threads API 憑證
|
||
|
||
You need to obtain the following from Meta Developers:
|
||
您需要從 Meta 開發者平台獲取以下資訊:
|
||
|
||
- `USER_ID` - Your Threads user ID | 您的 Threads 用戶 ID
|
||
- `ACCESS_TOKEN` - Short-lived access token | 短期訪問令牌
|
||
- `APP_SECRET` - Your app secret | 您的應用密鑰
|
||
|
||
**參考資源**: 有關憑證的取得方式,可以參考 SDK 的開發者網址,同時你也必須安裝 **requirements.txt** 中的 SDK:
|
||
https://nijialin.com/2024/08/17/python-threads-sdk-introduction/
|
||
|
||
### 2. Configure API Access | 配置 API 訪問
|
||
|
||
Use the **Start With Long Live Token** node with your credentials to generate a long-lived access token.
|
||
|
||
使用 **Start With Long Live Token** 節點輸入您的憑證來生成長期訪問令牌。
|
||
|
||
## Nodes | 節點說明
|
||
|
||
### 📝 **Start With Long Live Token**
|
||
Initialize the Threads API connection and generate a long-lived access token.
|
||
|
||
初始化 Threads API 連接並生成長期訪問令牌。
|
||
|
||
**Inputs | 輸入:**
|
||
- `USER_ID` - Your Threads user ID | 您的 Threads 用戶 ID
|
||
- `ACCESS_TOKEN` - Short-lived access token | 短期訪問令牌
|
||
- `APP_SECRET` - Your app secret | 您的應用密鑰
|
||
|
||
**Outputs | 輸出:**
|
||
- `result` - Configuration status message | 配置狀態訊息
|
||
|
||
**Note | 注意**: 成功後會在 `token` 資料夾下產生一個 `thread_config.json` 檔案。
|
||
|
||
---
|
||
|
||
### 📤 **Publish Thread**
|
||
Publish posts to Threads with text and images, supporting single images and multi-image carousels.
|
||
|
||
發布包含文字和圖片的 Threads 貼文,支援單圖和多圖輪播。
|
||
|
||
**Inputs | 輸入:**
|
||
- `text` (required) - Post content | 貼文內容(必填)
|
||
- `ComfyUIHttpsURL` (optional) - Custom ComfyUI base URL | 自訂 ComfyUI 基礎網址(選填)
|
||
- `image` (optional) - Image tensor input | 圖片張量輸入(選填)
|
||
- `image_url` (optional) - External image URLs, one per line | 外部圖片網址,每行一個(選填)
|
||
|
||
**Outputs | 輸出:**
|
||
- `result` - Post status and URL | 發文狀態和網址
|
||
|
||
**Features | 特色功能:**
|
||
- Supports single and multiple images | 支援單圖和多圖
|
||
- Automatic carousel creation for multiple images | 多圖時自動創建輪播
|
||
- Image tensor processing with batch support | 支援批次圖片張量處理
|
||
|
||
---
|
||
|
||
### 🎬 **Thread Publish Video**
|
||
Publish video posts to Threads with intelligent path detection and media container status monitoring.
|
||
|
||
發布影片貼文到 Threads,具備智能路徑檢測和媒體容器狀態監控。
|
||
|
||
**Inputs | 輸入:**
|
||
- `text` (required) - Post content | 貼文內容(必填)
|
||
- `video_path` (required) - Video path or URL | 影片路徑或網址(必填)
|
||
- `ComfyUIHttpsURL` (optional) - Custom ComfyUI base URL | 自訂 ComfyUI 基礎網址(選填)
|
||
|
||
**Outputs | 輸出:**
|
||
- `result` - Post status and URL | 發文狀態和網址
|
||
|
||
**Smart Path Detection | 智能路徑檢測:**
|
||
- **Network URL**: Automatically detected if starts with `http://` or `https://` | 網路網址:以 `http://` 或 `https://` 開頭時自動檢測
|
||
- **Local Path**: All other inputs treated as local file paths | 本地路徑:其他輸入均視為本地檔案路徑
|
||
|
||
**Media Processing | 媒體處理:**
|
||
- Automatic file copying to ComfyUI output directory | 自動複製檔案到 ComfyUI 輸出目錄
|
||
- Status monitoring every 20 seconds | 每 20 秒檢查狀態
|
||
- Support for common video formats (MP4, MOV, AVI, etc.) | 支援常見影片格式
|
||
- File size validation (max 1GB) | 檔案大小驗證(最大 1GB)
|
||
|
||
---
|
||
|
||
### 📈 **Threads History**
|
||
Retrieve your post history from Threads with customizable date ranges.
|
||
|
||
從 Threads 獲取您的發文歷史,可自訂日期範圍。
|
||
|
||
**Inputs | 輸入:**
|
||
- `backfill_days` - Number of days to look back (1-365) | 回溯天數(1-365)
|
||
|
||
**Outputs | 輸出:**
|
||
- `history_content` - Formatted post history | 格式化的發文歷史
|
||
|
||
## Usage Examples | 使用範例
|
||
|
||
### Example Workflow | 範例工作流
|
||
|
||
範例工作流使用了 ollama-gemini 節點來產生圖文提示內容,此節點需自行配置 API 金鑰才能使用 Gemini:
|
||
https://github.com/al-swaiti/ComfyUI-OllamaGemini
|
||
|
||
有關圖像生成模型的部分,可以修改為你自己常用的模型與節點。
|
||
|
||
### Simple Text Post | 簡單文字發文
|
||
1. Configure **Start With Long Live Token** with your API credentials | 使用 API 憑證配置令牌節點
|
||
2. Connect **Publish Thread** and enter your text content | 連接發文節點並輸入文字內容
|
||
3. Execute to post | 執行發文
|
||
|
||
### Image Post with Generated Content | 使用生成內容的圖片發文
|
||
1. Create images using ComfyUI generators | 使用 ComfyUI 生成器創建圖片
|
||
2. Connect image output to **Publish Thread** `image` input | 將圖片輸出連接到發文節點的圖片輸入
|
||
3. Add your text content | 添加文字內容
|
||
4. Execute to post with generated images | 執行以發布包含生成圖片的貼文
|
||
|
||
**Note | 注意**: 支援 ImageBatch/BatchSize,不支援 ImageList 做為容器。可將多張圖片使用 MakeImageBatch 後上傳。
|
||
|
||
### Video Post | 影片發文
|
||
1. Configure **Thread Publish Video** with your content | 配置影片發文節點
|
||
2. Enter video path (local file or URL) | 輸入影片路徑(本地檔案或網址)
|
||
3. Add your text content | 添加文字內容
|
||
4. Execute and wait for processing | 執行並等待處理完成
|
||
|
||
### Multi-Image Carousel | 多圖輪播
|
||
1. In **Publish Thread**, enter multiple image URLs in `image_url` field (one per line) | 在發文節點的圖片網址欄位輸入多行 HTTPS 網址
|
||
2. Add your text content | 添加文字內容
|
||
3. Execute to create a carousel post | 執行創建輪播貼文
|
||
|
||
### Analyze Post History | 分析歷史貼文
|
||
1. Use **Threads History** to retrieve recent posts | 使用歷史節點獲取近期貼文
|
||
2. Set `backfill_days` to desired time range | 設定回溯天數
|
||
3. Review formatted output for content analysis | 查看格式化輸出進行內容分析
|
||
|
||
## File Structure | 檔案結構
|
||
|
||
```
|
||
ComfyUI-Thread/
|
||
├── __init__.py # Module initialization | 模組初始化
|
||
├── nodes.py # Main node implementations | 主要節點實作
|
||
├── requirements.txt # Python dependencies | Python 相依性
|
||
└── token/ # Auto-generated config directory | 自動生成的配置目錄
|
||
├── thread_config.json # API credentials | API 憑證
|
||
└── url.json # ComfyUI URL configuration | ComfyUI 網址配置
|
||
```
|
||
|
||
## Requirements | 系統需求
|
||
|
||
- ComfyUI
|
||
- Python 3.8+
|
||
- PIL (Pillow)
|
||
- numpy
|
||
- torch
|
||
- requests
|
||
- threads_sdk
|
||
|
||
## API Limitations | API 限制
|
||
|
||
- **Scope**: Only works with your own Threads account | 僅適用於您自己的 Threads 帳號
|
||
- **Rate Limits**: Subject to Meta's API rate limits (250 posts per 24 hours) | 受 Meta API 速率限制約束(24小時內250則貼文)
|
||
- **Video Requirements**: Follows Threads' strict video format requirements | 遵循 Threads 嚴格的影片格式要求
|
||
- **Image Requirements**: Must be publicly accessible URLs or properly configured HTTPS | 圖片必須是可公開存取的網址或正確配置的 HTTPS
|
||
|
||
## Configuration Notes | 配置說明
|
||
|
||
### ComfyUI HTTPS URL | ComfyUI HTTPS 網址
|
||
- 此網址必須使用 ngrok 等建立 HTTPS 對外的網址
|
||
- 填入一次之後會記憶在 `url.json` 檔案中
|
||
- 網址變更時才需要重新填寫
|
||
- 沒有填過則預設為 127.0.0.1,image 節點會無法傳圖只能使用網址
|
||
|
||
## Troubleshooting | 疑難排解
|
||
|
||
### Common Issues | 常見問題
|
||
|
||
**"Please execute StartWithLongLiveToken node first"**
|
||
- Make sure you've run the token configuration node before posting
|
||
- 確保在發文前已執行令牌配置節點
|
||
|
||
**"Param image_url is not a valid URL"**
|
||
- Check that your image URLs are complete and accessible
|
||
- Ensure URLs start with `https://`
|
||
- 檢查圖片網址是否完整且可存取
|
||
|
||
**Image not displaying in posts | 發送成功圖片無法顯示,只有文字**
|
||
- Verify your ComfyUI URL is accessible from the internet
|
||
- Check the `ComfyUIHttpsURL` configuration
|
||
- 確認您的 ComfyUI 網址可從網際網路存取
|
||
|
||
**Video processing timeout | 影片處理超時**
|
||
- Check video file size (max 1GB)
|
||
- Verify video format compatibility
|
||
- Ensure stable internet connection
|
||
- 檢查影片檔案大小(最大 1GB)
|
||
- 確認影片格式相容性
|
||
|
||
**Local video file not found | 本地影片檔案未找到**
|
||
- Verify the file path is correct
|
||
- Check file permissions
|
||
- Ensure the file exists and is accessible
|
||
- 確認檔案路徑正確
|
||
- 檢查檔案權限
|
||
|
||
## License | 授權
|
||
|
||
MIT License
|
||
|
||
## Support | 支援
|
||
|
||
If you encounter any issues or have questions, please open an issue on GitHub.
|
||
|
||
如果您遇到任何問題或有疑問,請在 GitHub 上開啟 issue。
|
||
|
||
---
|
||
|
||
**Note**: This project is not officially affiliated with Meta or Threads. Use responsibly and in accordance with Threads' Terms of Service.
|
||
|
||
**注意**:此專案與 Meta 或 Threads 無官方關聯。請負責任地使用並遵守 Threads 的服務條款。 |