---
title: "Get Editing Download Url"
method: GET
path: "/api/tryon/editing/projects/{editing_project_id}/download"
tags: ["tryon-editing"]
---

# Get Editing Download Url

`GET /api/tryon/editing/projects/{editing_project_id}/download`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/tryon/editing/projects/{editing_project_id}/download`
- Auth: HTTP bearer

Mint a short-lived download URL for the source image or one output.

The display URLs handed out elsewhere are CloudFront-signed (or plain
presigned) for *inline* rendering, so the browser just opens them in a
tab — there's no way to bolt ``Content-Disposition`` onto a CloudFront
URL after the fact. This endpoint instead returns a **direct S3**
presigned GET carrying ``ResponseContentDisposition=attachment``, so
navigating to it downloads the file (works cross-origin — a top-level
navigation needs no CORS). Ownership is enforced by loading the project
under the caller's scope and resolving the key from owned rows only, so
a raw S3 key can't be guessed/enumerated.

## Path parameters

- `editing_project_id` string, uuid, required

## Query parameters

- `request_id` string, uuid, nullable: Output to download. Omit to download the project source.
- `output_index` integer

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

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