Pollinations.AI 开发指南

1- Pollinations.AI 开发指南

1.1- 简介与核心功能

1.1.1- 什么是 Pollinations.AI

网址:https://pollinations.ai/

Pollinations.AI 是一家总部位于柏林的开源生成 AI 初创公司,提供最易于使用的免费文本和图像生成 API,无需注册或 API 密钥。保障用户隐私,零数据存储和完全匿名使用。
image

1.1.2- 主要特点

  • 🔓 100% 开源
  • 🆓 免费使用
  • 🔒 简单和隐私:无需登录,无需密钥,无数据存储
  • 🖼️ 像普通图像或文本一样嵌入
  • 🌍 超过 50,000 名活跃用户,每月生成超过 2000 万张图像
  • 🤝 被各种开源 LLM、机器人和社区使用
  • 🎣 易于使用的 React Hooks
  • 🤖 自主开发:通过 GitHub 问题,由 MentatBot 编码助手实现的功能

graph LR
    Q[Bots - Discord, Telegram, WhatsApp] --> L1
    
    N[30+ Mobile and Web Apps] --> L1
    N --> L2
    
    A[pollinations.ai Web Frontend] --> L1
    A --> L2
    
    R[AI Agents - Qwen, Sillytavern, ...] --> L1
    
    L1[Image CDN] --> B
    L2[Text CDN] --> C
    
    B[image.pollinations.ai - AWS EC2 CPU] --> F[Azure OpenAI - Prompt Enhancing]
    B --> S[LlamaGuard - Safety Checker]
    B --> M[llmplayground.net - Custom FLUX models]
    F --> E[Translation Service - 1 GPU VM]
    E --> D[FLUX image generation model - 2-6 GPU VMs on AWS]
    
    C[text.pollinations.ai - AWS EC2 CPU] --> P[karma.yt - Realtime News]
    C --> SC[Scaleway API]
    C --> DS[Deepseek API]
    C --> G[Azure-hosted Serverless LLMs]
    C --> CF[Cloudflare AI]
    SC --> MI[Mistral Models]
    SC --> QW[Qwen Models]
    SC --> LL[Llama Models]
    DS --> DM[Deepseek Models]
    G --> H[OpenAI]
    G --> K[Claude]
    CF --> CFM[Llama & Deepseek Models]

1.1.3- 核心功能矩阵

功能模块 支持方式 特色说明
图像生成 网页/API/SDK 支持 20+ 艺术风格,最高 8K 分辨率
文本生成 网页/API/CLI 多语言支持,上下文理解能力
开发者工具 React Hooks/CLI 一键集成到 Web 应用
部署方案 Serverless/本地 支持 Docker 容器化部署

1.2- 系统要求

  • 硬件:支持 GPU 加速(推荐 NVIDIA RTX 系列)
  • 软件
    • Python 3.8+
    • Node.js 16+
    • Docker(可选)

1.3- 开发环境搭建

1.3.1- 本地开发准备

  1. 克隆仓库
git clone https://github.com/pollinations/pollinations.git
cd pollinations
  1. 安装依赖
# Python环境
python -m pip install -r requirements.txt

# Node.js环境
npm install --prefix pollinations-react

1.3.2- 启动服务

# 启动图像生成服务
python -m image_pollinations_ai

# 启动文本生成服务
python -m text_pollinations_ai

# 启动前端应用
npm run dev --prefix pollinations.ai

1.4- API 使用指南

1.4.1- 图像生成 API

基础 API 调用格式:

GET https://image.pollinations.ai/prompt/{prompt}

API 响应格式:

{
  "status": "success",
  "data": {
    "image_url": "https://image.pollinations.ai/output/xxx.jpg",
    "generation_id": "gen_abc123",
    "model_used": "flux-pro",
    "processing_time": 2.5,
    "prompt_enhanced": "detailed beautiful sunset over ocean"
  },
  "meta": {
    "credits_used": 1,
    "credits_remaining": 999
  }
}

错误响应示例:

{
  "status": "error",
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "请求频率超过限制",
    "details": {
      "retry_after": 60,
      "limit": "50/minute"
    }
  }
}

参数说明:

  • prompt (必填):您想要生成的图像的文本描述。应该进行 URL 编码。
  • model:用于生成的模型。可选值包括:
    • flux(默认模型)
    • flux-pro(加强效果)
    • flux-realism(写实风格)
    • flux-anime(动漫风格)
    • flux-3d(3D 风格)
    • flux-cablyai
    • turbo(快速生成)
  • width:生成图像的宽度。默认值:1024
  • height:生成图像的高度。默认值:1024
  • seed:用于生成可重复结果的种子值
  • nologo:设置为 ‘true’ 来关闭右下角的网站 logo。默认值:false
  • private:设置为 ‘true’ 以防止图像出现在公共信息流中。默认值:false
  • enhance:设置为 ‘true’ 以启用提示增强。默认值:false
  • safe:设置为 ‘true’ 以启用严格的 NSFW 内容过滤。默认值:false

