Ludo.ai · Schema
Ludo.ai Game Asset
Schema representing game assets generated by the Ludo.ai platform, including images, spritesheets, 3D models, videos, and audio files.
Artificial IntelligenceAsset GenerationGame DesignGame Development
Properties
| Name | Type | Description |
|---|---|---|
| asset_type | string | The category of generated game asset. |
| url | string | URL of the generated asset. Temporary and expires after 7 days. |
| request_id | string | Client-provided identifier for tracking and retrieving the asset asynchronously. |
| created_at | string | Timestamp when the asset was generated. |
| credits_consumed | number | Number of credits consumed to generate this asset. |
| image_details | object | |
| spritesheet_details | object | |
| model_3d_details | object | |
| video_details | object | |
| audio_details | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ludo.ai/schemas/ludo-ai/game-asset.json",
"title": "Ludo.ai Game Asset",
"description": "Schema representing game assets generated by the Ludo.ai platform, including images, spritesheets, 3D models, videos, and audio files.",
"type": "object",
"required": ["asset_type", "url", "created_at"],
"properties": {
"asset_type": {
"type": "string",
"description": "The category of generated game asset.",
"enum": [
"image",
"spritesheet",
"video",
"3d_model",
"sound_effect",
"music",
"voice",
"speech"
]
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the generated asset. Temporary and expires after 7 days."
},
"request_id": {
"type": "string",
"description": "Client-provided identifier for tracking and retrieving the asset asynchronously."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the asset was generated."
},
"credits_consumed": {
"type": "number",
"description": "Number of credits consumed to generate this asset.",
"minimum": 0
},
"image_details": {
"$ref": "#/$defs/ImageDetails"
},
"spritesheet_details": {
"$ref": "#/$defs/SpritesheetDetails"
},
"model_3d_details": {
"$ref": "#/$defs/Model3DDetails"
},
"video_details": {
"$ref": "#/$defs/VideoDetails"
},
"audio_details": {
"$ref": "#/$defs/AudioDetails"
}
},
"$defs": {
"ImageDetails": {
"type": "object",
"description": "Details specific to generated image assets.",
"properties": {
"image_type": {
"type": "string",
"description": "The type of game image asset.",
"enum": [
"sprite",
"icon",
"screenshot",
"art",
"asset",
"sprite-vfx",
"ui_asset",
"fixed_background",
"texture",
"3d",
"generic"
]
},
"art_style": {
"type": "string",
"description": "The art style used for generation.",
"enum": [
"Pixel Art (16-Bit)",
"Pixel Art (8-Bit)",
"Low Poly",
"Cartoonish",
"Stylized 3D",
"Flat Design",
"Anime/Manga",
"Voxel Art"
]
},
"perspective": {
"type": "string",
"description": "The camera perspective used for the image.",
"enum": [
"Side-Scroll",
"Top-Down",
"Isometric",
"First-Person",
"Third-Person",
"2.5D"
]
},
"aspect_ratio": {
"type": "string",
"description": "The aspect ratio of the generated image.",
"enum": ["default", "ar_1_1", "ar_4_3", "ar_16_9", "ar_9_16"]
},
"prompt": {
"type": "string",
"description": "The text prompt used to generate the image."
}
}
},
"SpritesheetDetails": {
"type": "object",
"description": "Details specific to generated spritesheet animation assets.",
"properties": {
"spritesheet_url": {
"type": "string",
"format": "uri",
"description": "URL of the spritesheet image."
},
"video_url": {
"type": "string",
"format": "uri",
"description": "URL of the animation as a video file."
},
"gif_url": {
"type": "string",
"format": "uri",
"description": "URL of the animated GIF version."
},
"individual_frame_urls": {
"type": "array",
"description": "URLs of individual animation frames.",
"items": {
"type": "string",
"format": "uri"
}
},
"num_frames": {
"type": "integer",
"description": "Total number of frames in the spritesheet.",
"minimum": 4,
"maximum": 64
},
"num_cols": {
"type": "integer",
"description": "Number of columns in the spritesheet grid.",
"minimum": 1
},
"num_rows": {
"type": "integer",
"description": "Number of rows in the spritesheet grid.",
"minimum": 1
},
"frame_size": {
"type": "integer",
"description": "Size of each frame in pixels.",
"enum": [64, 128, 256, 0]
},
"loop": {
"type": "boolean",
"description": "Whether the animation is a seamless loop."
},
"motion_prompt": {
"type": "string",
"description": "The motion prompt used to generate the animation."
}
}
},
"Model3DDetails": {
"type": "object",
"description": "Details specific to generated 3D model assets.",
"properties": {
"model_url": {
"type": "string",
"format": "uri",
"description": "URL of the GLB 3D model file."
},
"snapshots": {
"type": "array",
"description": "Snapshot images of the 3D model from four different angles.",
"items": {
"type": "string",
"format": "uri"
},
"minItems": 4,
"maxItems": 4
},
"texture_type": {
"type": "string",
"description": "Type of texture applied to the model.",
"enum": ["pbr", "simple", "none"]
},
"texture_size": {
"type": "integer",
"description": "Texture resolution in pixels.",
"enum": [1024, 2048, 4096]
},
"target_num_faces": {
"type": "integer",
"description": "Target triangle count for the mesh.",
"minimum": 1000,
"maximum": 100000
}
}
},
"VideoDetails": {
"type": "object",
"description": "Details specific to generated video assets.",
"properties": {
"duration": {
"type": "integer",
"description": "Duration of the video in seconds.",
"enum": [3, 5, 8, 10]
},
"prompt": {
"type": "string",
"description": "The motion prompt used to generate the video."
},
"model": {
"type": "string",
"description": "The video generation model used.",
"enum": ["standard", "new"]
}
}
},
"AudioDetails": {
"type": "object",
"description": "Details specific to generated audio assets.",
"properties": {
"audio_type": {
"type": "string",
"description": "The type of audio asset generated.",
"enum": ["sound_effect", "music", "voice", "speech", "speech_preset"]
},
"description": {
"type": "string",
"description": "The text description or prompt used to generate the audio."
},
"duration": {
"type": "number",
"description": "Duration of the audio in seconds.",
"minimum": 0,
"maximum": 10
},
"voice_preset_id": {
"type": "string",
"description": "The voice preset character used for speech generation.",
"enum": [
"Serious woman",
"Wise woman",
"Calm woman",
"Patient man",
"Determined man",
"Deep voice man",
"Teen boy",
"Sweet girl"
]
},
"emotion": {
"type": "string",
"description": "The emotion applied to speech delivery.",
"enum": ["Default", "Happy", "Sad", "Angry", "Fearful", "Surprised", "Neutral"]
},
"language": {
"type": "string",
"description": "Language used for speech output.",
"enum": ["auto", "English", "Spanish", "French", "German", "Japanese", "Korean"]
}
}
}
}
}