{
  "@context": {
    "@vocab": "https://char-gen.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "char": "https://char-gen.com/schema#",
    "ImageGenerationRequest": "char:ImageGenerationRequest",
    "type": {
      "@id": "char:type",
      "@type": "xsd:string"
    },
    "input": {
      "@id": "char:input",
      "@type": "@id"
    },
    "ImageInput": "char:ImageInput",
    "model": {
      "@id": "char:model",
      "@type": "xsd:string"
    },
    "prompt": {
      "@id": "char:prompt",
      "@type": "xsd:string"
    },
    "referenceImageUrl": {
      "@id": "char:referenceImageUrl",
      "@type": "xsd:string"
    },
    "size": {
      "@id": "char:size",
      "@type": "xsd:string"
    },
    "numImages": {
      "@id": "char:numImages",
      "@type": "xsd:integer"
    },
    "requestFields": {
      "@id": "char:requestFields"
    },
    "VideoGenerationRequest": "char:VideoGenerationRequest",
    "VideoInput": "char:VideoInput",
    "referenceVideoUrl": {
      "@id": "char:referenceVideoUrl",
      "@type": "xsd:string"
    },
    "AudioGenerationRequest": "char:AudioGenerationRequest",
    "AudioInput": "char:AudioInput",
    "Model3dGenerationRequest": "char:Model3dGenerationRequest",
    "Model3dInput": "char:Model3dInput",
    "sourceModelUrl": {
      "@id": "char:sourceModelUrl",
      "@type": "xsd:string"
    },
    "NpcGenerationRequest": "char:NpcGenerationRequest",
    "NpcInput": "char:NpcInput",
    "race": {
      "@id": "char:race",
      "@type": "xsd:string"
    },
    "npcClass": {
      "@id": "char:npcClass",
      "@type": "xsd:string"
    },
    "occupation": {
      "@id": "char:occupation",
      "@type": "xsd:string"
    },
    "gender": {
      "@id": "char:gender",
      "@type": "xsd:string"
    },
    "age": {
      "@id": "char:age",
      "@type": "xsd:string"
    },
    "connections": {
      "@id": "char:connections",
      "@type": "xsd:string"
    },
    "level": {
      "@id": "char:level",
      "@type": "xsd:integer"
    },
    "gameType": {
      "@id": "char:gameType",
      "@type": "xsd:string"
    },
    "MonsterGenerationRequest": "char:MonsterGenerationRequest",
    "MonsterInput": "char:MonsterInput",
    "monsterType": {
      "@id": "char:monsterType",
      "@type": "xsd:string"
    },
    "role": {
      "@id": "char:role",
      "@type": "xsd:string"
    },
    "environment": {
      "@id": "char:environment",
      "@type": "xsd:string"
    },
    "gameSystem": {
      "@id": "char:gameSystem",
      "@type": "xsd:string"
    },
    "description": {
      "@id": "char:description",
      "@type": "xsd:string"
    },
    "crLevel": {
      "@id": "char:crLevel",
      "@type": "xsd:string"
    },
    "partyLevel": {
      "@id": "char:partyLevel",
      "@type": "xsd:string"
    },
    "difficulty": {
      "@id": "char:difficulty",
      "@type": "xsd:string"
    },
    "reskinOf": {
      "@id": "char:reskinOf",
      "@type": "xsd:string"
    },
    "FactionGenerationRequest": "char:FactionGenerationRequest",
    "FactionInput": "char:FactionInput",
    "factionType": {
      "@id": "char:factionType",
      "@type": "xsd:string"
    },
    "alignment": {
      "@id": "char:alignment",
      "@type": "xsd:string"
    },
    "theme": {
      "@id": "char:theme",
      "@type": "xsd:string"
    },
    "influenceLevel": {
      "@id": "char:influenceLevel",
      "@type": "xsd:string"
    },
    "additionalPrompt": {
      "@id": "char:additionalPrompt",
      "@type": "xsd:string"
    },
    "gameMode": {
      "@id": "char:gameMode",
      "@type": "xsd:string"
    },
    "MagicItemGenerationRequest": "char:MagicItemGenerationRequest",
    "MagicItemInput": "char:MagicItemInput",
    "powerTier": {
      "@id": "char:powerTier",
      "@type": "xsd:string"
    },
    "itemCategory": {
      "@id": "char:itemCategory",
      "@type": "xsd:string"
    },
    "curseLevel": {
      "@id": "char:curseLevel",
      "@type": "xsd:string"
    },
    "attunement": {
      "@id": "char:attunement",
      "@type": "xsd:string"
    },
    "HazardGenerationRequest": "char:HazardGenerationRequest",
    "HazardInput": "char:HazardInput",
    "hazardType": {
      "@id": "char:hazardType",
      "@type": "xsd:string"
    },
    "complexity": {
      "@id": "char:complexity",
      "@type": "xsd:string"
    },
    "disableRequirement": {
      "@id": "char:disableRequirement",
      "@type": "xsd:string"
    },
    "additionalDetails": {
      "@id": "char:additionalDetails",
      "@type": "xsd:string"
    },
    "CharacterGenerationRequest": "char:CharacterGenerationRequest",
    "CharacterInput": "char:CharacterInput",
    "species": {
      "@id": "char:species",
      "@type": "xsd:string"
    },
    "className": {
      "@id": "char:className",
      "@type": "xsd:string"
    },
    "subclass": {
      "@id": "char:subclass",
      "@type": "xsd:string"
    },
    "background": {
      "@id": "char:background",
      "@type": "xsd:string"
    },
    "abilityScoreMethod": {
      "@id": "char:abilityScoreMethod",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "char:name",
      "@type": "xsd:string"
    },
    "personalityPrompt": {
      "@id": "char:personalityPrompt",
      "@type": "xsd:string"
    },
    "CharacterClassGenerationRequest": "char:CharacterClassGenerationRequest",
    "CharacterClassInput": "char:CharacterClassInput",
    "classType": {
      "@id": "char:classType",
      "@type": "xsd:string"
    },
    "baseClass": {
      "@id": "char:baseClass",
      "@type": "xsd:string"
    },
    "balanceTarget": {
      "@id": "char:balanceTarget",
      "@type": "xsd:string"
    },
    "SettlementGenerationRequest": "char:SettlementGenerationRequest",
    "SettlementInput": "char:SettlementInput",
    "settlementType": {
      "@id": "char:settlementType",
      "@type": "xsd:string"
    },
    "populationSize": {
      "@id": "char:populationSize",
      "@type": "xsd:string"
    },
    "location": {
      "@id": "char:location",
      "@type": "xsd:string"
    },
    "primaryRace": {
      "@id": "char:primaryRace",
      "@type": "xsd:string"
    },
    "governmentType": {
      "@id": "char:governmentType",
      "@type": "xsd:string"
    },
    "economicFocus": {
      "@id": "char:economicFocus",
      "@type": "xsd:string"
    },
    "magicalPrevalence": {
      "@id": "char:magicalPrevalence",
      "@type": "xsd:string"
    },
    "RegionGenerationRequest": "char:RegionGenerationRequest",
    "RegionInput": "char:RegionInput",
    "regionType": {
      "@id": "char:regionType",
      "@type": "xsd:string"
    },
    "climate": {
      "@id": "char:climate",
      "@type": "xsd:string"
    },
    "terrain": {
      "@id": "char:terrain",
      "@type": "xsd:string"
    },
    "scale": {
      "@id": "char:scale",
      "@type": "xsd:string"
    },
    "dominantCulture": {
      "@id": "char:dominantCulture",
      "@type": "xsd:string"
    },
    "magicLevel": {
      "@id": "char:magicLevel",
      "@type": "xsd:string"
    },
    "WorldGenerationRequest": "char:WorldGenerationRequest",
    "WorldInput": "char:WorldInput",
    "shape": {
      "@id": "char:shape",
      "@type": "xsd:string"
    },
    "technologyLevel": {
      "@id": "char:technologyLevel",
      "@type": "xsd:string"
    },
    "regionCount": {
      "@id": "char:regionCount",
      "@type": "xsd:integer"
    },
    "TavernGenerationRequest": "char:TavernGenerationRequest",
    "TavernInput": "char:TavernInput",
    "tavernType": {
      "@id": "char:tavernType",
      "@type": "xsd:string"
    },
    "ShopGenerationRequest": "char:ShopGenerationRequest",
    "ShopInput": "char:ShopInput",
    "shopType": {
      "@id": "char:shopType",
      "@type": "xsd:string"
    },
    "BuildingGenerationRequest": "char:BuildingGenerationRequest",
    "BuildingInput": "char:BuildingInput",
    "buildingType": {
      "@id": "char:buildingType",
      "@type": "xsd:string"
    },
    "condition": {
      "@id": "char:condition",
      "@type": "xsd:string"
    },
    "DungeonGenerationRequest": "char:DungeonGenerationRequest",
    "DungeonInput": "char:DungeonInput",
    "dungeonSize": {
      "@id": "char:dungeonSize",
      "@type": "xsd:string"
    },
    "numberOfLevels": {
      "@id": "char:numberOfLevels",
      "@type": "xsd:integer"
    },
    "monsterTypes": {
      "@id": "char:monsterTypes",
      "@type": "xsd:string"
    },
    "lootRarity": {
      "@id": "char:lootRarity",
      "@type": "xsd:string"
    },
    "trapDensity": {
      "@id": "char:trapDensity",
      "@type": "xsd:string"
    },
    "seed": {
      "@id": "char:seed",
      "@type": "xsd:integer"
    },
    "QuestGenerationRequest": "char:QuestGenerationRequest",
    "QuestInput": "char:QuestInput",
    "questType": {
      "@id": "char:questType",
      "@type": "xsd:string"
    },
    "durationEstimate": {
      "@id": "char:durationEstimate",
      "@type": "xsd:string"
    },
    "SpeciesGenerationRequest": "char:SpeciesGenerationRequest",
    "SpeciesInput": "char:SpeciesInput",
    "creatureType": {
      "@id": "char:creatureType",
      "@type": "xsd:string"
    },
    "habitat": {
      "@id": "char:habitat",
      "@type": "xsd:string"
    },
    "inspirationArchetype": {
      "@id": "char:inspirationArchetype",
      "@type": "xsd:string"
    },
    "powerLevel": {
      "@id": "char:powerLevel",
      "@type": "xsd:string"
    },
    "SpellbookGenerationRequest": "char:SpellbookGenerationRequest",
    "SpellbookInput": "char:SpellbookInput",
    "spellcasterLevel": {
      "@id": "char:spellcasterLevel",
      "@type": "xsd:integer"
    },
    "spellcasterType": {
      "@id": "char:spellcasterType",
      "@type": "xsd:string"
    },
    "flavorText": {
      "@id": "char:flavorText",
      "@type": "xsd:string"
    },
    "PoetryGenerationRequest": "char:PoetryGenerationRequest",
    "PoetryInput": "char:PoetryInput",
    "contentType": {
      "@id": "char:contentType",
      "@type": "xsd:string"
    },
    "customContentType": {
      "@id": "char:customContentType",
      "@type": "xsd:string"
    },
    "journalStyle": {
      "@id": "char:journalStyle",
      "@type": "xsd:string"
    },
    "mood": {
      "@id": "char:mood",
      "@type": "xsd:string"
    },
    "length": {
      "@id": "char:length",
      "@type": "xsd:string"
    },
    "specificWords": {
      "@id": "char:specificWords",
      "@type": "xsd:string"
    },
    "PuzzleGenerationRequest": "char:PuzzleGenerationRequest",
    "PuzzleInput": "char:PuzzleInput",
    "puzzleType": {
      "@id": "char:puzzleType",
      "@type": "xsd:string"
    },
    "requiredSkills": {
      "@id": "char:requiredSkills",
      "@type": "xsd:string"
    },
    "PantheonGenerationRequest": "char:PantheonGenerationRequest",
    "PantheonInput": "char:PantheonInput",
    "pantheonName": {
      "@id": "char:pantheonName",
      "@type": "xsd:string"
    },
    "worldTone": {
      "@id": "char:worldTone",
      "@type": "xsd:string"
    },
    "alignmentSpread": {
      "@id": "char:alignmentSpread",
      "@type": "xsd:string"
    },
    "deityCount": {
      "@id": "char:deityCount",
      "@type": "xsd:integer"
    },
    "TopUpRequestDto": "char:TopUpRequestDto",
    "amountUsdCents": {
      "@id": "char:amountUsdCents",
      "@type": "xsd:integer"
    },
    "TopUpCreatedDto": "char:TopUpCreatedDto",
    "checkoutUrl": {
      "@id": "char:checkoutUrl",
      "@type": "xsd:string"
    },
    "sessionId": {
      "@id": "char:sessionId",
      "@type": "xsd:string"
    },
    "ModelCapabilities": "char:ModelCapabilities",
    "requiresReferenceImage": {
      "@id": "char:requiresReferenceImage",
      "@type": "xsd:boolean"
    },
    "supportsReferenceImage": {
      "@id": "char:supportsReferenceImage",
      "@type": "xsd:boolean"
    },
    "minSizePx": {
      "@id": "char:minSizePx",
      "@type": "xsd:integer"
    },
    "maxSizePx": {
      "@id": "char:maxSizePx",
      "@type": "xsd:integer"
    },
    "qualityOptions": {
      "@id": "char:qualityOptions",
      "@container": "@list"
    },
    "videoDurations": {
      "@id": "char:videoDurations",
      "@container": "@list"
    },
    "resolutions": {
      "@id": "char:resolutions",
      "@container": "@list"
    },
    "requiresVideoDuration": {
      "@id": "char:requiresVideoDuration",
      "@type": "xsd:boolean"
    },
    "supportsGenerateAudio": {
      "@id": "char:supportsGenerateAudio",
      "@type": "xsd:boolean"
    },
    "audioKind": {
      "@id": "char:audioKind",
      "@type": "xsd:string"
    },
    "durationRangeSeconds": {
      "@id": "char:durationRangeSeconds",
      "@container": "@list"
    },
    "requiresSourceModel": {
      "@id": "char:requiresSourceModel",
      "@type": "xsd:boolean"
    },
    "ModelPriceDto": "char:ModelPriceDto",
    "priceUsd": {
      "@id": "char:priceUsd",
      "@type": "xsd:decimal"
    },
    "pricingNote": {
      "@id": "char:pricingNote",
      "@type": "xsd:string"
    },
    "capabilities": {
      "@id": "char:capabilities",
      "@type": "@id"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "CharGen API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects CharGen's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-03) from openapi/partner-openapi.json.",
  "dcterms:created": "2026-11-03",
  "dcterms:source": [
    "openapi/partner-openapi.json"
  ]
}