Skip to content
RemRam1Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

图片转小红书帖子生成器

智能分析图片内容,自动生成小红书风格文案的工具。

功能特点

  • 📸 批量图片上传:支持拖拽、点击上传多张图片
  • 🤖 AI智能生成:调用火山引擎视觉模型分析图片,生成小红书风格文案
  • ☁️ TOS云存储:图片自动上传到火山引擎TOS,生成公网访问URL
  • 👥 多账号管理:自动将图片和文案分配到49个账号
  • 🏷️ 标签随机分配:支持Tag池,每个帖子随机选择标签
  • 📊 批次管理:支持队列处理,自动管理并发请求
  • 💾 CSV导出:导出账号ID、图片文件名、帖子文案、Tag的完整表格

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置TOS(必需)

方式一:环境变量

# Windows PowerShell
$env:TOS_ACCESS_KEY="your_access_key"
$env:TOS_SECRET_KEY="your_secret_key"
$env:TOS_BUCKET="your_bucket_name"

# Linux/Mac
export TOS_ACCESS_KEY="your_access_key"
export TOS_SECRET_KEY="your_secret_key"
export TOS_BUCKET="your_bucket_name"

方式二:使用.env文件(推荐)

# 1. 复制模板
cp .env.example .env

# 2. 编辑.env文件,填入配置
# 3. 安装dotenv
pip install python-dotenv

详细配置说明请查看 CONFIGURATION.md

3. 启动后端服务

python server.py

服务将运行在 http://localhost:5000

启动后查看控制台,确认TOS配置成功:

✅ TOS客户端初始化成功: your_bucket_name

4. 打开前端页面

在浏览器中打开 index.html 文件,或者通过以下方式:

# Windows
start index.html

# Mac
open index.html

# Linux
xdg-open index.html

使用说明

步骤1:上传图片

  • 点击上传区域或拖拽图片到上传区
  • 支持 JPG、PNG、GIF、WEBP 等格式
  • 可同时上传多张图片

步骤2:配置参数

每个账号分配图片数量

  • 设置每个账号将获得多少张图片
  • 图片将随机分配到账号

Tag 标签池

  • 添加标签,例如:#香港 #inner酒店 #落日
  • 标签将从池中随机选择添加到帖子

每个帖子随机选择 Tag 数量

  • 从 Tag 池中随机选择指定数量的标签
  • 设置为 0 则不添加标签

自定义规则(可选)

  • 输入特殊要求,如强调产品特点、突出价格优势等

步骤3:生成和导出

  • 点击"开始生成"按钮启动批次处理
  • 查看实时进度和预览结果
  • 点击"导出CSV"下载完整数据

API 说明

上传图片

POST /api/upload
Content-Type: multipart/form-data

返回:
{
  "batch_id": "uuid",
  "uploaded_count": 10,
  "files": ["image1.jpg", "image2.jpg", ...]
}

开始处理

POST /api/process
Content-Type: application/json

{
  "batch_id": "uuid",
  "images_per_account": 1,
  "tag_pool": ["#香港", "#酒店"],
  "tags_per_post": 1,
  "custom_rules": ""
}

返回:
{
  "batch_id": "uuid",
  "message": "Processing started",
  "total_images": 10,
  "estimated_posts": 10
}

查询状态

GET /api/status/{batch_id}

返回:
{
  "status": "processing",
  "total": 10,
  "processed": 5,
  "results": [...]
}

导出结果

GET /api/export/{batch_id}

返回:CSV文件下载

配置说明

TOS配置(必需)

图片需要通过TOS上传到云端,生成公网访问URL供API使用。详细配置步骤请查看 CONFIGURATION.md

环境变量:

  • TOS_ACCESS_KEY: 访问密钥ID
  • TOS_SECRET_KEY: 访问密钥密钥
  • TOS_ENDPOINT: TOS服务端点(默认:tos-cn-beijing.volces.com)
  • TOS_REGION: 地域代码(默认:cn-beijing)
  • TOS_BUCKET: 存储桶名称

重要: Bucket需要设置为"公共读"权限,否则生成的URL无法访问。

火山引擎API配置

在 server.py 中的配置(如需修改):

VOLCANO_API_URL = "https://ark.cn-beijing.volces.com/api/v3/responses"
VOLCANO_API_KEY = "your-api-key"
VOLCANO_MODEL = "doubao-seed-2-0-pro-260215"

并发控制

MAX_CONCURRENT_REQUESTS = 5  # 最大并发API请求数

账号列表

账号ID存储在 account_id.txt 中,每行一个账号ID。

输出格式

导出的CSV文件包含以下列:

账号ID 图片文件名 帖子文案 Tag
49707554425 image1.jpg 哇!这个地方真的太美了... #香港 #落日

技术栈

后端

  • Python 3.7+
  • Flask:Web框架
  • aiohttp:异步HTTP客户端
  • asyncio:异步处理

前端

  • 原生 HTML/CSS/JavaScript
  • 响应式设计
  • 拖拽上传

云存储

  • 火山引擎TOS:对象存储服务
  • 公网访问URL生成

AI模型

  • 火山引擎:doubao-seed-2-0-pro-260215
  • 视觉理解 + 文本生成

注意事项

  1. TOS配置:必须正确配置TOS才能正常使用,Bucket需设置为公共读权限
  2. API限制:火山引擎API有调用频率限制,请合理设置并发数
  3. 图片大小:建议单张图片不超过10MB
  4. 批次处理:大批量图片建议分批处理
  5. 网络稳定:确保网络连接稳定,API调用超时时间为60秒
  6. 存储费用:TOS存储和流量会产生费用,请注意控制使用量

故障排查

TOS配置问题

  • 检查环境变量是否正确设置
  • 确认Bucket名称、Access Key和Secret Key正确
  • 验证Bucket权限为"公共读"
  • 查看控制台输出确认TOS初始化状态

服务启动失败

  • 检查端口5000是否被占用
  • 确认Python依赖已正确安装(包括tos库)

图片上传失败

  • 检查文件格式是否支持
  • 确认文件大小不超过限制
  • 验证TOS配置是否正确

API调用失败

  • 检查API Key是否正确
  • 确认网络连接正常
  • 查看火山引擎API配额
  • 确认图片URL可公网访问

导出失败

  • 确认批次处理已完成
  • 检查输出目录权限

许可证

MIT License

更新日志

v1.1.0 (2026-03-30)

  • 集成火山引擎TOS云存储
  • 支持图片公网URL访问
  • 添加TOS配置文档和示例
  • 优化图片上传流程

v1.0.0 (2026-03-30)

  • 初始版本发布
  • 支持批量图片上传
  • 集成火山引擎视觉模型
  • 实现多账号分配
  • 添加Tag随机分配功能
  • 支持CSV导出

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages