---
title: "Get asset content"
method: GET
path: "/api/assets/{id}/content"
tags: ["file"]
---

# Get asset content

`GET /api/assets/{id}/content`

Returns the binary content of an asset by ID.

The contract is the same across runtimes — "GET this path and you
receive the asset's bytes" — but the mechanism differs:
- **Local ComfyUI** streams the bytes directly (`200`,
  `application/octet-stream`).
- **Cloud** does not proxy large files; it responds `302` with a
  `Location` redirect to a short-lived signed storage URL. Clients that
  follow redirects (browsers, `fetch`/XHR, `<img>`/`<video>`) receive
  the bytes transparently.

Prefer this over the filename-addressed `/api/view` when you have an
asset ID.

## Path parameters

- `id` string, required

## Query parameters

- `disposition` 'inline' | 'attachment'

## Response `200`

Asset content stream (local runtime streams the bytes directly)

## Other responses

- `302` — Redirect to a signed storage URL (cloud runtime)
- `404` — Asset not found
- `500` — Internal server error

## Changes

- **2026-06-18** `82d930769975` — 1 info
  - endpoint added
- **2026-06-03** `8560879e6188` — 1 breaking
  - api path removed without deprecation
- **2026-04-24** `a66055fa384e` — 2 breaking, 1 warning, 7 info
  - for the `path` request parameter `id`, the type/format was changed from `string`/`` to `string`/`uuid`
  - removed the media type `application/json` for the response with the status `404`
  - deleted the `query` request parameter `disposition`
  - the endpoint scheme security `ApiKeyAuth` was removed from the API
  - …6 more

[Change history](https://skmtc.dev/comfy-org/apis/comfyui-api/changes/api/assets/:id/content/get.md)

---

[API](https://skmtc.dev/comfy-org/apis/comfyui-api.md) · [All operations](https://skmtc.dev/comfy-org/apis/comfyui-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/comfy-org/comfyui-api/revisions/da017caf56f1/schema)