1.4.2- 实际应用示例

HTML 嵌入示例:

<img 
  src="https://image.pollinations.ai/prompt/A%20beautiful%20sunset?width=1280&height=720&seed=123&enhance=true&private=true&nologo=true&safe=true&model=flux-realism" 
  alt="Beautiful sunset"
/>

1.5- 图像生成 API

通过 URL 传递提示词并附加参数调整生成结果:

https://image.pollinations.ai/prompt/{prompt}?width={宽度}&height={高度}&seed={随机种子}&model={模型名称}&nologo={是否去水印}&safe={是否安全模式}

1.5.1- 参数说明

参数名 说明 示例值
width 图片宽度(像素) 1024
height 图片高度(像素) 768
seed 随机种子(0-9999) 42
model 指定生成模型 flux
nologo 去除水印(true/false) true
safe 安全模式(true/false) false
enhance 增强细节(需特定模型) true
private 生成私有版权图片 true

1.6- 文本生成 API

1.6.1- URL 调用

https://text.pollinations.ai/{prompt}

1.6.2- OpenAI 兼容格式

请求地址:

https://text.pollinations.ai/openai/

请求体示例:

{
  "messages": [
    {"role": "user", "content": "你的提示词"}
  ],
  "model": "text-davinci-003"
}

1.7- 音频生成 API

https://text.pollinations.ai/{prompt}?model=openai-audio&voice={声音名称}

1.7.1- 声音预设

  • alice
  • bob
  • 其他预设声音…

1.8- 模型列表 API

GET https://text.pollinations.ai/models

返回示例:

[
  {
    "name": "claude-hybridspace",
    "type": "text",
    "description": "混合空间文本模型"
  }
]

1.9- 高级调用方式

1.9.1- 结构化提示词生成

示例 Markdown 图片调用:

