About Exa Search
Exa Search searches the live web and retrieves clean content from source pages. It is for users and agents that need current web results and page content.
Key features
- 01Search the live web
- 02Fetch page content
- 03Clean source-page text
Use cases
- 01Find current web information
- 02Retrieve readable content from a source page
MCP support
The listing identifies Exa Search as an MCP server, but does not specify the tools or resources it exposes to MCP clients.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://gen.pollinations.ai/mcp/exaclaude mcp add --transport http pollinations-exa https://gen.pollinations.ai/mcp/exa{"mcpServers":{"pollinations-exa":{"type":"http","url":"https://gen.pollinations.ai/mcp/exa"}}}Open in Cursor{"servers":{"pollinations-exa":{"type":"http","url":"https://gen.pollinations.ai/mcp/exa"}}}Open in VS Code{"mcpServers":{"pollinations-exa":{"type":"http","url":"https://gen.pollinations.ai/mcp/exa"}}}{"mcpServers":{"pollinations-exa":{"serverUrl":"https://gen.pollinations.ai/mcp/exa"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://gen.pollinations.ai/mcp/exaAuth requiredTools
Details
From the project READMEOpen-source AI for people who make things.
Website · Dashboard · Playground · Guides · API Docs · Discord
🆕 Recent Apps
| Name | Description | Author |
|---|---|---|
| 🎮 Tiny Fighter Arena | Describe a fighter in one line, the AI designs the whole thing from it, then sends it into a short commentated battle up a five-rung ladder. One line in ( a shy storm cloud that apologises before it s | @kreggscode |
| 💬 Radio Bloom | Radio Bloom is a duplicate-ready voice character playground. Visitors sign in with their own Pollen, then speak or type to three AI characters powered by Pollinations chat, transcription, and voice mo | @ismailbanouigu |
| 🎮 One Line Arena | Describe a fighter in one line. Pollinations designs the whole fighter from it: name, title, portrait, stats, three moves, a quirk, a weakness and a catchphrase. Then it sends the fighter into a short | @Drjacky |
| 🎬 AI ad video generator | AI Ad Video Maker is a Windows desktop app that produces 7–10 s advertisement videos with AI‑generated scripts, visuals, voice‑overs, captions and background music. It supports 21 languages, multiple | @zee7lubricantsoperations-collab |
| 🖼️ Poster Iklan Pantas | Malay-language ad poster maker for small sellers in Malaysia. Users type product, headline and offer, pick style and size (feed, story, banner), optionally upload a product photo, and get a ready-to-p | @Syafixit |
| 🖼️ Pollinations Model Tester | The app is Pollinations.ai Models Tester — a single-file, browser-based playground for comparing Pollinations text models side-by-side. The app lets you enter any model ID | @scriptsnsenses-sys |
| 🖼️ Teapot Art | A one-page image generator: describe what you want in words — get a picture. Single static HTML file, no build step, no dependencies. Generation goes through the Pollinations image API; a user key is | @SvirepyiBambr |
| 🖼️ StyleLens AI | Transform your images instantly with AI-powered style conversion and custom artistic edits using POLLINATIONS AI. Restyle — a dark, single-page studio: drop a photo, pick one of 12 styles or describe | @nalnd1 |
| 🖼️ Pollen Postcard | Turns a small memory into a polished illustrated postcard. Pollinations writes the title and short note, then generates a matching square image. Visitors connect with BYOP and approve a 1 Pollen budge | @ismailbanouigu |
| 💬 Shimi Bechor (Firstborn Greeter) | A greeter agent that welcomes visitors and explains a small agent network (its charter, public board and API). It uses the current Pollinations integration: browser-only Connect User Wallets (BYOP) wi | @sunraz2 |
🚀 Unified API
https://gen.pollinations.ai provides one API for text, images, audio, video, 3D, and embeddings.
What's Included
- Unified endpoint: single API at
gen.pollinations.aifor all generation - Pollen credits: simple pay-as-you-go system ($1 ≈ 1 Pollen)
- All models, one place: Flux, GPT, Claude, Gemini, Seedream, and more
- API keys: secret keys for model usage, app keys for tracking BYOP apps.
- CLI:
npx @pollinations/clifor humans and AI agents (source)
Get started at enter.pollinations.ai and check out the API docs
🆕 Latest News
Barbara can follow group chats Oct 25
Set a Barbara's Telegram group setting to Every message so she can read the conversation without being mentioned each time. She is instructed to answer unmentioned messages only when she has something useful to add.My Apps for everyone Oct 25
Every signed-in account can now open My Apps, including accounts with no listed apps. The page offers a way to submit an app and explains how approved listings appear.Model Monitor links in Discord Oct 25
Model Monitor links now have a Discord embed with direct buttons for model health and evals.Tripo P2 text-to-3D Oct 24
Turn a text prompt of up to 1,024 characters into a GLB mesh with PBR textures using the alpha, paid-onlytripo3d/p2model. It does not accept image input.Qwen Image 2.1 Pro Oct 24
Generate or edit images with paid-balance modelqwen/qwen-image-2.1-pro. The Alibaba route accepts up to 10 reference images and sizes up to 2560×2560; its fallback accepts at most four references and may return 2048×2048 for a 2560×2560 request.FLUX 3 Max video Oct 24
Make 5–20 second videos from text or up to two images used as start and end frames. Paid-balance modelblack-forest-labs/flux-3-maxsupports optional audio, 720p or 1080p output, and seven aspect ratios.Muse Spark 1.3 Oct 24
Use paid-onlymeta/muse-spark-1.3for text and image input, reasoning, and tools. It has a 1,048,576-token context window; Muse Spark 1.2 remains a separate model.Experimental Glyph Cluster Oct 24
Trystealth/glyph-clusterfor coding, long-context reasoning, and automatic tool calling. It is free during stealth for Quest and Paid users, with an 8-request-per-minute limit. Its provider may use prompts and responses for training and does not offer zero data retention.Nemotron 3.5 Super VL Oct 24
Send text or images to paid-onlynvidia/nemotron-3.5-super-vl. It supports tools, reasoning, structured output, and a 262,144-token context window.Mercury 3 Oct 24
Use paid-balanceinception/mercury-3for text requests with tools, reasoning, and a 1,000,000-token context window. Its configured maximum output is 131,072 tokens; structured output is not in its supported-parameter set.
More news on enter.pollinations.ai →
🌱 Introduction
pollinations.ai is an open-source generative AI platform based in Berlin, used by 500+ community projects. It provides APIs for text, image, video, audio, 3D, and embeddings generation. Our code and development discussions are public. Supporters help fund the project.
🚀 Key Features
- 🔓 100% Open Source: code, decisions, roadmap all public
- 🤝 Community-Built: 500+ projects already using our APIs
- 🌱 Pollen Quests: earn Pollen by completing Quests
- 🖼️ Image Generation: Text-to-image and image editing
- 📝 Text Generation: Chat, reasoning, vision, function calling, structured outputs
- 🎬 Video Generation: Text-to-video and image-to-video
- 🎵 Audio: Text-to-speech and speech-to-text
- 🧊 3D Generation: Text-to-3D and image-to-3D
- 🎙️ Real-time API: OpenAI-compatible WebSocket for streaming conversations
- 🔢 Embeddings Creation: Semantic search, retrieval, similarity matching
- 🤖 Managed Agents: Turn a prompt, base model, and optional Pollinations tools into a reusable model
- 📦 Sandboxes: Cloud Linux computers for you or your agents, opened with SSH or VS Code
- 🌐 Sites: Free static hosting at
<name>.pollinations.app - 🎣 Easy-to-use Packages (Packages)
Guides
| Guide | Purpose |
|---|---|
| Connect User Wallets (BYOP) | Let users pay with their own Pollen |
| Publish an Agent | Publish a hosted agent |
| Publish a Model | Connect your model endpoint |
| Sandboxes | Run code in a virtual machine |
| Sites | Host a static site at .pollinations.app |
| Coding Harnesses | Connect a coding assistant |
| MCP Servers | Give agents access to tools |
| CLI | Use Pollinations from a terminal |
🤖 Managed Agents
Build a reusable text agent without hosting an agent server. Choose a system prompt and base model, optionally give it Pollinations tools, then call it through the same OpenAI-compatible API as any other model.
- Private or public: keep an agent owner-only or publish it after receiving community publisher access.
- Normal model API: call a registered agent by its
owner/agent-namemodel ID. - Dashboard, CLI, or API: manage agents in My Models, with
polli agents, or through/account/agents.
See Publish an Agent for setup and billing behavior.
🛠️ Coding Harnesses
Run tools such as Bloom CLI, DeepSeek Harness, Hermes Agent, OpenCode, Pi, Prime Agent, and tgpt on Pollinations models. polli harness edits the tool's own config so it calls Pollinations with a dedicated key, and restores it on off.
npx @pollinations/cli harness dsh on
See Coding Harnesses for supported harnesses and how to add one.
🧩 Community Models
Community members connect their own OpenAI-compatible text, image, image-editing, and speech-to-text endpoints to Pollinations.
- Host your own model: follow Publish a Model to test and register an upstream endpoint, then keep it private or publish it to the catalog.
- Automatic fallback routing: nominate up to three compatible backup models so generations keep moving when an upstream model goes down.
- Discover and monitor: browse community models via gen.pollinations.ai/v1/models and watch live health and community leaderboards at model-monitor.pollinations.ai.
For billing details when building apps on top, see Connect User Wallets.
🚀 Getting Started
Quick Start (3 Steps)
1️⃣ Get your API key
Sign up at enter.pollinations.ai to generate your key.
2️⃣ Choose what you want to generate
Pollinations supports:
- 🖼 Images
- 📝 Text
- 🔊 Audio
- 🎬 Video
- 🧊 3D
- 🔢 Embeddings
3️⃣ Make your first request
Use one of the examples below to generate your first AI output in seconds.
Image Generation
curl -H "Authorization: Bearer YOUR_API_KEY" 'https://gen.pollinations.ai/image/a%20beautiful%20sunset' -o image.jpg
Or visit pollinations.ai/play for an interactive experience.
Text Generation
curl 'https://gen.pollinations.ai/text/Hello%20world?key=YOUR_API_KEY'
Audio Generation
Simple GET endpoint:
curl 'https://gen.pollinations.ai/audio/Hello%20from%20Pollinations?voice=nova&key=YOUR_API_KEY' -o speech.mp3
OpenAI TTS compatible:
curl 'https://gen.pollinations.ai/v1/audio/speech' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{"model": "openai/tts-1", "input": "Hello from Pollinations!", "voice": "nova"}' \
-o speech.mp3
Available voices: alloy, echo, fable, onyx, nova, shimmer, plus 30+ ElevenLabs voices.
Speech-to-text:
curl 'https://gen.pollinations.ai/v1/audio/transcriptions' \
-H "Authorization: Bearer YOUR_API_KEY" \
-F [email protected] \
-F model=openai/whisper-large-v3
Video Generation
curl 'https://gen.pollinations.ai/video/a%20sunset%20timelapse%20over%20the%20ocean?key=YOUR_API_KEY' -o video.mp4
Use duration to set video length, aspectRatio for orientation, and image[0]/image[1] to pass start/end reference frames. See available video models and capabilities at gen.pollinations.ai/video/models.
3D Generation
curl 'https://gen.pollinations.ai/3d/a%20low-poly%20treasure%20chest?model=microsoft/trellis-2&resolution=low&key=YOUR_API_KEY&image=IMAGE_URL' -o model.glb
Pass reference image URL(s) via the image parameter for image-to-3D models (put image= last in the URL, or URL-encode it). See available 3D models at gen.pollinations.ai/3d/models.
Embeddings
curl 'https://gen.pollinations.ai/v1/embeddings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{"model": "openai/text-embedding-3-small", "input": "Hello world!"}'
Pass a string or an array of up to 32 strings (text or multimodal content parts). See available embedding models at gen.pollinations.ai/embeddings/models.
Pollinations CLI
Generate text, images, audio, video, and more right from your terminal:
npx @pollinations/cli gen image "cyberpunk city at night" --model black-forest-labs/flux.1-schnell --output city.png
npx @pollinations/cli gen text "Explain quantum tunneling in one sentence"
npx @pollinations/cli gen audio "Hello world" --voice nova --output speech.mp3
npx @pollinations/cli gen video "a waterfall in slow motion" --duration 5 --output clip.mp4
npx @pollinations/cli gen transcribe speech.mp3
Install globally and use the shorter polli command: npm install -g @pollinations/cli. Run polli models to list models, polli auth login to authenticate, and polli docs for the full API reference in your terminal.
Real-time API
Stream AI responses over an OpenAI-compatible WebSocket:
wss://gen.pollinations.ai/v1/realtime?model=openai/gpt-realtime-2.1&key=pk_YOUR_API_KEY
Browser clients pass the key as a query parameter (?key=); server clients can use the Authorization: Bearer header instead.
MCP Servers
Connect Streamable HTTP clients to the hosted Pollinations MCP server:
https://gen.pollinations.ai/mcp/pollinations
Send your Pollinations API key as an Authorization: Bearer header. See the
MCP Servers documentation
for the full hosted catalog.
🔐 Authentication
Get your API key at enter.pollinations.ai
Key Types
| Key | Prefix | Use Case | Rate Limits | Status |
|---|---|---|---|---|
| App Key | pk_ | Browsers, mobile apps, public clients | Budget & permissions set at creation | Stable |
| Secret | sk_ | Server-side only | No rate limits | Stable |
⚠️ Never expose
sk_keys in client-side code, git repos, or public URLs
💡 Building an app? Use Connect User Wallets: users pay for their own usage, you pay $0
Model Restrictions
Each API key can be scoped to model categories or specific models. When creating a key at enter.pollinations.ai, you can:
- Allow all models: key works with any available model
- Restrict to categories: e.g. only
image, orimageandtext. A key allows every model in its categories, including models added later - Restrict to specific models: through the API or
polli keys update <id> --models black-forest-labs/flux.1-schnell tongyi-mai/z-image-turbo; a model ID allows only that model
Usage
curl 'https://gen.pollinations.ai/image/a%20cat?key=YOUR_KEY'
Environment variable (best practice):
export POLLINATIONS_API_KEY=sk_...
See full API docs for detailed authentication information.
🖥️ How to Use
Web Interface
Visit the playground to generate content in your browser.
Here are some examples of what you can generate:
🛠️ Integration
SDK
Check out our Pollinations SDK for Node.js, browser, and React integration.
OpenAI SDK Compatibility
The API is OpenAI-compatible. Set the base URL in an official OpenAI SDK to https://gen.pollinations.ai/v1.
Node.js:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://gen.pollinations.ai/v1",
apiKey: "YOUR_API_KEY",
});
const response = await client.chat.completions.create({
model: "openai/gpt-5.4-nano",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
Python:
from openai import OpenAI
client = OpenAI(base_url="https://gen.pollinations.ai/v1", api_key="YOUR_API_KEY")
response = client.chat.completions.create(
model="openai/gpt-5.4-nano",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)
Other OpenAI SDKs work too: Go, Java, .NET, Rust (async-openai, community), plus compatible frameworks like Vercel AI SDK.
Vercel AI SDK:
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText } from "ai";
const pollinations = createOpenAICompatible({
name: "pollinations",
baseURL: "https://gen.pollinations.ai/v1",
apiKey: "YOUR_API_KEY",
});
const { text } = await generateText({
model: pollinations.chatModel("openai/gpt-5.4-nano"),
prompt: "Hello!",
});
console.log(text);
Streaming, image, and embedding examples: API docs → Vercel AI SDK.
Architecture
%%{init: {'theme': 'dark', 'themeVariables': { 'background': '#1a1a1a', 'primaryColor': '#2a2a2a', 'primaryBorderColor': '#555555', 'primaryTextColor': '#eeeeee', 'lineColor': '#00e5ff', 'clusterBkg': 'transparent', 'clusterBorder': '#888888', 'fontSize': '13px', 'fontFamily': 'Inter, system-ui, sans-serif'}}}%%
graph LR
subgraph CLIENTS["Clients / Apps"]
Q[Bots - Discord, Telegram, WhatsApp]
N[30+ Mobile and Web Apps]
A[pollinations.ai Web Frontend]
R[AI Agents - Qwen, Sillytavern, ...]
AI[AI Assistants - Claude]
MCP[MCP Server]
end
AI --> MCP
Q --> GEN
N --> GEN
A --> GEN
R --> GEN
MCP --> GEN
GEN["gen.pollinations.ai: Edge Router + Generation Worker"]:::cfWorker -->|auth and billing| ENTER["enter.pollinations.ai: Auth Gateway + Billing"]:::cfWorker
GEN --> IMG["Image: gen Worker dispatch to providers / GPU backends"]:::cfWorkerLight
IMG --> D["Flux, Z-Image, Seedream, ...: GPU VMs"]:::gpuNode
GEN --> TXT["Text: Portkey multi-provider"]:::provider
GEN --> VID["Video: Wan / Veo / Seedance"]:::provider
GEN --> AUD["Audio: ElevenLabs / OVH (Whisper)"]:::provider
style CLIENTS fill:none,stroke:#888,stroke-width:2px,stroke-dasharray: 5 5
linkStyle default stroke-width:3px,stroke:#00E5FF
classDef cfWorker fill:#E65100,color:#fff,stroke:#FFB300,stroke-width:2px,font-weight:bold
classDef cfWorkerLight fill:#BF360C,color:#fff,stroke:#FFB300,stroke-width:1px
classDef gpuNode fill:#064E3B,stroke:#34D399,color:#ECFDF5,stroke-width:2px
classDef provider fill:#1E3A8A,stroke:#60A5FA,color:#EFF6FF,stroke-width:1px
🔮 Future Developments
We're exploring:
- Digital Twins: Creating interactive AI-driven avatars
- Music Video Generation: Combining AI-generated visuals with music
- Real-time AI-driven Visual Experiences: Projects like our Dreamachine
🌍 Our Vision
We want AI tools to be:
-
Open & Accessible: Earn Pollen by contributing, without a credit card
-
Transparent & Ethical: Inspect our code and discuss how the platform works
-
Community-Driven: Build tools with other developers, creators, and AI enthusiasts
-
Interconnected: Combine models and services through shared APIs
-
Evolving: Add new capabilities while keeping the platform open and accessible
🤝 Community and Development
You can contribute to pollinations.ai in several ways:
-
Coding Assistant: Create a GitHub issue describing a feature for the Polli assistant to work on. You can propose a change without writing code.
-
Project Submissions: Have you built something with pollinations.ai? Use our app submission template to share it with the community and get it featured in our README.
-
Feature Requests & Bug Reports: Have an idea or found a bug? Open an issue and let us know. Our team and the Polli assistant will review it.
-
Community Engagement: Join our Discord community to:
- Share your creations
- Get support and help others
- Collaborate with fellow AI enthusiasts
- Discuss feature ideas before creating issues
For any questions or support, please visit our Discord channel or create an issue on our GitHub repository.
🗂️ Project Structure
The main folders are:
-
pollinations.ai/: The main React application for the Pollinations.ai website. -
gen.pollinations.ai/: Cloudflare Worker for API routing, auth handoff, text generation, and caching. -
enter.pollinations.ai/: Auth gateway and billing: API keys, Pollen credits, and pack checkout. -
shared/: Auth, model registries, IP queue, and utilities shared across the services. -
apps/: Applications maintained in this repository. -
operations/: Internal dashboards, monitoring, economics, and infrastructure, including the GPU fleet. -
media.pollinations.ai/: Media upload service: upload files and get a URL to use with Pollinations models, with public tag galleries. -
operations/social/: Automated social media pipeline (X, LinkedIn, Instagram, Reddit, Discord). -
packages/polli-cli/: The Pollinations CLI for people and AI agents. -
packages/sdk/: SDK NPM library with pollinations ready functions for Pollinations.ai. -
packages/mcp/: Model Context Protocol (MCP) server for AI assistants like Claude to generate images directly. -
opencode-pollinations-plugin: A community plugin that connects OpenCode to Pollinations models, built by @fkom13.
For development setup and environment management, see DEVELOP.md.
🏢 Supported By
pollinations.ai is supported by:
- Perplexity AI: AI-powered search and conversational answer engine
- AWS Activate: GPU Cloud Credits
- io.net: Decentralized GPU network for AI compute
- BytePlus: Official ByteDance cloud services and AI solutions
- Google Cloud for Startups: GPU Cloud Credits
- NVIDIA Inception: AI startup support
- Azure (MS for Startups): OpenAI credits
- Cloudflare: Put the connectivity cloud to work for you.
- Scaleway: Europe's empowering cloud provider
- Modal: High-performance AI infrastructure
- Nebius: AI-optimized cloud infrastructure with NVIDIA GPU clusters
- OpenAI: Frontier AI models and APIs
- OpenRouter: Unified API for LLMs
- Fireworks AI: Fast inference platform for open models
- Replicate: Run AI models with an API
- RunPod: GPU cloud built for AI workloads
- OVHcloud: European cloud and GPU infrastructure
- Lambda Labs: GPU cloud for AI training and inference
- ElevenLabs: AI voice generation and text-to-speech
- AssemblyAI: Speech-to-text and speech understanding models
- Alibaba Cloud: Cloud computing and AI services
💚 Support Us
The best way to support pollinations.ai is by using our product! Get your API key and start building at enter.pollinations.ai.
📣 Stay Connected
Status · News & FAQ · 𝕏 Twitter · Instagram · LinkedIn · Facebook · Reddit · YouTube
📜 License
pollinations.ai is open-source software licensed under the MIT license.
Made with ❤️ by the pollinations.ai team
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.