Python client library for Pollinations.AI API
Project description
PollinationsAPI Python Client
A developer-friendly Python SDK for interacting with the Pollinations API, supporting multimodal AI features: image generation, text generation (including OpenAI-compatible chat), vision (image analysis), speech-to-text, and text-to-speech.
Features
- Image Generation: Create images from text prompts with multiple model options.
- Text Generation: Generate or complete text, including OpenAI-compatible chat and streaming.
- Vision (Image Analysis): Describe or answer questions about images (from URL or local files).
- Speech-to-Text: Transcribe audio files to text.
- Text-to-Speech: Synthesize speech from text, save as MP3.
- Model Listing: List available image, text, and voice models.
- Real-time Feeds: Subscribe to live image/text generation events via SSE.
Installation
You can install through PIP:
pip install pollinations-api
pip install requests
pip install sseclient-py # For streaming (SSE) support
Quick Start
from pollinations_api import PollinationsAPI, PollinationsAPIError
api = PollinationsAPI(referrer="my-app") # Optionally add a backend Bearer token
# Image Generation
try:
img_bytes = api.generate_image("A beautiful sunset over ocean", width=512, height=512, nologo=True, save_to="sunset.jpg")
print("Image saved to sunset.jpg")
except PollinationsAPIError as e:
print(e)
# Text Generation
try:
text = api.generate_text("Explain quantum computing simply", model="openai")
print("Text generation result:", text)
except PollinationsAPIError as e:
print(e)
# OpenAI-Compatible Chat (non-streaming)
try:
response = api.openai_chat_completion(
model="openai",
messages=[
{"role": "system", "content": "You are an assistant."},
{"role": "user", "content": "Who won the world cup in 2018?"}
]
)
print("Chat completion:", response['choices'][0]['message']['content'])
except PollinationsAPIError as e:
print(e)
Usage Examples
1. Image Generation
api.generate_image(
prompt="A cyberpunk cityscape at night",
width=768,
height=512,
nologo=True,
model="flux",
save_to="cityscape.png"
)
2. Text Generation
-
Simple completion:
result = api.generate_text("Write a haiku about AI") print(result)
-
Streaming responses:
for chunk in api.generate_text("Tell a story about a robot", stream=True): print(chunk, end="", flush=True)
3. OpenAI Chat Completion
response = api.openai_chat_completion(
model="openai",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Summarize the plot of Inception."}
]
)
print(response['choices'][0]['message']['content'])
-
Streaming chat:
for chunk in api.openai_chat_completion( model="openai", messages=[...], stream=True ): print(chunk)
4. Vision (Image Analysis)
-
Analyze an image URL:
result = api.analyze_image_url( image_url="https://example.com/cat.jpg", question="What is in this image?" ) print(result)
-
Analyze a local image:
result = api.analyze_local_image("local_image.png") print(result)
5. Speech-to-Text
transcript = api.transcribe_audio("sample.wav")
print("Transcription:", transcript)
6. Text-to-Speech
-
GET (short texts):
api.tts_get("Hello world!", voice="nova", save_to="hello.mp3")
-
POST (longer texts):
api.tts_post("This is a long text to synthesize.", voice="alloy", save_to="long.mp3")
7. List Models
print("Image models:", api.list_image_models())
print("Text models:", api.list_text_models())
8. Real-time Feeds (SSE)
-
Image feed:
for event in api.connect_image_feed(): print(event)
-
Text feed:
for event in api.connect_text_feed(): print(event)
Authentication
- Backend Token: Pass a Bearer token to the constructor.
- Frontend Referrer: Pass a referrer string to the constructor.
Error Handling
All API errors are raised as PollinationsAPIError. Use try-except blocks to handle errors gracefully.
Requirements
- Python 3.7+
requestssseclient-py(for streaming, feeds)
License
MIT
Notes
- For best results, see official documentation: https://github.com/pollinations/pollinations/blob/master/APIDOCS.md
- Issues and contributions are welcome!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pollinations_api-0.1.1.tar.gz.
File metadata
- Download URL: pollinations_api-0.1.1.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e51400aa1532709be790d6749558801898a96d851c8da7531273d89af280c29f
|
|
| MD5 |
61d04964e370e5f27f3ab3370730b5c1
|
|
| BLAKE2b-256 |
6f7748b07919be24cd133b1a6264cc0fdb528e62411e7d52544b0f638e1ce743
|
File details
Details for the file pollinations_api-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pollinations_api-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a0b29eb8c76e4122a98b0eafec505608034f4114efd78b1b9b6d50d5590caa4
|
|
| MD5 |
2fa509a30e0b421a3d08ad4b6ff2ff3e
|
|
| BLAKE2b-256 |
921ee306b7c690b67c0ced96956645aaa48c6fb150fe79ad3287f9596e14ea4f
|