---
title: "Create a short-lived private MP4 from one public YouTube video"
method: POST
path: "/api/youtube/download"
---

# Create a short-lived private MP4 from one public YouTube video

`POST /api/youtube/download`

## Request

- Base URL: `https://api.carryfeed.com`
- URL: `https://api.carryfeed.com/api/youtube/download`
- Auth: HTTP bearer

Successful files cost $0.10 from the signed-in account's Tools balance. The service selects video and audio up to 720p, merges them without re-encoding, enforces a 100 MiB file limit, and returns a private link that expires after 15 minutes.

## Request body

- object
  - `url` string, uri, required
  - `requestId` string, required
  - `maxCostMicros` integer: Maximum approved cost in USD micros

## Response `200`

Private download asset, source metadata, checksum, expiry, and billing result

## Other responses

- `400`: Invalid YouTube URL or request
- `402`: Insufficient Tools balance
- `404`: The YouTube video is unavailable
- `413`: The returned media exceeds 100 MiB
- `502`: Temporary YouTube extraction failure; the Tools reservation is released

---

[API](https://skmtc.dev/carryfeed/apis/carryfeed-api.md) · [All operations](https://skmtc.dev/carryfeed/apis/carryfeed-api/llms.txt) · [OpenAPI document](https://skmtc.dev/carryfeed/apis/carryfeed-api/revisions/00de1a6b965e?raw)
