curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/panda.jpg"
],
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 3,
"image_urls": [
"https://example.com/panda.jpg"
],
"metadata": {
"resolution": "4K",
"optimize_prompt_options": "standard",
"sequential_image_generation": "auto",
"sequential_image_generation_options": { "max_images": 3 },
"watermark": false
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"metadata": {
"resolution": "2K"
}
}
)
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": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/panda.jpg"],
"metadata": {
"resolution": "2K"
}
}
)
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": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 3,
"image_urls": ["https://example.com/panda.jpg"],
"metadata": {
"resolution": "4K",
"optimize_prompt_options": "standard",
"sequential_image_generation": "auto",
"sequential_image_generation_options": {"max_images": 3},
"watermark": False
}
}
)
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: 'doubao-seedream-4-0',
prompt: 'Милая панда играет в бамбуковом лесу',
size: '1:1',
n: 1,
metadata: {
resolution: '2K'
}
})
});
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: 'doubao-seedream-4-0',
prompt: 'Милая панда играет в бамбуковом лесу',
size: '1:1',
n: 1,
image_urls: ['https://example.com/panda.jpg'],
metadata: {
resolution: '2K'
}
})
});
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: 'doubao-seedream-4-0',
prompt: 'Милая панда играет в бамбуковом лесу',
size: '1:1',
n: 3,
image_urls: ['https://example.com/panda.jpg'],
metadata: {
resolution: '4K',
optimize_prompt_options: 'standard',
sequential_image_generation: 'auto',
sequential_image_generation_options: { max_images: 3 },
watermark: false
}
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "doubao-seedream-4-0",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
Seedream-4.0
Seedream-4.0 Генерация изображений
Генерация высококачественных изображений с помощью модели Seedream 4.0
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": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/panda.jpg"
],
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 3,
"image_urls": [
"https://example.com/panda.jpg"
],
"metadata": {
"resolution": "4K",
"optimize_prompt_options": "standard",
"sequential_image_generation": "auto",
"sequential_image_generation_options": { "max_images": 3 },
"watermark": false
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"metadata": {
"resolution": "2K"
}
}
)
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": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/panda.jpg"],
"metadata": {
"resolution": "2K"
}
}
)
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": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 3,
"image_urls": ["https://example.com/panda.jpg"],
"metadata": {
"resolution": "4K",
"optimize_prompt_options": "standard",
"sequential_image_generation": "auto",
"sequential_image_generation_options": {"max_images": 3},
"watermark": False
}
}
)
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: 'doubao-seedream-4-0',
prompt: 'Милая панда играет в бамбуковом лесу',
size: '1:1',
n: 1,
metadata: {
resolution: '2K'
}
})
});
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: 'doubao-seedream-4-0',
prompt: 'Милая панда играет в бамбуковом лесу',
size: '1:1',
n: 1,
image_urls: ['https://example.com/panda.jpg'],
metadata: {
resolution: '2K'
}
})
});
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: 'doubao-seedream-4-0',
prompt: 'Милая панда играет в бамбуковом лесу',
size: '1:1',
n: 3,
image_urls: ['https://example.com/panda.jpg'],
metadata: {
resolution: '4K',
optimize_prompt_options: 'standard',
sequential_image_generation: 'auto',
sequential_image_generation_options: { max_images: 3 },
watermark: false
}
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "doubao-seedream-4-0",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
- Модель генерации изображений Seedream 4.0
- Используйте параметр model для выбора
doubao-seedream-4-0 - Поддержка текст-в-изображение
- Асинхронное управление задачами
Важное изменение: Для повышения производительности и контроля затрат мы больше не поддерживаем передачу данных изображений в формате base64 напрямую в
image_urls. Пожалуйста, сначала используйте API загрузки изображений для загрузки изображений и получения URL, а затем вызывайте этот эндпоинт.Авторизация
string
обязательно
Все API требуют аутентификации Bearer Token
Тело запроса
string
по умолчанию:"doubao-seedream-4-0"
обязательно
Название модели:
"doubao-seedream-4-0"string
обязательно
Текстовое описание для генерации изображенияМаксимум 1000 символов
string
по умолчанию:"1:1"
Соотношение сторон изображенияПоддерживаемые соотношения:
1:1- Квадрат (по умолчанию)4:3- Горизонтальный 4:33:4- Вертикальный 3:416:9- Горизонтальный широкоэкранный9:16- Вертикальный длинный3:2- Горизонтальный 3:22:3- Вертикальный 2:321:9- Ультраширокий9:21- Ультравысокийauto- Автоматическое соответствие соотношению эталонного изображения (требуетсяimage_urls)
integer
по умолчанию:1
Количество генерируемых изображенийДиапазон: 1-15 (минимум 1, максимум 15)По умолчанию: 1Примечание:
- Фактическое количество изображений зависит от этого параметра и количества входных эталонных изображений. Общее количество эталонных изображений + генерируемых изображений должно быть ≤ 15
- Необходимо вводить простое число (например,
1), не используйте кавычки, иначе возникнет ошибка
string[]
Список URL-адресов эталонных изображений для изображения-в-изображение или редактирования⚠️ Только формат URL (base64 больше не поддерживается)
- Публично доступный URL-адрес изображения (http:// или https://)
- Пример:
https://example.com/image.jpg - Вы можете использовать API загрузки изображений для загрузки локальных изображений и получения URL
- Максимум 10 изображений
- Форматы изображений: jpeg, png
- Диапазон соотношения сторон (ширина/высота): [1/3, 3]
- Ширина и высота (px) > 14
- Размер одного изображения: не более 10 МБ
- Общее количество пикселей: не более 6000×6000 px
object
Специфичные для канала параметры для расширенной конфигурации модели Seedream 4.0
Показать Свойства metadata
Показать Свойства metadata
string
по умолчанию:"2K"
Разрешение изображенияПоддерживаемые разрешения:
1K- Базовое разрешение2K- Стандартное разрешение (по умолчанию)4K- Высокое разрешение
| Разрешение | Размер 1:1 | Размер 16:9 |
|---|---|---|
| 1K | 1024x1024 | 1280x720 |
| 2K | 2048x2048 | 2560x1440 |
| 4K | 4096x4096 | 5404x3040 |
object
Параметры оптимизации промптаСвойства:
mode(строка): Режим оптимизацииstandard: Стандартный режим, генерирует контент более высокого качества с большим временем обработки (по умолчанию)fast: Быстрый режим, генерирует контент за более короткое время с обычным качеством
"optimize_prompt_options": { "mode": "standard" }
string
по умолчанию:"disabled"
Режим последовательной генерации изображений (специфическая функция Doubao)Контролирует, следует ли генерировать несколько изображений:
disabled: Отключить последовательный режим, генерирует только 1 изображение (по умолчанию)auto: Включить последовательный режим, может генерировать несколько изображений
- ✅ Установите
n: 3или используйтеsequential_image_generation: "auto"+max_images: 3 - ✅ Поддерживает генерацию по тексту: до 15 изображений только из текстового промпта
- ✅ Поддерживает генерацию по изображению: предоставьте
image_urlsдля нескольких вариаций - ⚠️ Когда
n > 1, автоматически устанавливается вauto
- Общее количество эталонных + генерируемых изображений ≤ 15
object
Параметры последовательной генерации изображенийДоступно, когда
sequential_image_generation установлен в autoСвойства:max_images(целое число): Укажите количество изображений для генерации, Диапазон: 1-15
"sequential_image_generation_options": { "max_images": 3 }
boolean
по умолчанию:true
Добавлять ли водяной знак к сгенерированному изображению
true: Добавить водяной знак (по умолчанию)false: Без водяного знака
Ответ
string
Уникальный идентификатор задачи для запроса статуса
string
Тип объекта, всегда
generation.taskstring
Используемое имя модели
string
Статус задачи
queued- В очереди на обработкуin_progress- Обработкаcompleted- Успешно завершеноfailed- Не удалось
integer
Процент выполнения задачи (0-100)
integer
Временная метка создания задачи (временная метка Unix)
object
Метаданные задачи
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/panda.jpg"
],
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 3,
"image_urls": [
"https://example.com/panda.jpg"
],
"metadata": {
"resolution": "4K",
"optimize_prompt_options": "standard",
"sequential_image_generation": "auto",
"sequential_image_generation_options": { "max_images": 3 },
"watermark": false
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"metadata": {
"resolution": "2K"
}
}
)
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": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/panda.jpg"],
"metadata": {
"resolution": "2K"
}
}
)
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": "doubao-seedream-4-0",
"prompt": "Милая панда играет в бамбуковом лесу",
"size": "1:1",
"n": 3,
"image_urls": ["https://example.com/panda.jpg"],
"metadata": {
"resolution": "4K",
"optimize_prompt_options": "standard",
"sequential_image_generation": "auto",
"sequential_image_generation_options": {"max_images": 3},
"watermark": False
}
}
)
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: 'doubao-seedream-4-0',
prompt: 'Милая панда играет в бамбуковом лесу',
size: '1:1',
n: 1,
metadata: {
resolution: '2K'
}
})
});
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: 'doubao-seedream-4-0',
prompt: 'Милая панда играет в бамбуковом лесу',
size: '1:1',
n: 1,
image_urls: ['https://example.com/panda.jpg'],
metadata: {
resolution: '2K'
}
})
});
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: 'doubao-seedream-4-0',
prompt: 'Милая панда играет в бамбуковом лесу',
size: '1:1',
n: 3,
image_urls: ['https://example.com/panda.jpg'],
metadata: {
resolution: '4K',
optimize_prompt_options: 'standard',
sequential_image_generation: 'auto',
sequential_image_generation_options: { max_images: 3 },
watermark: false
}
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "doubao-seedream-4-0",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
⌘I