跳转到内容

ak.schema.media_metadata.v1

← Schemas

Arkret Media Metadata
ak.schema.media_metadata.v1 · file: schemas/media-metadata.schema.json
* $ · object
* blob_ref · string
pattern: ^ak:blob:(?:[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|(?:sha256|blake3):[0-9a-f]{64})$
* media_type · string
pattern: ^[a-z0-9.+-]+/[a-z0-9.+-]+$
* size_bytes · integer
duration_ms · integer
width · integer
height · integer
preview_blob_ref · string
pattern: ^ak:blob:(?:[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|(?:sha256|blake3):[0-9a-f]{64})$
thumbnails · array<object>
Bound thumbnail / preview descriptors. Producers SHOULD prefer this over preview_blob_ref for private or E2EE media.
items · object
* source_blob_ref · string · $ref #/$defs/blob_ref
Content-addressed reference to exact Blob bytes. The embedded suite and digest are the sole wire commitment to those bytes; sibling content/ciphertext digest mirrors are forbidden.
pattern: ^ak:blob:(?:sha256|blake3):[0-9a-f]{64}$
* thumbnail_blob_ref · string · $ref #/$defs/blob_ref
Content-addressed reference to exact Blob bytes. The embedded suite and digest are the sole wire commitment to those bytes; sibling content/ciphertext digest mirrors are forbidden.
pattern: ^ak:blob:(?:sha256|blake3):[0-9a-f]{64}$
* width · integer
* height · integer
* media_type · string
pattern: ^[a-z0-9.+-]+/[a-z0-9.+-]+$
generated_by · string · $ref #/$defs/did_core_id
Canonical stable DID-derived identity core. The lowercase DID method name follows ak:did_core:, and the remaining method-adapter-defined core is opaque to generic consumers. The did:web v1 adapter uses the complete canonical method-specific-id, never a digest or truncated host. Principal-core and service-core equality is byte-for-byte equality of the complete did_core_id. Event actor and Realm membership equality instead use the complete closed ActorId, and account-scoped equality uses the complete AccountId; neither may be reduced to a principal core. A did_core_id is not a DID and cannot be resolved without a did or AuthenticatedServiceResolution.
pattern: ^ak:did_core:[a-z0-9]+:[^\s/?#]+$
* visibility · string (enum)
enum: "public" "realm_bound" "actor_private" "device_bound"
* derivation_profile · string
pattern: ^ak\.profile\.[a-z0-9][a-z0-9_.-]*\.v[0-9]+$
(^x_[a-z][a-z0-9_]{0,63}$) · any
* access · object
* visibility · string (enum)
enum: "public" "realm_bound" "actor_private" "device_bound"
range_supported · boolean
cache_control · string

Source