Генерации
POST /v1/generations
Запускает генерацию. Ответ возвращается сразу с идентификатором задачи; сама генерация выполняется в фоне.
Запрос
Headers: Authorization: Bearer <api_key>, Content-Type: application/json
Body:
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| modelId | string | да | Идентификатор модели (из GET /v1/models) |
| settings | object | нет | Параметры генерации (prompt, размер и т.д.). Для media-полей передавайте массивы URL. |
Пример:
{
"modelId": "openai/dall-e-3",
"settings": {
"prompt": "Кот в космосе",
"size": "1024x1024"
}
}
Ответ
201 Created
{
"generationId": "jd7abc..."
}
Ошибки
- 400 — неверный JSON или отсутствует
modelId - 401 — неверный или отсутствующий API-ключ
- 402 — недостаточно средств на балансе
- 404 — модель не найдена или недоступна
GET /v1/generations/:id
Возвращает статус и результат генерации.
Запрос
Headers: Authorization: Bearer <api_key>
Ответ
200 OK
{
"status": "completed",
"result": "https://.../proxy/xxx.jpg",
"price": 10
}
| Поле | Тип | Описание |
|---|---|---|
| status | string | pending | processing | completed | failed |
| result | string | При completed: URL файла или текст (в зависимости от типа модели). Отсутствует, пока статус не completed. |
| price | number | Стоимость в токенах. Присутствует при завершённой генерации (completed или failed). |
Примеры для разных статусов:
В процессе:
{
"status": "processing"
}
Успех (изображение/видео):
{
"status": "completed",
"result": "https://<site>/proxy/abc123.jpg",
"price": 15
}
Успех (текст):
{
"status": "completed",
"result": "Сгенерированный текст...",
"price": 2
}
Ошибка:
{
"status": "failed",
"price": 15
}
Ошибки
- 401 — неверный API-ключ
- 404 — генерация не найдена или принадлежит другому пользователю