generated: '2026-10-02' method: derived generator: derive-data-model.py source: - openapi/ludo-ai-3d-models-api-openapi.yml - openapi/ludo-ai-animation-api-openapi.yml - openapi/ludo-ai-audio-api-openapi.yml - openapi/ludo-ai-images-api-openapi.yml - openapi/ludo-ai-openapi.json - openapi/ludo-ai-results-api-openapi.yml - openapi/ludo-ai-video-api-openapi.yml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 87 entities_in_spec: 87 relationships: 10 entities: - name: AccountInfo fields: 4 - name: Animate3DModelPayload fields: 8 - name: Animate3DPresetModelPayload fields: 6 - name: AnimateSpriteKeyframesPayload fields: 21 description: Payload for generating an animated spritesheet that interpolates through up to three fixed keyframes (initial / middle / final). Runs on hydra (default), forge or forge-pixel - the models supporting a - name: AnimateSpritePayload fields: 20 description: Payload for generating an animated spritesheet from a static image. Input images can either be provided in base64 or URL. If the image was generated using Ludo, ideally it should be generated using th - name: AnimateSpriteRequest fields: 13 - name: AnimationCandidates fields: 1 - name: AnimationClip fields: 9 - name: AnimationPerspective fields: 3 - name: AnimationPreset fields: 6 - name: AnimationPresetPublic fields: 7 - name: AnimationPresetsResponse fields: 3 - name: AnimationResponse fields: 10 - name: ApiFeedbackPayload fields: 5 - name: ApiFeedbackReceipt fields: 2 - name: AudioResponse fields: 2 - name: AudioResult fields: 5 - name: AudioResultsResponse fields: 1 - name: Create3DModelPayload fields: 7 - name: Create3DModelRequest fields: 6 - name: CreateImageRequest fields: 7 - name: CreateMusicRequest fields: 3 - name: CreateSoundEffectRequest fields: 3 - name: CreateSpeechPresetRequest fields: 5 - name: CreateSpeechRequest fields: 3 - name: CreateSpriteAudioPayload fields: 4 description: Payload for generating audio for a previously generated spritesheet animation. - name: CreateUploadPayload fields: 2 description: Payload for starting a file upload. - name: CreateVideoRequest fields: 6 - name: CreateVoiceRequest fields: 4 - name: CurrentModelsByAction fields: 7 description: Per credit action, the current model codenames in preference order. Pick from these for new work. - name: DocumentationEntry fields: 3 - name: DocumentationResponse fields: 4 - name: DocumentationSearchResponse fields: 2 - name: DocumentationSearchResult fields: 5 - name: DocumentationSection fields: 2 - name: EditImagePayload fields: 8 description: Payload for editing an existing image based on text instructions - name: EditImageRequest fields: 5 - name: EditSpritesheetPayloadPublic fields: 15 description: Payload for editing a previously generated spritesheet. edit_mode selects the operation - prompt-driven edit (default), outpaint, or loop fixing. - name: EditVideoPayloadPublic fields: 7 description: Payload for editing a previously generated video with a text prompt and optional reference images. - name: Error fields: 2 - name: ErrorResponse fields: 4 - name: GenerateAmbiancePayload fields: 6 description: Payload for generating a seamless looping ambiance soundscape from a text description - name: GenerateAudioTransformPayload fields: 7 description: Payload for remixing an audio sample (sound effect, ambiance or music) into a variation guided by a text prompt - name: GenerateImagePayload fields: 9 description: Payload for generating an image from text prompt - name: GenerateMusicPayload fields: 6 description: Payload for generating music from a text description - name: GeneratePosePayload fields: 7 description: Payload for generating a new pose for an existing sprite - name: GeneratePoseRequest fields: 5 - name: GenerateSoundEffectPayload fields: 6 description: Payload for generating a sound effect from a text description - name: GenerateSpeechPayload fields: 4 description: Payload for text-to-speech generation using voice cloning - name: GenerateSpeechPresetPayload fields: 6 description: Payload for text-to-speech generation using a voice preset - name: GenerateVideoPayloadPublic fields: 8 description: Payload for generating a video from a source image and motion prompt - name: GenerateVoicePayload fields: 6 description: Payload for generating a voice sample from a character description - name: GenerateWithStylePayload fields: 7 description: Payload for generating new content while maintaining the visual style of a reference image - name: GenerateWithStyleRequest fields: 5 - name: GenerationList fields: 4 - name: GenerationListItem fields: 16 - name: ImageResponse fields: 2 - name: ImageResult fields: 3 - name: ImageResultsResponse fields: 1 - name: LegacyModel fields: 4 - name: Model3DResponse fields: 3 - name: Model3DResult fields: 2 - name: Model3DResultsResponse fields: 1 - name: ModelLineup fields: 2 description: Which models to use. Present on the table of contents only (no `doc` parameter). - name: OkResponse fields: 1 - name: PoseResponse fields: 2 - name: PoseResult fields: 4 description: Result of a pose generation - name: PublicJob fields: 10 - name: PublicJobError fields: 2 - name: ReferencesToVideoPayloadPublic fields: 7 description: Payload for generating a video from 1-5 reference images and a text prompt. - name: RemoveBackgroundPayload fields: 5 description: Payload for removing the background of an image - name: RemoveBackgroundRequest fields: 2 - name: Rig3DModelPayload fields: 5 - name: Rig3DModelResult fields: 2 - name: RotateSpritePayload fields: 7 description: Payload for rotating the camera view of an existing sprite - name: RotateSpriteResult fields: 3 description: Result of a sprite camera rotation - name: RotateSpritesheetPayload fields: 15 description: Payload for re-rendering a previously generated sprite animation from a new view. - name: SpriteResult fields: 13 - name: SpriteResultsResponse fields: 1 - name: ThreeDModelResult fields: 4 - name: TransferMotionPayload fields: 21 description: Payload for transferring motion from a video onto a static sprite image, producing an animated spritesheet. - name: TransferMotionRequest fields: 15 - name: UploadSession fields: 4 - name: UpscaleVideoPayloadPublic fields: 3 description: Payload for upscaling a previously generated video to twice its resolution. - name: VideoResponse fields: 2 - name: VideoResult fields: 5 - name: VideoResultsResponse fields: 1 relationships: - from: AnimationPresetsResponse to: AnimationPreset type: has_many via: animations - from: PublicJob to: PublicJobError type: has_one via: error - from: DocumentationResponse to: ModelLineup type: has_one via: models - from: DocumentationResponse to: DocumentationEntry type: has_many via: docs - from: DocumentationSearchResponse to: DocumentationSearchResult type: has_many via: results - from: AnimationCandidates to: AnimationClip type: has_many via: animations - from: GenerationList to: GenerationListItem type: has_many via: items - from: ModelLineup to: CurrentModelsByAction type: has_one via: current - from: ModelLineup to: LegacyModel type: has_many via: legacy - from: DocumentationEntry to: DocumentationSection type: has_many via: sections