Начать пользоваться на www.aijora.ru
AijoraДокументация
Доступные эндпоинты

Генерация изображений

Генерация изображений по текстовому описанию через API

Эндпоинт /v1/images/generations позволяет генерировать изображения по текстовому описанию с помощью передовых ИИ-моделей.

Базовый запрос

Эндпоинт

POST https://api.aijora.com/api/v1/images/generations

Обязательные параметры

  • model (string) — модель для генерации (например, "gemini-2.5-flash-image")
  • prompt (string) — текстовое описание желаемого изображения

Актуальный список доступных моделей для генерации изображений смотрите на странице Доступные модели.

Простой пример

{
  "model": "gemini-2.5-flash-image",
  "prompt": "Красивый закат над океаном, фотореалистично, 4K"
}

Структура ответа

Изображение возвращается в формате base64:

{
  "created": 1677858242,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="
    }
  ]
}

Основные поля:

  • data[0].b64_json — изображение в формате base64

Как использовать изображение

Изображение чаще всего возвращается в формате base64 — это текстовое представление бинарных данных. Base64 удобен для передачи через JSON, но чтобы использовать изображение, его нужно декодировать.

Есть три основных способа работы с полученным изображением:

1. Сохранить как файл

import fs from 'fs';

// Декодируем base64 и сохраняем
const base64Image = data.data[0].b64_json;
const imageBuffer = Buffer.from(base64Image, 'base64');
fs.writeFileSync('картинка.jpg', imageBuffer);

console.log('Изображение сохранено как картинка.jpg');
import base64

# Декодируем base64 и сохраняем
base64_image = data['data'][0]['b64_json']
image_bytes = base64.b64decode(base64_image)

with open('картинка.jpg', 'wb') as file:
    file.write(image_bytes)

print('Изображение сохранено как картинка.jpg')

2. Показать в браузере

Можно просто вывести изображение в HTML. Такой формат поддерживается всеми браузерами.

<img src="data:image/jpeg;base64,{BASE64_STRING}" alt="Сгенерированное изображение" />

3. Получить URL напрямую

Некоторые модели поддерживают формат url вместо base64. Добавьте параметр:

{
  "model": "gemini-2.5-flash-image",
  "prompt": "Красивый закат",
  "response_format": "url"
}

Ответ будет содержать прямую ссылку:

{
  "data": [
    {
      "url": "https://storage.example.com/image.jpg"
    }
  ]
}

Не все модели поддерживают response_format: "url". Проверяйте документацию конкретной модели на странице Доступные модели.

Примеры использования

Базовая генерация

curl https://api.aijora.com/api/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AIJORA_API_KEY" \
  -d '{
    "model": "gemini-2.5-flash-image",
    "prompt": "Красивый закат над океаном, фотореалистично"
  }'

Генерация нескольких вариантов

curl https://api.aijora.com/api/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AIJORA_API_KEY" \
  -d '{
    "model": "google-imagen",
    "prompt": "Футуристический город ночью",
    "n": 3
  }'
import fs from 'fs';

async function generateImage(prompt) {
  const response = await fetch('https://api.aijora.com/api/v1/images/generations', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${process.env.AIJORA_API_KEY}`
    },
    body: JSON.stringify({
      model: 'gemini-2.5-flash-image',
      prompt: prompt
    })
  });

  const data = await response.json();
  const base64Image = data.data[0].b64_json;
  
  // Декодируем и сохраняем
  const buffer = Buffer.from(base64Image, 'base64');
  fs.writeFileSync('image.jpg', buffer);
  
  console.log('Изображение сохранено как image.jpg');
  return base64Image;
}

// Использование
generateImage('Красивый закат над океаном');
import os
import base64
import requests

def generate_image(prompt):
    response = requests.post(
        'https://api.aijora.com/api/v1/images/generations',
        headers={
            'Authorization': f'Bearer {os.getenv("AIJORA_API_KEY")}'
        },
        json={
            'model': 'gemini-2.5-flash-image',
            'prompt': prompt
        }
    )
    
    data = response.json()
    base64_image = data['data'][0]['b64_json']
    
    # Декодируем и сохраняем
    image_data = base64.b64decode(base64_image)
    with open('image.jpg', 'wb') as f:
        f.write(image_data)
    
    print('Изображение сохранено как image.jpg')
    return base64_image

# Использование
generate_image('Красивый закат над океаном')

Трансформация изображений (Image-to-Image)

Некоторые модели позволяют использовать входное изображение как референс или для трансформации. Это полезно для редактирования, стилизации или вариаций.

Пример запроса:

{
  "model": "gemini-2.5-flash-image",
  "prompt": "Превратить в стиль аниме",
  "image_input": [
    "https://example.com/photo.jpg"
  ],
  "aspect_ratio": "1:1",
  "output_format": "png"
}

Дополнительные параметры:

  • image_input — массив URL изображений для использования как референс
  • aspect_ratio — соотношение сторон (1:1, 16:9, 4:3, match_input_image и другие)
  • output_format — формат вывода (jpg или png)

Не все модели поддерживают image_input и другие параметры. Подробности смотрите в Справочнике параметров.