---
title: "Download task artifact"
method: GET
path: "/v1/tasks/{task_id}/download"
tags: ["tasks"]
---

# Download task artifact

`GET /v1/tasks/{task_id}/download`

## Request

- Base URL: `https://api.framelane.io`
- URL: `https://api.framelane.io/v1/tasks/{task_id}/download`
- Auth: HTTP bearer

Redirects to a short-lived signed GCS URL for the completed task artifact.

Only for task types that produce a **file**. `transcribe` — the only task type today — returns its transcript inline as the `result` object on `GET /v1/tasks/{id}`, so this endpoint answers `404` for it: there is no file to download, and no amount of waiting will produce one. A `422` here means the task simply has not finished yet.

## Path parameters

- `task_id` string, required

## Other responses

- `302`: Redirect to a 5-minute signed URL.
- `401`: Missing or invalid API key.
- `404`: Task not found, or the task has no file artifact to download.
- `422`: Task not yet completed.
- `429`: Rate limit exceeded.

---

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