curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "Древний замок под звездным небом",
"size": "1:1",
"n": 1
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "Преобразуйте это изображение в древний замок под звездным небом",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
]
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "Добавьте фейерверк над замком",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
],
"mask_url": "https://example.com/mask.png"
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-image",
"prompt": "Древний замок под звездным небом",
"size": "1:1",
"n": 1
}
)
task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {task['status']}")
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-image",
"prompt": "Преобразуйте это изображение в древний замок под звездным небом",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/castle.jpg"]
}
)
task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {task['status']}")
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-4o-image',
prompt: 'Древний замок под звездным небом',
size: '1:1',
n: 1
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-4o-image',
prompt: 'Преобразуйте это изображение в древний замок под звездным небом',
size: '1:1',
n: 1,
image_urls: ['https://example.com/castle.jpg']
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gpt-4o-image",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
{
"error": {
"code": "invalid_request",
"message": "Поле 'prompt' обязательно.",
"param": "prompt",
"type": "invalid_request_error"
}
}
{
"error": {
"code": "unauthorized",
"message": "Неверный API ключ",
"type": "authentication_error"
}
}
GPT-4o-image
GPT-4o Генерация изображений
Генерация изображений с помощью модели GPT-4o, поддержка текст-в-изображение и редактирования
POST
/
v1
/
images
/
generations
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "Древний замок под звездным небом",
"size": "1:1",
"n": 1
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "Преобразуйте это изображение в древний замок под звездным небом",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
]
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "Добавьте фейерверк над замком",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
],
"mask_url": "https://example.com/mask.png"
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-image",
"prompt": "Древний замок под звездным небом",
"size": "1:1",
"n": 1
}
)
task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {task['status']}")
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-image",
"prompt": "Преобразуйте это изображение в древний замок под звездным небом",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/castle.jpg"]
}
)
task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {task['status']}")
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-4o-image',
prompt: 'Древний замок под звездным небом',
size: '1:1',
n: 1
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-4o-image',
prompt: 'Преобразуйте это изображение в древний замок под звездным небом',
size: '1:1',
n: 1,
image_urls: ['https://example.com/castle.jpg']
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gpt-4o-image",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
{
"error": {
"code": "invalid_request",
"message": "Поле 'prompt' обязательно.",
"param": "prompt",
"type": "invalid_request_error"
}
}
{
"error": {
"code": "unauthorized",
"message": "Неверный API ключ",
"type": "authentication_error"
}
}
Для пользователей из материкового Китая: используйте
https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.- Унифицированный API генерации изображений
- Используйте параметр model для выбора модели
gpt-4o-image - Поддержка текст-в-изображение, изображение-в-изображение и редактирования
- Асинхронное управление задачами, запрос результатов по ID задачи
Важное изменение: Для повышения производительности и контроля затрат мы больше не поддерживаем передачу данных изображений в формате base64 напрямую в
image_urls. Пожалуйста, сначала используйте API загрузки изображений для загрузки изображений и получения URL, а затем вызывайте этот эндпоинт.Авторизация
string
обязательно
Все API требуют аутентификации Bearer TokenПолучите API Key на странице управления API ключамиДобавьте в заголовок запроса:
Authorization: Bearer YOUR_API_KEY
Тело запроса
string
по умолчанию:"gpt-4o-image"
обязательно
Название модели генерации изображенийПример:
"gpt-4o-image"string
обязательно
Текстовое описание для генерации изображенияМаксимум 1000 символов
string
по умолчанию:"1:1"
Соотношение сторон изображенияПоддерживаемые форматы:
1:1- Квадрат (по умолчанию)2:3- Портрет3:2- Пейзаж
integer
по умолчанию:1
Количество генерируемых изображенийПоддерживает 1, 2, 4. Оплата будет предварительно вычтена на основе количестваПо умолчанию: 1⚠️ Примечание: Необходимо вводить простое число (например,
1), не используйте кавычки, иначе возникнет ошибкаstring[]
Список URL-адресов эталонных изображений для изображения-в-изображение или редактирования⚠️ Только формат URL (base64 больше не поддерживается)
- Публично доступный URL изображения (http:// или https://)
- Вы можете использовать API загрузки изображений для загрузки локальных изображений и получения URL
- Максимум 5 изображений
- Одно изображение до 10 МБ
- Поддерживаемые форматы: jpeg, jpg, png, webp
string
URL-адрес маски изображения (для редактирования)
- Должен быть в формате PNG
- Размер должен соответствовать эталонному изображению
- Максимум 4 МБ
Ответ
string
Уникальный идентификатор задачи для запросов статуса
string
Тип объекта, всегда
generation.taskstring
Используемая модель
string
Статус задачи
queued- В очередиin_progress- Обрабатываетсяcompleted- Успешно завершеноfailed- Ошибка
integer
Прогресс задачи в процентах (0-100)
integer
Временная метка создания (Unix timestamp)
object
Метаданные задачи
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "Древний замок под звездным небом",
"size": "1:1",
"n": 1
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "Преобразуйте это изображение в древний замок под звездным небом",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
]
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "Добавьте фейерверк над замком",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
],
"mask_url": "https://example.com/mask.png"
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-image",
"prompt": "Древний замок под звездным небом",
"size": "1:1",
"n": 1
}
)
task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {task['status']}")
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-image",
"prompt": "Преобразуйте это изображение в древний замок под звездным небом",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/castle.jpg"]
}
)
task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {task['status']}")
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-4o-image',
prompt: 'Древний замок под звездным небом',
size: '1:1',
n: 1
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-4o-image',
prompt: 'Преобразуйте это изображение в древний замок под звездным небом',
size: '1:1',
n: 1,
image_urls: ['https://example.com/castle.jpg']
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gpt-4o-image",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
{
"error": {
"code": "invalid_request",
"message": "Поле 'prompt' обязательно.",
"param": "prompt",
"type": "invalid_request_error"
}
}
{
"error": {
"code": "unauthorized",
"message": "Неверный API ключ",
"type": "authentication_error"
}
}