Source of truth for implementation is the canonical schema host:
https://schemas.meta-aiml.org/v3.0.0/. If any page text conflicts with canonical schema files, follow canonical files. Documentation home.PhotoHosting
v3.0.0
DigitalEntity
Media
v3 schema for image hosting platforms that provide upload, organization, sharing, and delivery of photos directly to users and teams.
Top-level required
10
Required modules
0
Capability groups
1
Entity properties
5
Canonical Files
Inheritance Chain
https://schemas.meta-aiml.org/v3.0.0/ontology/digital_entity.json
https://schemas.meta-aiml.org/v3.0.0/archetypes/direct_service.json
Interaction archetype
DirectService
Required Top-level Fields
These fields are enforced by JSON Schema required[] at root level.
@type
ontologicalMode
interactionArchetype
domain
name
description
deliveryFormat
capabilities
structuralMetadata
modules
Non-universal required fields
interactionArchetype
Entity-specific Properties
Keys under
properties.properties dedicated to this entity contract.defaultImageProcessingPipeline
supportsAiAutoTagging
supportsAlbumHierarchy
supportsPublicGalleries
supportsRawFormats
Modules Contract
Required modules
No required modules for this entity.
Optional modules
discovery
mediaPipeline
sharing
Capabilities Contract
Required capability groups
interaction
Optional capability groups
community
content
financial
Governance Validation Rules
Normative rule list from
governanceMetadata.sdkValidationRules.RULE-PHOTO-001: @type MUST equal "PhotoHosting"
RULE-PHOTO-002: ontologicalMode MUST equal "DigitalEntity"
RULE-PHOTO-003: interactionArchetype MUST contain "DirectService"
RULE-PHOTO-004: capabilities.interaction MUST be present
RULE-PHOTO-005: structuralMetadata.topology MUST equal "binary"
RULE-PHOTO-006: supportsRawFormats SHOULD be explicitly declared
Canonical Contract JSON
https://schemas.meta-aiml.org/v3.0.0/entity/photo_hosting.json
https://schemas.meta-aiml.org/v3.0.0/entity/photo_hosting.json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"@context": [
"https://schemas.meta-aiml.org/v3.0.0/context.jsonld"
],
"@id": "https://schemas.meta-aiml.org/v3.0.0/entity/photo_hosting.json",
"$id": "https://schemas.meta-aiml.org/v3.0.0/entity/photo_hosting.json",
"@type": "PhotoHosting",
"schemaVersion": "3.0.0",
"aimlVersion": "3.0.0",
"title": "Photo Hosting Entity Schema",
"description": "v3 schema for image hosting platforms that provide upload, organization, sharing, and delivery of photos directly to users and teams.",
"examples": [
{
"description": "Creator-focused photo platform with albums, tagging, and public galleries",
"reference": "photo_hosting_example_creator"
},
{
"description": "Enterprise media library with controlled sharing and metadata search",
"reference": "photo_hosting_example_enterprise"
}
],
"type": "object",
"additionalProperties": false,
"allOf": [
{
"$ref": "../ontology/digital_entity.json"
},
{
"$ref": "../archetypes/direct_service.json"
}
],
"properties": {
"@type": {
"const": "PhotoHosting"
},
"ontologicalMode": {
"const": "DigitalEntity"
},
"interactionArchetype": {
"type": "array",
"contains": {
"const": "DirectService"
},
"items": {
"type": "string",
"enum": [
"DirectService"
]
}
},
"domain": {
"const": "Media"
},
"businessModel": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Subscription",
"Freemium",
"Transactional"
]
}
},
"deliveryFormat": {
"type": "array",
"items": {
"type": "string",
"enum": [
"WebApp",
"MobileApp",
"API"
]
}
},
"name": {
"$ref": "../components/multilingual_format.json#/$defs/LocalizedText"
},
"description": {
"$ref": "../components/multilingual_format.json#/$defs/LocalizedText"
},
"shortDescription": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"foundingDate": {
"type": "string",
"format": "date"
},
"properties": {
"type": "object",
"properties": {
"supportsRawFormats": {
"type": "boolean"
},
"supportsAlbumHierarchy": {
"type": "boolean"
},
"supportsPublicGalleries": {
"type": "boolean"
},
"supportsAiAutoTagging": {
"type": "boolean"
},
"defaultImageProcessingPipeline": {
"type": "string",
"enum": [
"lossless",
"optimized",
"adaptive"
]
}
}
},
"capabilities": {
"type": "object",
"required": [
"interaction"
],
"properties": {
"interaction": {
"$ref": "../components/capability_groups.json#/$defs/InteractionCapabilities"
},
"content": {
"$ref": "../components/capability_groups.json#/$defs/ContentCapabilities"
},
"financial": {
"$ref": "../components/capability_groups.json#/$defs/FinancialCapabilities"
},
"community": {
"$ref": "../components/capability_groups.json#/$defs/CommunityCapabilities"
}
}
},
"modules": {
"type": "object",
"properties": {
"mediaPipeline": {
"type": "object",
"properties": {
"thumbnailGenerationEnabled": {
"type": "boolean"
},
"formatConversionEnabled": {
"type": "boolean"
},
"metadataExtractionEnabled": {
"type": "boolean"
}
}
},
"sharing": {
"type": "object",
"properties": {
"expiringLinksEnabled": {
"type": "boolean"
},
"passwordProtectedLinksEnabled": {
"type": "boolean"
},
"embedOptionsEnabled": {
"type": "boolean"
}
}
},
"discovery": {
"type": "object",
"properties": {
"tagSearchEnabled": {
"type": "boolean"
},
"visualSimilaritySearchEnabled": {
"type": "boolean"
},
"smartCollectionsEnabled": {
"type": "boolean"
}
}
}
}
},
"structuralMetadata": {
"type": "object",
"properties": {
"topology": {
"const": "binary"
},
"roles": {
"const": [
"user",
"platform"
]
},
"valueSource": {
"const": "platform_provided"
},
"transactionFlow": {
"const": "direct"
},
"networkEffects": {
"const": "none"
},
"assetDeliveryModel": {
"type": "string",
"enum": [
"cdn_served",
"origin_served",
"hybrid"
]
}
}
},
"targetAudience": {
"type": "array",
"items": {
"type": "string"
}
},
"siteCapabilities": {
"type": "object",
"properties": {
"supportedDevices": {
"type": "array",
"items": {
"type": "string",
"enum": [
"desktop",
"mobile",
"tablet"
]
}
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"accessibilityFeatures": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"required": [
"@type",
"ontologicalMode",
"interactionArchetype",
"domain",
"name",
"description",
"deliveryFormat",
"capabilities",
"structuralMetadata",
"modules"
],
"validationMetadata": {
"schemaVersion": "3.0.0",
"phase": "entity",
"status": "draft",
"lastValidated": "2026-02-20T12:00:00Z",
"validator": "META-AIML QA"
},
"semanticAnnotations": {
"classificationRationale": "PhotoHosting is modeled as DigitalEntity + DirectService because photo storage and delivery are provided directly by the platform.",
"disambiguationNotes": "Different from social-network-first media products where peer graph effects are primary value source."
},
"governanceMetadata": {
"entityVersion": "3.0.0",
"introducedIn": "META-AIML v3.0.0",
"stabilityLevel": "draft",
"sdkValidationRules": [
"RULE-PHOTO-001: @type MUST equal \"PhotoHosting\"",
"RULE-PHOTO-002: ontologicalMode MUST equal \"DigitalEntity\"",
"RULE-PHOTO-003: interactionArchetype MUST contain \"DirectService\"",
"RULE-PHOTO-004: capabilities.interaction MUST be present",
"RULE-PHOTO-005: structuralMetadata.topology MUST equal \"binary\"",
"RULE-PHOTO-006: supportsRawFormats SHOULD be explicitly declared"
]
}
}Filled Example Instance
https://schemas.meta-aiml.org/v3.0.0/examples/photo_hosting_example_schema_v3.json
https://schemas.meta-aiml.org/v3.0.0/examples/photo_hosting_example_schema_v3.json
{
"@context": [
"https://schemas.meta-aiml.org/v3.0.0/context.jsonld"
],
"@id": "https://data.meta-aiml.org/v3.0.0/examples/photo_hosting/lenscloud-gallery",
"$id": "https://data.meta-aiml.org/v3.0.0/examples/photo_hosting/lenscloud-gallery",
"@type": "PhotoHosting",
"schemaVersion": "3.0.0",
"aimlVersion": "3.0.0",
"title": "Example Filled Photo Hosting Entity (LensCloud Gallery)",
"ontologicalMode": "DigitalEntity",
"interactionArchetype": [
"DirectService"
],
"domain": "Media",
"businessModel": [
"Subscription",
"Freemium",
"Transactional"
],
"deliveryFormat": [
"WebApp",
"MobileApp",
"API"
],
"name": {
"en": "LensCloud Gallery",
"es": "LensCloud Gallery",
"fr": "LensCloud Gallery"
},
"description": {
"en": "LensCloud Gallery is a fictional photo hosting platform providing upload pipelines, AI-assisted tagging, secure sharing, and smart collection workflows for creators and teams.",
"es": "LensCloud Gallery es una plataforma ficticia de photo hosting con pipelines de carga, etiquetado asistido por IA, comparticion segura y colecciones inteligentes.",
"fr": "LensCloud Gallery est une plateforme fictive d hebergement photo avec pipeline d upload, etiquetage IA, partage securise et collections intelligentes."
},
"shortDescription": {
"en": "Photo hosting service with albums, AI tagging, and secure public/private sharing.",
"es": "Servicio de photo hosting con albumes, etiquetado IA y comparticion publica/privada segura.",
"fr": "Service d hebergement photo avec albums, tagging IA et partage public/prive securise."
},
"url": "https://lenscloud-gallery.example",
"foundingDate": "2019-06-11",
"createdDate": "2026-02-20T21:12:00Z",
"lastModified": "2026-02-20T21:12:00Z",
"examples": [
{
"scenario": "Portfolio migration for 120k high-resolution images",
"note": "AI should prioritize mediaPipeline and storage optimization settings, including format conversion and metadata extraction checks."
},
{
"scenario": "External client review cycle with expiring links",
"note": "AI should use sharing policies to issue secure links and enforce download restrictions with audit visibility."
}
],
"properties": {
"supportsRawFormats": true,
"supportsAlbumHierarchy": true,
"supportsPublicGalleries": true,
"supportsAiAutoTagging": true,
"defaultImageProcessingPipeline": "adaptive",
"contactPoints": [
{
"contactType": "support",
"telephone": "+1-213-555-0126",
"email": "support@lenscloud-gallery.example",
"url": "https://lenscloud-gallery.example/help",
"areaServed": "global",
"availableLanguages": [
"en",
"es",
"fr"
]
}
],
"socialProfiles": [
{
"platform": "instagram",
"url": "https://instagram.com/lenscloudgallery",
"username": "lenscloudgallery"
},
{
"platform": "youtube",
"url": "https://youtube.com/@lenscloudgallery",
"username": "lenscloudgallery"
}
],
"identifiers": [
{
"type": "url",
"value": "https://lenscloud-gallery.example"
},
{
"type": "custom",
"value": "PH-LCG-001"
}
]
},
"capabilities": {
"interaction": {
"features": [
"messaging",
"commenting",
"notifications"
],
"interactionMethods": [
"online_form",
"chat"
],
"availableActions": [
"upload_photo",
"create_album",
"share_gallery",
"request_review"
],
"hasMessaging": true,
"hasComments": true,
"hasRating": false,
"hasReviews": false,
"hasSocialGraph": false,
"hasFeed": false,
"hasNotifications": true,
"hasMatching": false,
"realTimeCommunication": true,
"moderationEnabled": true,
"privacyControls": [
"private",
"public"
]
},
"content": {
"features": [
"publishing",
"mediaHosting",
"search",
"categories",
"tags",
"archives"
],
"contentTypes": [
"photo",
"album",
"collection",
"metadata_record"
],
"contentFormats": [
"jpg",
"png",
"webp",
"raw"
],
"contentAccess": [
"member",
"public",
"restricted"
],
"editorialControl": true,
"userGeneratedContent": true,
"mediaHosting": true,
"searchPossible": true,
"hasCategorization": true,
"hasTagging": true,
"archiveAccess": true,
"rssFeeds": false
},
"financial": {
"features": [
"payments",
"billing",
"subscriptionManagement",
"refunds"
],
"paymentMethods": [
"credit_card",
"digital_wallet",
"bank_transfer"
],
"acceptsCreditCards": true,
"currencies": [
"USD",
"EUR"
],
"priceRange": "storage_tiered",
"commissionModel": "fixed_price",
"commissionRate": 0,
"supportsSubscriptions": true,
"supportsInvoicing": true,
"refundPolicy": "partial_refund"
},
"community": {
"features": [
"groups",
"communities",
"discovery",
"moderation"
],
"supportsGroups": true,
"supportsChannels": false,
"communitiesCount": 92,
"hasDiscovery": true,
"hasModeration": true,
"moderationModel": "human",
"hasMembershipManagement": true,
"membershipTypes": [
"creator",
"client"
],
"supportsGroupEvents": false,
"supportsPolls": false,
"hasGovernance": false,
"governanceModel": "centralized",
"privacyLevels": [
"public",
"closed"
]
}
},
"modules": {
"mediaPipeline": {
"thumbnailGenerationEnabled": true,
"formatConversionEnabled": true,
"metadataExtractionEnabled": true
},
"sharing": {
"expiringLinksEnabled": true,
"passwordProtectedLinksEnabled": true,
"embedOptionsEnabled": true
},
"discovery": {
"tagSearchEnabled": true,
"visualSimilaritySearchEnabled": true,
"smartCollectionsEnabled": true
}
},
"structuralMetadata": {
"topology": "binary",
"roles": [
"user",
"platform"
],
"valueSource": "platform_provided",
"transactionFlow": "direct",
"networkEffects": "none",
"assetDeliveryModel": "hybrid"
},
"targetAudience": [
"photographers",
"creative_teams",
"media_agencies"
],
"siteCapabilities": {
"supportedDevices": [
"desktop",
"mobile",
"tablet"
],
"languages": [
"en",
"es",
"fr"
],
"accessibilityFeatures": [
"keyboard_navigation",
"screen_reader_labels",
"text_scaling"
]
},
"validationMetadata": {
"schemaVersion": "3.0.0",
"phase": "example_instance",
"status": "reference",
"lastValidated": "2026-02-20T21:12:00Z",
"validator": "META-AIML SDK v3"
},
"semanticAnnotations": {
"classificationRationale": "PhotoHosting is modeled as DigitalEntity plus DirectService because media storage and delivery are first-party platform functions.",
"disambiguationNotes": "This model is not a social feed-first network. Community features are auxiliary to hosting and asset management.",
"intendedUse": "Canonical example for photo hosting and digital asset management services."
},
"governanceMetadata": {
"entityVersion": "3.0.0",
"introducedIn": "META-AIML v3.0.0",
"stabilityLevel": "reference",
"sdkValidationRules": [
"RULE-PHXX-001: @type MUST equal \"PhotoHosting\"",
"RULE-PHXX-002: ontologicalMode MUST equal \"DigitalEntity\"",
"RULE-PHXX-003: interactionArchetype MUST contain exactly one value: \"DirectService\"",
"RULE-PHXX-004: modules.mediaPipeline, modules.sharing, and modules.discovery MUST be present",
"RULE-PHXX-005: structuralMetadata constants MUST align with DirectService archetype",
"RULE-PHXX-006: examples MUST include at least two operational scenarios"
]
}
}