Генерация изображений
Генерация изображений по текстовому описанию через 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
и другие параметры. Подробности смотрите в Справочнике параметров.