Skip to content

Latest commit

 

History

History
163 lines (124 loc) · 3.92 KB

POLLINATIONS_CODE_EXAMPLES.MD

File metadata and controls

163 lines (124 loc) · 3.92 KB

Pollinations.AI Web Examples

API Cheatsheet

Image Generation API (Default model: 'flux')

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

  • Params: prompt*, model, seed, width, height, nologo, private, enhance, safe
  • Return: Image file

List Models: GET https://image.pollinations.ai/models

Text Generation API (Default model: 'openai')

Generate (GET): GET https://text.pollinations.ai/{prompt}

  • Params: prompt*, model, seed, json, system
  • Return: Generated text

Generate (POST): POST https://text.pollinations.ai/

  • Body: messages*, model, seed, jsonMode
  • Return: Generated text

OpenAI Compatible: POST https://text.pollinations.ai/openai

  • Body: Follows OpenAI ChatGPT API format
  • Return: OpenAI-style response

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

React Example

// React code example using usePollinationsImage hook
// For more details, visit: https://react-hooks.pollinations.ai/

import React from 'react';
import { usePollinationsImage } from '@pollinations/react';

const GeneratedImageComponent = () => {
  const imageUrl = usePollinationsImage('your prompt here', {
    width: 1024,
    height: 1024,
    seed: 123,
    model: 'flux'
  });

  return (
    <div>
      {imageUrl ? <img src={imageUrl} alt="Generated Image" /> : <p>Loading...</p>}
    </div>
  );
};

export default GeneratedImageComponent;

HTML Example

<html>
  <body>
    <h2>Image Parameters</h2>
    <p>Prompt: your prompt here</p>
    <p>Width: 1024</p>
    <p>Height: 1024</p>
    <p>Seed: 123 <i>Each seed generates a new image variation</i></p>
    <p>Model: flux</p>

    <img 
      src="https://image.pollinations.ai/prompt/your%20prompt%20here" 
      alt="Generated Image"
    />
  </body>
</html>

Feed Endpoints

Image Feed

GET https://image.pollinations.ai/feed

  • Description: Provides a real-time stream of images generated by users.
  • Usage: Connect using an SSE-compatible client to receive continuous image data.
  • Example:
const eventSource = new EventSource('https://image.pollinations.ai/feed');

eventSource.onmessage = function(event) {
  const imageData = JSON.parse(event.data);
  console.log('New image generated:', imageData);
};

Text Feed

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

  • Description: Provides a real-time stream of text generated by users.
  • Usage: Connect using an SSE-compatible client to receive continuous text data.
  • Example:
const eventSource = new EventSource('https://text.pollinations.ai/feed');

eventSource.onmessage = function(event) {
  const textData = JSON.parse(event.data);
  console.log('New text generated:', textData);
};

Video Generation API

Python Example

import requests

def generate_video(prompt, duration=10, resolution='1080p', model='video-gen', seed=None):
    url = "https://video.pollinations.ai/generate"
    payload = {
        "prompt": prompt,
        "model": model,
        "duration": duration,
        "resolution": resolution,
        "seed": seed
    }
    response = requests.post(url, json=payload)
    with open('generated_video.mp4', 'wb') as file:
        file.write(response.content)
    print('Video downloaded!')

generate_video("A futuristic cityscape", duration=10, resolution='1080p', model='video-gen', seed=42)

JavaScript Example

const fetch = require('node-fetch');

async function generateVideo() {
  const response = await fetch('https://video.pollinations.ai/generate', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      prompt: "A futuristic cityscape",
      model: "video-gen",
      duration: 10,
      resolution: "1080p",
      seed: 42
    }),
  });

  const data = await response.buffer();
  const fs = require('fs');
  fs.writeFileSync('generated_video.mp4', data);
  console.log('Video downloaded!');
}

generateVideo();