Создать задачу
Создаёт новую задачу обработки. Укажите `url` (ссылка на медиафайл) или `input` (текст), а также `steps` (ad-hoc шаги) или `pipeline_id` (сохранённый шаблон). Задача выполняется асинхронно. Статус и результат можно получить через `GET /tasks/{taskId}`, SSE-стрим `GET /tasks/{taskId}/events` или webhook.
Authorization
AuthorizationRequiredBearer <token>API ключ для аутентификации. Передавайте в заголовке Authorization: Bearer sk-...
In: header
Request Body
application/jsonRequiredurlstringСсылка на медиафайл (аудио/видео). Обязательно, если не указан input
"uri"inputstringТекст для обработки (до 100 000 символов). Обязательно, если не указан url
100000stepsarray<object>Шаги обработки (ad-hoc). Обязательно, если не указан pipeline_id
pipeline_idstringID сохранённого шаблона пайплайна. Обязательно, если не указаны steps
"uuid"webhook_urlstringURL для отправки результата по завершении задачи
"uri"ttlintegerВремя жизни данных результата в часах. 0 — удалить данные сразу после успешной доставки webhook
4Minimum: 0Maximum: 24templatestringНазвание шаблона промпта для LLM (напр. meeting, interview)
100promptstringПользовательский промпт для LLM
10000filenamestringИмя файла (передаётся в webhook и результат)
500send_intermediate_webhooksbooleanЗарезервировано. В текущей версии не поддерживается
falseresponseSchemaobjectJSON-схема для структурирования ответа LLM
metadataarray<object>Пользовательские метаданные (до 50 элементов)
Response Body
Задача создана
successbooleandataobjectОшибка валидации запроса. Тело запроса не соответствует схеме или содержит невалидные значения.
Поле errors содержит детализацию по каждому невалидному полю.
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
Ошибка аутентификации.
| Код | Причина | Что делать |
|---|---|---|
MISSING_API_KEY | Заголовок Authorization отсутствует | Добавьте Authorization: Bearer sk-... |
INVALID_AUTH_FORMAT | Неверный формат заголовка | Используйте формат Bearer sk-... |
INVALID_API_KEY | Ключ не найден в системе | Проверьте ключ в личном кабинете |
API_KEY_INACTIVE | Ключ деактивирован | Активируйте ключ в личном кабинете |
API_KEY_EXPIRED | Срок действия ключа истёк | Создайте новый ключ |
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
Недостаточно средств на балансе для выполнения операции. Пополните баланс в личном кабинете.
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
Шаблон пайплайна не найден. Убедитесь, что ID корректный и шаблон принадлежит вашему аккаунту (или является системным).
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
Превышен лимит запросов для вашего тарифа. Повторите запрос через время, указанное в заголовке Retry-After.
Лимиты зависят от тарифа (см. раздел Тарифы в личном кабинете).
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
Ошибка upstream-сервиса (Core API). Сервис обработки временно недоступен. Повторите запрос позже.
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
curl -X POST "/api/v1/tasks" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/meeting.mp3",
"webhook_url": "https://example.com/webhook",
"language_in": "ru",
"language_out": "ru",
"template": "meeting",
"steps": [
{
"name": "fetch",
"depends_on": []
},
{
"name": "transcode",
"depends_on": [
"fetch"
]
},
{
"name": "transcribe",
"depends_on": [
"transcode"
],
"options": {
"diarization": true
}
},
{
"name": "llm",
"depends_on": [
"transcribe"
]
}
]
}'const body = JSON.stringify({
"url": "https://example.com/meeting.mp3",
"webhook_url": "https://example.com/webhook",
"language_in": "ru",
"language_out": "ru",
"template": "meeting",
"steps": [
{
"name": "fetch",
"depends_on": []
},
{
"name": "transcode",
"depends_on": [
"fetch"
]
},
{
"name": "transcribe",
"depends_on": [
"transcode"
],
"options": {
"diarization": true
}
},
{
"name": "llm",
"depends_on": [
"transcribe"
]
}
]
})
fetch("/api/v1/tasks", {
headers: {
"Authorization": "Bearer <token>"
},
body
})package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "/api/v1/tasks"
body := strings.NewReader(`{
"url": "https://example.com/meeting.mp3",
"webhook_url": "https://example.com/webhook",
"language_in": "ru",
"language_out": "ru",
"template": "meeting",
"steps": [
{
"name": "fetch",
"depends_on": []
},
{
"name": "transcode",
"depends_on": [
"fetch"
]
},
{
"name": "transcribe",
"depends_on": [
"transcode"
],
"options": {
"diarization": true
}
},
{
"name": "llm",
"depends_on": [
"transcribe"
]
}
]
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}import requests
url = "/api/v1/tasks"
body = {
"url": "https://example.com/meeting.mp3",
"webhook_url": "https://example.com/webhook",
"language_in": "ru",
"language_out": "ru",
"template": "meeting",
"steps": [
{
"name": "fetch",
"depends_on": []
},
{
"name": "transcode",
"depends_on": [
"fetch"
]
},
{
"name": "transcribe",
"depends_on": [
"transcode"
],
"options": {
"diarization": true
}
},
{
"name": "llm",
"depends_on": [
"transcribe"
]
}
]
}
response = requests.request("POST", url, json = body, headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
})
print(response.text){
"success": true,
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "pending",
"input": {},
"output": {},
"error": "string",
"webhook_url": "string",
"expires_at": "2019-08-24T14:15:22Z",
"expired": true,
"metadata": [
{
"key": "string",
"value": "string"
}
],
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z"
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request body"
},
"errors": [
{
"field": "url",
"message": "Укажите url или input"
}
]
}{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "API key is required. Pass it in Authorization header: Bearer sk-..."
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Недостаточно средств на балансе"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Pipeline template not found"
}
}{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Try again in 12 seconds"
}
}{
"success": false,
"error": {
"code": "UPSTREAM_ERROR",
"message": "Processing service is temporarily unavailable"
}
}