Перекодировать медиафайл
Упрощённый endpoint для перекодирования аудио/видео в MP3. Эквивалентен `POST /tasks` с шагами `[fetch, transcode]`. **Входные форматы:** MP3, WAV, OGG, FLAC, M4A, MP4, WebM, MKV. **Выходной формат:** MP3. Используйте для конвертации медиафайлов без транскрибации.
Authorization
AuthorizationRequiredBearer <token>API ключ для аутентификации. Передавайте в заголовке Authorization: Bearer sk-...
In: header
Request Body
application/jsonRequiredurlRequiredstringСсылка на медиафайл для перекодирования. Поддерживаемые входные форматы: MP3, WAV, OGG, FLAC, M4A, MP4, WebM, MKV. Выходной формат: MP3.
"uri"webhook_urlstringURL для отправки результата
"uri"ttlintegerВремя жизни данных результата в часах
4Minimum: 0Maximum: 24filenamestringИмя файла (передаётся в webhook и результат)
500metadataarray<object>Произвольные метаданные задачи (key-value пары). Возвращаются в ответе и webhook.
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)
Превышен лимит запросов для вашего тарифа. Повторите запрос через время, указанное в заголовке Retry-After.
Лимиты зависят от тарифа (см. раздел Тарифы в личном кабинете).
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
Ошибка upstream-сервиса (Core API). Сервис обработки временно недоступен. Повторите запрос позже.
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
curl -X POST "/api/v1/transcode" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/video.mkv",
"webhook_url": "https://example.com/webhook"
}'const body = JSON.stringify({
"url": "https://example.com/video.mkv",
"webhook_url": "https://example.com/webhook"
})
fetch("/api/v1/transcode", {
headers: {
"Authorization": "Bearer <token>"
},
body
})package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "/api/v1/transcode"
body := strings.NewReader(`{
"url": "https://example.com/video.mkv",
"webhook_url": "https://example.com/webhook"
}`)
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/transcode"
body = {
"url": "https://example.com/video.mkv",
"webhook_url": "https://example.com/webhook"
}
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": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Try again in 12 seconds"
}
}{
"success": false,
"error": {
"code": "UPSTREAM_ERROR",
"message": "Processing service is temporarily unavailable"
}
}