AssetVariant
type AssetVariant = { bytes: number; createdAt?: string; height?: number; preset: VariantPreset; sourceFrom?: | VariantPreset | "upload"; url: string; width?: number;};Defined in: packages/asset-client/src/index.ts:99
One generated variant of an asset. Returned by the admin endpoints
(GET /assets/:id, POST /assets/:id/regenerate).
Properties
Section titled “Properties”bytes: number;Defined in: packages/asset-client/src/index.ts:109
Byte size of the variant file on R2.
createdAt?
Section titled “createdAt?”optional createdAt?: string;Defined in: packages/asset-client/src/index.ts:124
ISO timestamp this variant was written. Absent on pre-trace variants.
height?
Section titled “height?”optional height?: number;Defined in: packages/asset-client/src/index.ts:107
Pixel height. Same caveat as width.
preset
Section titled “preset”preset: VariantPreset;Defined in: packages/asset-client/src/index.ts:101
Long name (thumb / sm / … / original) — see VariantPreset.
sourceFrom?
Section titled “sourceFrom?”optional sourceFrom?: | VariantPreset | "upload";Defined in: packages/asset-client/src/index.ts:122
Where the bytes for this variant came from. Useful for quality
traceability — a thumb with sourceFrom: "original" is the
canonical case, while sourceFrom: "lg" means it was derived
from an already-encoded WebP (slight quality compounding).
"upload"→ first-write at/assets/process. The bytes came straight from the client’s PUT.VariantPreset→ regenerated from that preset’s variant.
Absent on variants written before the trace field existed.
url: string;Defined in: packages/asset-client/src/index.ts:103
Public CDN URL of this variant.
width?
Section titled “width?”optional width?: number;Defined in: packages/asset-client/src/index.ts:105
Pixel width. Absent for original-only assets where sharp was skipped, or for video presets.