RedInk README

The project's README from github.com/HisMax/RedInk. As one markdown file: README.md.

中文 | English

GitHub Stars License Docker Pulls GitHub Release

RedInk - Inspiration at Your Fingertips, Making Creation Effortless

Official Site → Redink.top

Various social media covers generated with RedInk

Various social media covers generated with RedInk - AI-powered, consistent style, accurate text


✨ Showcase

Type One Sentence, Get Complete Image & Text Posts

Step 1: Smart Outline Generation

Outline Example

Features:

  • ✏️ Edit content for each page
  • 🔄 Reorder pages (not recommended)
  • ✨ Custom description per page (highly recommended)
🎨 Step 2: Cover Page Generation

Cover Example

Cover Highlights:

  • 🎯 Matches your personal style
  • 📝 Accurate text rendering
  • 🌈 Visually consistent and coordinated
📚 Step 3: Batch Content Page Generation

Content Page Example

Generation Notes:

  • ⚡ Concurrent generation for all pages (up to 15 by default)
  • ⚠️ Disable high concurrency in settings if your API doesn't support it
  • 🔧 Regenerate individual pages you're not satisfied with

🏗️ Tech Stack

🔧 Backend

Technology Description
Language Python 3.11+
Framework Flask
Package Manager uv
Text AI Gemini 3
Image AI 🍌 Nano Banana Pro

🎨 Frontend

Technology Description
Framework Vue 3 + TypeScript
Build Tool Vite
State Management Pinia
Styling Modern CSS

📦 Deployment

The simplest way — one command to start:

docker run -d -p 12398:12398 -v ./history:/app/history -v ./output:/app/output histonemax/redink:latest

Visit http://localhost:12398 and configure your API Key in the Settings page.

Using docker-compose (optional):

Download docker-compose.yml, then:

docker-compose up -d

Docker Notes:


Option 2: Local Development

Prerequisites:

1. Clone the Repository

git clone https://github.com/HisMax/RedInk.git
cd RedInk

2. Configure API Services

Copy the config templates:

cp text_providers.yaml.example text_providers.yaml
cp image_providers.yaml.example image_providers.yaml

Edit the config files with your API Key and service settings, or configure them later via the Settings page in the web UI.

3. Install Backend Dependencies

uv sync

4. Install Frontend Dependencies

cd frontend
pnpm install

5. Start the Services

Run the start script to automatically install dependencies and launch both frontend and backend:

The browser will automatically open at http://localhost:5173

Manual Start

Start Backend:

uv run python -m backend.app

Visit: http://localhost:12398

Start Frontend:

cd frontend
pnpm dev

Visit: http://localhost:5173


🔧 Configuration

Configuration Methods

The project supports two configuration methods:

  1. Web UI (Recommended): Visual configuration via the Settings page after starting the service
  2. YAML Files: Edit config files directly

Text Generation Config

Config file: text_providers.yaml

# Active provider
active_provider: openai

providers:
  # OpenAI or compatible API
  openai:
    type: openai_compatible
    api_key: sk-xxxxxxxxxxxxxxxxxxxx
    base_url: https://api.openai.com/v1
    model: gpt-4o

  # Google Gemini (native API)
  gemini:
    type: google_gemini
    api_key: AIzaxxxxxxxxxxxxxxxxxxxxxxxxx
    model: gemini-2.0-flash

Image Generation Config

Config file: image_providers.yaml

# Active provider
active_provider: gemini

providers:
  # Google Gemini image generation
  gemini:
    type: google_genai
    api_key: AIzaxxxxxxxxxxxxxxxxxxxxxxxxx
    model: gemini-3-pro-image-preview
    high_concurrency: false

  # OpenAI compatible API
  openai_image:
    type: image_api
    api_key: sk-xxxxxxxxxxxxxxxxxxxx
    base_url: https://your-api-endpoint.com
    model: dall-e-3
    high_concurrency: false

High Concurrency Mode

⚠️ Not recommended for GCP $300 trial accounts — may trigger rate limits and cause generation failures.


