Бесплатная генерация изображений
Лимиты использования
Бесплатный эндпоинт имеет ограничения:
Аутентификация
Все запросы требуют токен аутентификации. Токен передается в теле запроса:
{
"token": "ваш_api_ключ"
}
Генерация изображений через Pollinations API
Базовый эндпоинт
POST https://neuroimg.art/api/v1/free-generate
Параметры запроса
Параметр | Тип | Обязательный | Описание | Диапазон | По умолчанию |
---|---|---|---|---|---|
token | string | Да | Ваш API-ключ | - | - |
prompt | string | Да | Текстовое описание для генерации изображения | 1-500 символов | - |
width | integer | Нет | Ширина изображения | 64-1024 | 1024 |
height | integer | Нет | Высота изображения | 64-1024 | 1024 |
seed | integer | Нет | Сид для воспроизводимости (-1 = случайный) | -1 или ≥0 | -1 |
nsfw_filter | boolean | Нет | Фильтр NSFW контента | - | false |
send_to_gallery | boolean | Нет | Сохранить изображение в публичную галерею | - | false |
stream | boolean | Нет | Включить потоковый ответ | - | false |
response_type | string | Нет | Формат ответа: url (ссылка) или base64 (кодированное изображение) |
url/base64 | url |
Потоковые ответы
При stream: true
сервер отправляет статусы в реальном времени:
{
"status": "WAITING",
"queue_position": 1,
"queue_total": 1,
"job_id": "free-12345678"
}
{
"status": "RUNNING",
"progress": "Processing image...",
"job_id": "free-12345678",
}
{
"status": "SUCCESS",
"job_id": "free-12345678",
"image_url": "https://neuroimg.art/free/12345678.png",
"seed": 42424242
}
Пример запроса
{
"token": "ваш_ключ",
"prompt": "реалистичный кот в скафандре",
"width": 768,
"height": 768,
"seed": 12345,
"stream": true,
"response_type": "url"
}
Интеграция с потоковым режимом
Python (асинхронный)
import aiohttp
import json
async def free_generate(prompt: str, api_key: str):
async with aiohttp.ClientSession() as session:
payload = {
"token": api_key,
"prompt": prompt,
"stream": True
}
async with session.post(
"https://neuroimg.art/api/v1/free-generate",
json=payload
) as response:
async for line in response.content:
if line:
data = json.loads(line)
if data["status"] == "SUCCESS":
return data["image_url"]
print(f"Статус: {data['status']}")
JavaScript
async function freeGenerate(prompt, apiKey) {
const response = await fetch('https://neuroimg.art/api/v1/free-generate', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
token: apiKey,
prompt: prompt,
stream: true
})
});
const reader = response.body.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
const data = JSON.parse(new TextDecoder().decode(value));
console.log(`Статус: ${data.status}`);
if (data.status === 'SUCCESS') return data.image_url;
}
}
Обработка ошибок
Коды ответов
429 Too Many Requests
:
Формат ошибки:
{
"error": "rate_limit_exceeded",
"message": "Превышен лимит запросов (6 в минуту). Пожалуйста, подождите перед следующим запросом."
}
{
"error": "concurrent_request",
"message": "У вас уже есть активный запрос. Дождитесь его завершения прежде чем делать новый."
}
Рекомендации
/v1/generate
).seed
для воссоздания похожих результатов.