v36

latestOpenAPI 3.0.3GNU General Public License v3.0raw.githubusercontent.com2026-08-017758212.6 KB
file

Create asset reference from existing hash

Creates a new asset reference using an existing asset's hash. This avoids re-uploading the file content when the asset already exists in storage. The user can provide their own metadata and tags for the reference.

post/api/assets/from-hash

Request body

hashstring required

Blake3 content hash of the existing asset (blake3: prefix)

mime_typestring

MIME type of the asset (e.g., "image/png", "video/mp4")

namestring

Display name for the asset reference (optional)

tagsstring[] required

Freeform tags for the asset. Common types include "models", "input", "output", and "temp", but any tag can be used in any order.

user_metadataobject

Custom metadata for this asset reference

Response

Asset reference already existed for this user (deduplicated by content hash); the existing asset is returned with created_new=false.

created_atstring date-time required

Timestamp when the asset was created

display_namestring nullable

Display name of the asset. Mirrors name for backwards compatibility.

file_pathstring nullable

Relative path in global-namespace-root form (e.g. "models/checkpoints/flux.safetensors")

hashstring

Blake3 hash of the asset content.

idstring uuid required

Unique identifier for the asset

is_immutableboolean

Whether this asset is immutable (cannot be modified or deleted)

job_idstring uuid nullable

ID of the job that created this asset, if available

last_access_timestring date-time

Timestamp when the asset was last accessed

metadataobject

System-managed metadata from download sources (HuggingFace, CivitAI, etc.) - read-only, not user-modifiable

mime_typestring

MIME type of the asset

namestring required

Name of the asset file

preview_idstring uuid nullable

ID of the preview asset if available

preview_urlstring uri

URL for asset preview/thumbnail

short_urlstring nullable

Durable, owner-gated short link to this asset's content (relative /api/s/{id} path). Stable across the underlying signed URL's expiry — resolving it re-mints a fresh signed URL on every request — so it is safe to persist or share into chat, unlike preview_url. Only the minting user can resolve it. Omitted when the short-link surface is disabled or the asset has no resolvable content hash.

sizeinteger

Size of the asset in bytes

tagsstring[]

Tags associated with the asset

updated_atstring date-time required

Timestamp when the asset was last updated

user_metadataobject

Custom user metadata for the asset

created_newboolean required

Whether this was a new asset creation (true) or returned existing (false)