---
title: "Create Run Download Url"
method: POST
path: "/runs/{run_id}/artifacts/download-url"
---

# Create Run Download Url

`POST /runs/{run_id}/artifacts/download-url`

## Request

- Base URL: `https://www.clipzyn.com/v1`
- URL: `https://www.clipzyn.com/v1/runs/{run_id}/artifacts/download-url`
- Auth: HTTP bearer

Mint {url, expires_at} for transcript, trailer, midform, or the curated run zip.

Costs nothing quota-wise. Call at the moment of download because URLs expire; use the
artifact and midform_id values from the run manifest. Recover from run_not_ready by
polling progress, transcript_not_available by omitting that download, validation_error by
choosing a listed artifact, and run_not_found with GET /v1/runs. For service_unavailable,
wait retry_after_sec and retry once.

## Path parameters

- `run_id` string, required

## Request body

- RunDownloadRequest
  - `artifact` string: Run artifact to download. Omit for the existing curated zip bundle behavior; use transcript to download transcript.json with word timings.
  - `midform_id` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

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