Генерация изображений
Создание задач «текст в изображение»
POST /api/v1/images/generations создаёт от одного до четырёх изображений по
текстовому описанию. Требуемое право: images:generate.
Тело JSON
| Поле | Тип | Обязательно | По умолчанию | Правила |
|---|---|---|---|---|
prompt | string | да | — | без пробелов по краям, 5–2 000 символов |
aspect_ratio | string | нет | 1:1 | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5 или 21:9 |
resolution | string | нет | 2K | 2K или 4K |
count | integer | нет | 1 | 1–4 |
Неизвестные поля отклоняются. В публичном запросе нет параметров маршрутизации возможностей.
Кредиты
| Разрешение | Кредитов за изображение |
|---|---|
2K | 5 |
4K | 20 |
Итоговый резерв равен стоимости одного изображения, умноженной на count.
Кредиты резервируются атомарно при приёме задачи, списываются при успехе и
освобождаются при окончательной неудаче.
cURL
curl https://sci-draw.com/api/v1/images/generations \
-H 'Authorization: Bearer sd_YOUR_KEY' \
-H 'Idempotency-Key: manuscript-42-panel-a' \
-H 'Prefer: wait=10' \
-H 'Content-Type: application/json' \
-d '{"prompt":"A labeled plant cell diagram","aspect_ratio":"4:3","resolution":"2K","count":1}'JavaScript
const response = await fetch('https://sci-draw.com/api/v1/images/generations', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SCIDRAW_API_KEY}`,
'Idempotency-Key': crypto.randomUUID(),
'Content-Type': 'application/json',
},
body: JSON.stringify({ prompt: 'A labeled plant cell diagram' }),
});
const body = await response.json();Python
import os, uuid, requests
response = requests.post(
"https://sci-draw.com/api/v1/images/generations",
headers={
"Authorization": f"Bearer {os.environ['SCIDRAW_API_KEY']}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={"prompt": "A labeled plant cell diagram", "resolution": "2K"},
)
job = response.json()["data"]Пока задача в очереди или выполняется, возвращается 202; если за время
ограниченного ожидания она завершилась — 200. Схема ответа и порядок опроса
описаны в разделе Задачи.
Размеры результата
2K и 4K обозначают уровни размера, а не фиксированную длину стороны. В таблице указаны фактические размеры в пикселях. Неподдерживаемые пропорции возвращают HTTP 400 (INVALID_REQUEST) до создания задания или резервирования кредитов.
aspect_ratio | 2K | 4K |
|---|---|---|
| 1:1 | 2048×2048 | 2880×2880 |
| 16:9 | 2560×1440 | 3840×2160 |
| 9:16 | 1440×2560 | 2160×3840 |
| 4:3 | 2304×1728 | 3264×2448 |
| 3:4 | 1728×2304 | 2448×3264 |
| 3:2 | 2496×1664 | 3504×2336 |
| 2:3 | 1664×2496 | 2336×3504 |
| 5:4 | 2240×1792 | 3200×2560 |
| 4:5 | 1792×2240 | 2560×3200 |
| 21:9 | 3136×1344 | 3808×1632 |

Документация API