![image](https://image.pollinations.ai/prompt/A%20futuristic%20cityscape%20with%20neon%20lights?width=1280&height=720)

提示词要素建议包含:

  • 场景描述
  • 风格形容词
  • 角色特征

1.10- 注意事项

  • 🚫 无需 API 密钥
  • 🔗 URL 参数需要编码(如空格转为 %20
  • 🔄 模型名称兼容性(例:claude-hybridspaceclaude hybridspace
  • ⚠️ 安全模式会过滤敏感内容
  • 📄 完整文档请参考官方 GitHub 仓库

1.11- 生图智能体

Pollinations.AI 提供的 API 支持多种调用方式,而且出图比较稳定,使用 HTML (Image Embedding) 方式,将其做成 Cherry Studio 的 智能体

将下面这段内容填入到 提示词 部分

#角色:你是一个图像生成助手

#作者:dandan
#时间:2025.03.03
#版本:v1

#技能:能根据用户输入的简单描述,想象并详细描述出一幅完整的画面。

#规则:
1.用户输入的简单描述,插入到【输出】的{user_prompt}部分
2.将详细描述插入到【输出】的{ai_chinese_prompt}部分
3.将详细描述翻译成英文,插入到【输出】的{ai_english_prompt}部分
4.如果用户的描述中包含高度信息,直接插入到【输出】的{width}部分,否则插入默认值 1280
5.如果用户的描述中包含宽度信息,直接插入到【输出】的{height}部分,否则插入默认值 1280
6.如果出现比例,指宽:高,宽度默认用1280,根据比例计算高度,插入到【输出】的{height}部分
7.随机生成一个整数,插入到【输出】的{seed}部分
8.根据用户对画面风格的描述,选择对应的模型。如果用户没有描述,从下面 7 个模型中随机选一个模型,插入到【输出】的{model}部分
- `flux`(默认模型)
- `flux-pro`(加强效果)
- `flux-realism`(写实风格)
- `flux-anime`(动漫风格)
- `flux-3d`(3D 风格)
- `flux-cablyai`(未知)
- `turbo`(快速生成)
9.不需将{ai_english_prompt}显示出来。

# 2- 图像输出:

![image](https://image.pollinations.ai/prompt/{ai_english_prompt}?width={width}&height={height}&seed={seed}&enhance=true&private=true&nologo=true&safe=true&model={model})



# 3- html输出:

<html>
  <title>Image Generator</title>
  <body>
    <h2>{ai_chinese_prompt}</h2>
    <img 
      src="https://image.pollinations.ai/prompt/{ai_english_prompt}?width={width}&height={height}&seed={seed}&enhance=true&private=true&nologo=true&safe=true&model={model}" 
      alt="{user_prompt}"
    />
  </body>
</html>

[!NOTE]
这段提示词的作用,就是将用户的描述,生成一段详细的画面描述,然后翻译成英文,同时提取用户描述中其他可用信息,一起来生成一个图片的地址

注意:

[!attention]
有时候会加载不出来,可能是超时的原因,可以点击重新生成

1.12- 高级功能开发

1.12.1- 自定义生成参数

# Python SDK高级用法示例
from pollinations import ImageGenerator

generator = ImageGenerator(
    model='stable-diffusion-xl',
    width=2560,
    height=1440,
    num_inference_steps=50,
    guidance_scale=7.5
)

image = generator.generate("Cyberpunk cityscape with neon lights")
image.save("output.jpg")

1.13- 模型管理

# 列出可用模型
pollinations models list

# 切换默认模型
pollinations config set default_model flux

1.14- 生产环境部署

1.14.1- Docker 部署方案

FROM python:3.9-slim

WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .

CMD ["python", "-m", "image_pollinations_ai"]

1.14.2- Kubernetes 配置示例

apiVersion: apps/v1
kind: Deployment
metadata:
  name: pollinations-image
spec:
  replicas: 3
  selector:
    matchLabels:
      app: pollinations-image
  template:
    metadata:
      labels:
        app: pollinations-image
    spec:
      containers:
      - name: pollinations-image
        image: pollinationsai/image-generator:latest
        resources:
          limits:
            nvidia.com/gpu: 1

1.15- 性能优化指南

1.15.1- 硬件加速配置

# 启用CUDA加速并指定GPU设备
export CUDA_VISIBLE_DEVICES=0,1  # 使用多GPU
export CUDA_MEMORY_FRACTION=0.8  # 限制GPU内存使用

# 配置TensorRT优化
python -m pollinations optimize \
  --model stable-diffusion-xl \
  --precision fp16 \
  --batch-size 4 \
  --workspace-size 4096  # 4GB workspace

# 启用CPU多线程优化
export OMP_NUM_THREADS=8  # OpenMP线程数
export MKL_NUM_THREADS=8  # Intel MKL线程数

性能参数调优建议:

参数 说明 推荐值 影响
batch_size 批处理大小 2-8 内存占用↑,吞吐量↑
num_workers 数据加载线程数 CPU 核心数/2 IO 性能↑
precision 计算精度 fp16/bf16 内存占用↓,速度↑
cache_size 缓存大小 可用内存的 30% 响应速度↑

监控指标阈值:

  • GPU 利用率 > 80%
  • GPU 内存使用率 < 90%
  • 平均响应时间 < 2s
  • 错误率 < 0.1%

1.15.2- 缓存策略

# 启用本地缓存
generator = ImageGenerator(cache_dir="/mnt/ssd/cache")

# 设置缓存有效期
generator.set_cache_ttl(3600)  # 1小时

1.16- 监控与日志

1.16.1- Prometheus 指标

scrape_configs:
- job_name: 'pollinations'
  static_configs:
  - targets: ['localhost:9090']

1.16.2- 日志配置

# 配置结构化日志
import logging
from pollinations.logging import configure_logging

configure_logging(
    level=logging.INFO,
    format='%(asctime)s %(levelname)s %(message)s',
    file='pollinations.log'
)

1.17- 安全指南

1.17.1- 输入验证

from pollinations.security import validate_prompt

try:
    validate_prompt(prompt, max_length=200, allowed_keywords=['AI', 'art'])
except ValidationError as e:
    handle_error(e)

1.17.2- 速率限制

# 配置API速率限制(50次/分钟)
pollinations config set rate_limit 50

1.18- 版本管理

1.18.1- 语义化版本说明

MAJOR.MINOR.PATCH
例如:2.1.3
- MAJOR:重大架构变更
- MINOR:新增功能
- PATCH:修复 bug

1.18.2- 版本升级

# 升级到最新版本
pip install --upgrade pollinations-sdk

# 升级到指定版本
npm install @pollinations/[email protected]

1.19- 贡献指南

1.19.1- 代码提交规范

feat(image): 添加超分辨率生成功能
fix(text): 修复多语言生成异常
docs: 更新API文档

1.19.2- 测试流程

# 运行单元测试
python -m pytest tests/unit

# 运行集成测试
python -m pytest tests/integration

1.20- 附录 A:错误码参考

错误码 描述 解决方案
422 无效请求 检查输入参数格式
429 请求过多 降低请求频率
503 服务不可用 检查服务状态

1.21- 附录 B:艺术风格列表

风格名称 示例描述
oil_painting 古典油画风格
digital_art 数字艺术风格
hyperrealism 超写实风格
abstract 抽象风格

(注:实际风格列表可通过 pollinations styles list 命令获取最新信息)