Skip to content

goelo/tinycreator

Repository files navigation

TinyTweet - AI驱动的Twitter Thread生成工具

一个基于AI的Twitter Thread内容和配图自动生成工具,支持批量生成高质量的社交媒体内容。

🚀 功能特色

  • 智能内容生成: 基于话题自动生成Twitter Thread内容
  • 配图自动生成: 根据内容自动生成配套的封面图片
  • 批量处理: 支持一次性处理多个话题
  • 灵活配置: 可自定义API参数和生成策略
  • 社交媒体发布: 支持自动发布到Twitter/X平台

📋 环境要求

  • Python 3.7+
  • 有效的API Token (tuzi API)
  • 网络连接

🛠 安装配置

1. 克隆项目

git clone <repository-url>
cd tinytweet

2. 安装依赖

pip install -r requirements.txt

3. 环境配置

创建 .env 文件并配置以下参数:

# 必需配置
OPENAI_API_KEY=your_api_key_here
API_TOKEN=your_api_key_here

# 可选配置
OPENAI_API_BASE=https://api.tu-zi.com/v1
OPENAI_MODEL=gpt-4o-all
IMAGE_MODEL=gpt-4o-image
MAX_WORKERS=3
API_RATE_LIMIT=1.0

# Twitter API配置 (如需发布功能)
TWITTER_API_KEY=your_twitter_api_key
TWITTER_API_SECRET=your_twitter_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret

📝 使用指南

步骤1: 准备话题列表

创建 topics.txt 文件,每行一个话题:

副业始终赚不到钱,大多是你忽略了这一步
如何在30天内掌握一项新技能
为什么有些人总是比别人更有创造力

步骤2: 生成Thread内容和图片提示词

运行批量生成脚本:

python3 gen_batch.py

这将会:

  • 为每个话题生成Thread内容
  • 生成对应的图片提示词
  • 保存到 output/thread_xx/ 目录

生成的文件结构:

output/
├── thread_01/
│   ├── thread_01.txt    # Thread内容
│   └── image_01.txt     # 图片提示词
├── thread_02/
│   ├── thread_02.txt
│   └── image_02.txt
└── ...

步骤3: 生成配图

有两种方式生成图片:

批量生成所有图片

python3 gen_images.py

生成单个Thread的图片

python3 gen_images.py 1    # 生成thread_01的图片
python3 gen_images.py 5    # 生成thread_05的图片

生成的图片将保存为:

output/thread_01/
├── generated_image_01_1.png
├── image_response_01.json
├── image_text_01.md
└── ...

步骤4: 发布到社交媒体

python3 post_to_x.py

🎨 图片提示词模板

项目支持自定义图片提示词模板。编辑 prompt/📄 cover_prompts.json 文件来添加或修改模板:

[
  {
    "prompt": "黑白结构卡片风格封面图,上半部分黑底,主标题黄色大字:\"{{主标题}}\";",
    "style": "black-white-contrast"
  },
  {
    "prompt": "极简白底设计,居中大号黑色标题:\"{{标题}}\",适合知识分享型内容",
    "style": "minimal-white"
  }
]

🔧 高级配置

自定义Thread提示词模板

编辑 prompt_template.py 文件来自定义Thread内容生成的提示词模板。

API参数调优

.env 文件中调整以下参数:

  • MAX_WORKERS: 图片生成并发数 (默认: 3)
  • API_RATE_LIMIT: API调用间隔秒数 (默认: 1.0)
  • OPENAI_MODEL: 文本生成模型 (默认: gpt-4o-all)
  • IMAGE_MODEL: 图片生成模型 (默认: gpt-4o-image)

📁 项目结构

tinytweet/
├── gen_batch.py           # 批量生成Thread和图片提示词
├── gen_images.py          # 图片生成工具
├── gen_topics.py          # 话题生成工具
├── post_to_x.py          # 社交媒体发布工具
├── prompt_template.py     # 提示词模板
├── topics.txt            # 话题列表
├── requirements.txt      # 依赖列表
├── .env                  # 环境配置
├── prompt/
│   └── 📄 cover_prompts.json  # 图片提示词模板
└── output/               # 生成内容输出目录
    ├── thread_01/
    ├── thread_02/
    └── ...

🚨 注意事项

  1. API配额: 注意API调用次数限制,合理设置调用间隔
  2. 内容审核: 生成的内容建议人工审核后再发布
  3. 版权问题: 确保生成的图片符合使用规范
  4. 网络环境: 某些网络环境可能需要配置代理

🔍 故障排除

常见错误及解决方案

1. method_whitelist 错误

Retry.__init__() got an unexpected keyword argument 'method_whitelist'

解决方案: 更新urllib3版本或使用项目提供的修复版本

2. API Token无效

❌ 未设置API_TOKEN环境变量

解决方案: 检查.env文件中的API_TOKEN配置

3. 网络连接问题

🌐 连接错误: Connection failed

解决方案: 检查网络连接或配置代理

🤝 贡献指南

  1. Fork 本项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

📞 支持与反馈

如有问题或建议,请:


⭐ 如果这个项目对你有帮助,请给个星标支持!

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors