Schemas
Collection
idnametitledescriptionslugUse as the collection filter on /v1/artworks
parent_collectionMedia
urlDirect URL (IPFS already resolved to a gateway)
typecontent_typewidthheightArtwork
idnameartist_namecollectionOpenSea collection slug
Best still image — original file preferred over CDN crops
Motion variant (video) when the work has one
ratioTrustworthy aspect ratio (width/height); 1 when unknown. Never derived from a square CDN crop.
opensea_urlRoom
idtitlearchitectdescriptionseriesslotsNumber of artwork wall slots (source of truth: the smart contract, synced onchain → Directus)
token_idimage_urlPreview image (Directus asset URL, supports ?width=&format= transforms)
model_urlGLB model download URL — the untouched high-quality version (single-room HQ viewer)
model_optimized_urlOptimized GLB download URL (draco-compressed, webp textures) with embedded Slot_NNN placeholder nodes — the variant the exhibition builder uses. For un_MUSEUMs (no authored slots in the model) the slots are generated deterministically from the onchain slot amount. Null until the variant has been generated.
slot_data_urlURL of the room's baked slot data (GET /v1/rooms/{id}/slots) — per-slot anchors with resolved facing. Null until the data has been baked.
Decc0Summary
idToken id (1–10000)
namedescriptionancestordecc0_typedna1dna2dna3dna4cultural_affiliationphilosophical_affiliationartstyle_lovedownerEthereum address
soulmultiplicitythumbnail_urlthumbnail_character_urlthumbnail_background_urlimage_ipfs_urlipfs:// URI of the final artwork
timestamp_createdDecc0Detail
idToken id (1–10000)
namedescriptionancestordecc0_typedna1dna2dna3dna4cultural_affiliationphilosophical_affiliationartstyle_lovedownerEthereum address
soulmultiplicitythumbnail_urlthumbnail_character_urlthumbnail_background_urlimage_ipfs_urlipfs:// URI of the final artwork
timestamp_createdbiographycharacterizationconfessionagent_profilesOnly with include=profiles
moltbotOnly with include=profiles
codex_documentOnly with include=codex; null when no codex file exists for this token
LibraryAnswer
questionanswergraph_contextEntities/relationships used (when use_graph)
Soul
How to verify authenticity
GuideContextArtwork
idMuseum artwork id (nfts.id), when known.
titleartistdescriptionArtwork description from museum data, clamped.
collectionGuideContextRoom
uidPlacement uid from the exhibition export.
idMuseum room id.
titlearchitectThe room’s architect, from museum data.
descriptionseriesGuideContext
idStable exhibition id from the world builder.
nameregisteredAtgeneratorartistsDistinct exhibited artist names.
architectsDistinct room architect names.
startersCortex-suggested visitor questions (filled in asynchronously after registration).
GuideAnswer
answerThe guide’s in-persona answer.
personaName of the persona that answered (Omnimorph or a DeCC0).
suggestionsFollow-up questions to offer the visitor.
sourcesLibrary document titles the answer drew on.
fallbackTrue when the answer was built from exhibition context alone (Library unreachable).
RoomSlot
idStable slot id — Slot_NNN for slots that exist as GLB nodes, Auto_NNN for generated anchors on models without placeholder nodes (un_MUSEUMs).
index1-based slot number.
sourceauthored = extracted from a Slot_NNN placeholder node in the GLB; generated = deterministically surface-sampled from the onchain slot amount.
positionAnchor center [x, y, z], room-local.
quaternionOrientation [x, y, z, w], room-local. Local +Z = resolved facing direction, +Y = upright.
widthFrame width in room-local units.
heightFrame height in room-local units.
facingResolved facing direction (unit vector, room-local) — equal to the quaternion's +Z, included for convenience.
flippedTrue when the placeholder's authored normal pointed into the wall and was flipped during facing resolution.
ambiguousTrue when the geometry probe found both sides of the slot equally open/closed and the room-interior tie-break decided the facing.
RoomSlotData
versionroomRoom id.
modelDirectus file id of the GLB the slots were computed from. Compare against the room's current model file before trusting the anchors.
generated_at