---
title: "Generates 3D models from image (Roles: user)"
method: POST
path: "/games/generate/image-to-3d"
tags: ["Gamestorming"]
---

# Generates 3D models from image (Roles: user)

`POST /games/generate/image-to-3d`

## Request body

- ImageTo3DPayload
  - `request_id` string
  - `image` GameImage
    - `tags` string[]
    - `id` string
    - `image_id` string
    - `url` string
    - `type` string
    - `final_score` number, float
    - `nsfw_prob` number, float
    - `similarity` number, float
    - `width` integer
    - `height` integer
    - `game_id` string
    - `hosted_filename` string
    - `icon` boolean
    - `targetSize` integer
    - `seed` integer
    - `embedded` boolean
    - `analysed` boolean
    - `image` string
    - `image_type` string
    - `prompt` string
    - `motion_prompt` string
    - `request_id` string
    - `hints` string[]
    - `selected_genres` string[]
    - `selected_colors` string[]
    - `selected_style` string
    - `selected_perspective` string
    - `is_safe` boolean
    - `platform` string
    - `loading` boolean
    - `original_hints` string[]
    - `genres` string[]
    - `edit_mask` string
    - `edit_mode` string
    - `camera_rotation` integer
    - `camera_elevation` integer
    - `edit_mask_pil_image` PILImage
      - `format` string
      - `format_description` string
    - `pil_image` PILImage
      - `format` string
      - `format_description` string
    - `nsfw` number, float
    - `pose` SpritePose
      - `animation_prompt` string — Animation description for the sprite pose
      - `margin_ratio` number, float — Margin ratio for the sprite animation
      - `margin_ratio_mode` string
      - `name` string — Name of the sprite pose
      - `prompt` string — Prompt description for the sprite pose
  - `generation_parameters` ThreeDGenerationParameters
    - `target_num_faces` integer
    - `dynamic_simplification` number, float
    - `remeshing` string
    - `texture_size` integer
    - `texture_type` string
    - `render_format` string
    - `render_video` boolean

## Response `200`

Success

- AssetGeneration
  - `id` string
  - `rigged` boolean — True once the model carries a skeleton and skin weights (set by rig-model). Gates the animation flow and the re-rig guard.
  - `seed` integer
  - `images_b64` string[]
  - `params_encrypted` string
  - `request_id` string
  - `video_b64` string
  - `mesh_video_b64` string
  - `snapshots_b64` string[]
  - `model_b64` string
  - `binary_data_b64` string
  - `voxels_b64` string
  - `mask_snapshots_b64` string[]
  - `depth_snapshots_b64` string[]
  - `normal_snapshots_b64` string[]
  - `generation_parameters` ThreeDGenerationParameters
    - `target_num_faces` integer
    - `dynamic_simplification` number, float
    - `remeshing` string
    - `texture_size` integer
    - `texture_type` string
    - `render_format` string
    - `render_video` boolean

## Other responses

- `400` — Error

---

[API](https://skmtc.net/ludo/apis/ludo-ai-api.md) · [All operations](https://skmtc.net/ludo/apis/ludo-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ludo/ludo-ai-api/revisions/3af866d68651/schema)
