---
title: "Get Run Artifacts"
method: GET
path: "/runs/{run_id}/artifacts"
---

# Get Run Artifacts

`GET /runs/{run_id}/artifacts`

## Request

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

Read clips, format outcomes, transcript metadata, trailer, midform, and zip state.

Costs nothing quota-wise. Call after terminal completed, save the response verbatim as
run_manifest.json, then mint URLs only for artifacts being downloaded. Transcript word
timings live inside transcript.json; ephemeral per-clip SRT/VTT files are not exposed.
Recover from run_not_ready by polling GET /v1/runs/{run_id}/progress at the documented
cadence, and from run_not_found with GET /v1/runs. Retry service_unavailable after
retry_after_sec.

## Path parameters

- `run_id` string, required

## Response `200`

Successful Response

- ArtifactsResponse: GET /v1/runs/{id}/artifacts response; no URLs ride this cacheable shape.
  - `run_id` string, required
  - `clips` object[], required
  - `trailer` TrailerBlock
    - `available` boolean, required
    - `n_beats` integer, nullable
  - `midform` object[], nullable
  - `carousels` object[], nullable: Delivered image carousels (id, idx, title, hook_grade, slide_count, deliverable); null when the run ordered none. Slides download via the web bundle; this manifest carries no URLs.
  - `zip_available` boolean, required
  - `transcript` TranscriptArtifact, required: Availability and durable manifest metadata for transcript.json.
    - `available` boolean, required: Whether the durable transcript.json artifact exists.
    - `language` string, nullable: Persisted transcript language, when recorded in the manifest.
    - `words` integer, nullable: Persisted word count, when recorded in the transcript manifest.
    - `duration_sec` number, nullable: Persisted transcript/source duration in seconds, when recorded.
  - `format_outcomes` object, required: Per-format delivery outcomes for ordered or explicitly refused formats. Keys are among shorts, twitter, midform, trailers, and carousels.

## 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)
