Асинхронные задачи

Создайте фоновую задачу скачивания и опрашивайте статус. Лучше всего для долгих загрузок или когда не хотите держать HTTP соединение.

POST/downloader/tasks

Создаёт новую задачу скачивания. Возвращает task_id и polling URLs. Кредиты списываются сразу.

Параметры

urlобязательныйstring

URL медиа для скачивания.

modeнеобязательныйselectauto | audio | video

Предпочтительный режим скачивания. 'auto' выбирает video для видео URL, audio для аудио URL.

qualityнеобязательныйselectmax | 2160 | 1440 | 1080 | 720 | 480 | 360

Предпочтительное качество видео. 'max' выбирает максимальное доступное.

use_cookiesнеобязательныйboolean

Использовать аутентифицированные cookies для приватного контента (premium функция).

max_file_size_mbнеобязательныйnumber

Максимальный размер файла в мегабайтах. Файлы больше — отклоняются или обрезаются.

Примеры кода

curl
curl -X POST 'https://api.anysave.click/downloader/tasks' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "url": "https://youtu.be/dQw4w9WgXcQ",
  "mode": "auto",
  "quality": "max",
  "use_cookies": false,
  "max_file_size_mb": 1990
}'

Пример ответа

json
{
  "status": "ok",
  "data": {
    "task_id": "018f9b4e-...",
    "status": "queued",
    "created_at": "2025-01-15T12:00:00Z",
    "status_url": "https://api.example.com/downloader/tasks/018f9b4e-...",
    "result_url": "https://api.example.com/downloader/tasks/018f9b4e-.../result"
  }
}
GET/downloader/tasks/{task_id}

Возвращает текущий lifecycle статус задачи: queued, processing или finished.

Параметры

task_idобязательныйstring

ID задачи, возвращённый POST /downloader/tasks.

Примеры кода

curl
curl -X GET 'https://api.anysave.click/downloader/tasks/018f9b4e-...' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Пример ответа

json
{
  "status": "ok",
  "data": {
    "task_id": "018f9b4e-...",
    "status": "processing",
    "result_status": null,
    "created_at": "2025-01-15T12:00:00Z",
    "started_at": "2025-01-15T12:00:01Z",
    "finished_at": null,
    "expires_at": "2025-01-15T12:15:00Z",
    "poll_after_ms": 1000
  }
}
GET/downloader/tasks/{task_id}/result

Возвращает результат скачивания. Возвращает 202 если задача ещё обрабатывается. Envelope результата совпадает с sync эндпоинтом.

Параметры

task_idобязательныйstring

ID задачи, возвращённый POST /downloader/tasks.

Примеры кода

curl
curl -X GET 'https://api.anysave.click/downloader/tasks/018f9b4e-.../result' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Пример ответа

json
{
  "status": "ok",
  "data": {
    "source_url": "https://youtu.be/dQw4w9WgXcQ",
    "service": "youtube",
    "is_truncated": false,
    "status": "tunnel",
    "file": {
      "type": "video",
      "url": "https://api.example.com/media/abc123.mp4",
      "filename": "abc123.mp4",
      "file_size_bytes": 15728640
    }
  }
}