⚠️ Notes

  1. API Quota Limits:

    • Be aware of Gemini and image generation API call quotas
    • GCP trial accounts should keep high concurrency disabled
  2. Generation Time:

    • Outline generation usually takes 15-30 seconds
    • Image generation takes time — please be patient (don't leave the page)

🤝 Contributing

Issues and Pull Requests are welcome!

If this project helps you, please give it a Star ⭐


Changelog

v1.4.3 (2026-06-30)

v1.4.2 (2026-03-15)

v1.4.1 (2025-12-29)

v1.4.0 (2025-11-30)

v1.3.0 (2025-11-26)

v1.2.0 (2025-11-26)


Community & Support

Contact the Author

Support the Project

Buy me a coffee

Star History

Star History Chart


📄 License

Personal Use - CC BY-NC-SA 4.0

This project is licensed under CC BY-NC-SA 4.0

You are free to:

Under the following terms:

Commercial License

If you wish to use this project for commercial purposes (including but not limited to):

Please contact the author for a commercial license:

The author will provide flexible commercial licensing options based on your specific use case.


Disclaimer

This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability.


🙏 Acknowledgments


👨‍💻 Author

Mozi (Histone) - AI Entrepreneur

"Let AI do the creative work for us"


If this project helped you, share it with others! ⭐

Questions or suggestions? Feel free to open an Issue!

RedInk (HisMax/RedInk)

Searching Database…

5.6K ·GitHub
Что это такое?RedInk превращает одно предложение в готовый пост для Xiaohongshu (Red Note) с подходящей обложкой, картинками для содержательных страниц и текстом. Для текста используется Gemini, для картинок — Nano Banana Pro.
Это веб-приложение, которое я разворачиваю у себя, или библиотека, которую я подключаю?Это веб-приложение, которое разворачивается у себя: серверная часть на Python/Flask, клиентская часть на Vue 3 + TypeScript. Это не библиотека.
Как запустить RedInk?Проще всего через Docker: запустите официальный образ одной командой и настройте API-ключ на странице Settings в веб-интерфейсе. Либо склонируйте репозиторий и запустите start.sh (macOS/Linux) или start.bat (Windows) для локальной установки в один клик.
Нужны ли мне свои API-ключи для Gemini и генерации картинок?Да. Образ Docker поставляется без API-ключей, поэтому нужно указать свои ключи провайдера текста (Gemini или совместимого с OpenAI) и провайдера картинок (Nano Banana Pro или совместимого) через интерфейс Settings или YAML-файлы конфигурации.
Есть ли подводные камни у режима высокой параллельности?Режим высокой параллельности генерирует до 15 картинок одновременно, но может привести к ограничениям запросов (rate limits). В README прямо предупреждается, что включать его не стоит на пробных аккаунтах GCP с кредитом на $300.
На каких платформах работает RedInk?Запускается через Docker или через стартовые скрипты для macOS, Linux и Windows.
Сохраняются ли где-нибудь моя история и API-ключи?Всё работает локально, на вашем сервере: история и готовые картинки сохраняются в вашей файловой системе через подключённые тома Docker, а API-ключи в интерфейсе скрыты и никуда не отправляются.
Как на самом деле выглядит процесс генерации?Вы вводите одно предложение, RedInk создаёт умный план, который можно редактировать постранично, затем рисует стилизованную обложку и пакетно генерирует все картинки содержательных страниц параллельно (по умолчанию до 15 сразу).
Можно ли использовать провайдеров, кроме Google Gemini?Да. В RedInk есть единый текстовый клиент, который поддерживает Google Gemini и API, совместимые с OpenAI, с автоматическим переключением, а также провайдеров картинок вроде Nano Banana Pro, GPT Image или других совместимых API.
Можно ли перерисовать одну картинку, если она мне не понравилась?Да. Отдельные страницы можно перерисовать, при этом RedInk сохраняет полный контекст (обложку, план и ваш исходный запрос), поэтому новая картинка остаётся визуально согласованной с остальным постом.
Creator
HisMax
Size
27.4 MB
Stars
5.6K
Updated
CommitJun 30
Age
10mo
Commits · 90 Days