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
View JSON Schema on GitHub

JSON Schema

ludo-ai-game-asset-schema.json Raw ↑
{
  "$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"]
        }
      }
    }
  }
}