---
title: "Step by step game generator (Roles: user)"
method: POST
path: "/games/generate/ideas-from-steps"
tags: ["Gamestorming"]
---

# Step by step game generator (Roles: user)

`POST /games/generate/ideas-from-steps`

## Request body

- StepByStepPayload
  - `request_id` string
  - `genre` string
  - `n` integer
  - `platform` string
  - `step` string
  - `step_choices` StepValue[]
    - `step` string
    - `description` string
    - `value` string
    - `score` LudoScore
      - `metrics` LudoScoreMetric[]
        - `_max_similarity` number, double
        - `_min_similarity` number, double
        - `description` string
        - `key` string
        - `name` string
        - `score` number, double
        - `supporting_games_title` string
        - `supporting_games` string[]
        - `core_metric` boolean
        - `plotly_plot` PlotlyPlot
          - `data` PlotlyPlotData[]
            - `mode` string
          - `layout` PlotlyPlotData
            - `mode` string
        - `insights` LudoScoreInsight[]
          - `tag` string
          - `text` string
      - `params` string
      - `score_text` string
      - `score_unit` string
      - `score` number, double
      - `timestamp` integer
      - `country` string
      - `sources` string[]
      - `version` string
      - `badge` LudoScoreBadge
        - `description` string
        - `icon_url` string
        - `key` string
        - `name` string
      - `insights` LudoScoreInsight[]
        - `tag` string
        - `text` string

## Response `200`

Success

- GeneratedGame[]
  - `tags` string[]
  - `id` string
  - `title` string
  - `summary` string
  - `text_raw` string
  - `genres` string[]
  - `keywords` string[]
  - `description` string
  - `description_raw` string
  - `description_annotations` Annotation[]
    - `start` integer
    - `end` integer
    - `label` string
    - `text` string
    - `label_probs` object
      - `feature` number, float
      - `junk` number, float
      - `mechanic` number, float
      - `theme` number, float
  - `search_results` GenerationsSearchResult
    - `similar_games` SimilarGame[]
      - `id` string
      - `similarity` number, float
  - `images` PrometheusGameImage[]
    - `game_id` string
    - `hash` integer
    - `id` string
    - `origin` string
    - `similarity` number, float
  - `screenshots` 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
  - `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
  - `blending` string[]
  - `blended_games` Game[]
    - `_id` string
    - `id` string
    - `source_id` string
    - `title` string
    - `short_description` string
    - `short_description_clean` string
    - `summary` string
    - `description` string
    - `description_clean` string
    - `description_annotations` Annotation[]
      - `start` integer
      - `end` integer
      - `label` string
      - `text` string
      - `label_probs` object
        - `feature` number, float
        - `junk` number, float
        - `mechanic` number, float
        - `theme` number, float
    - `user_rating_count` integer
    - `user_rating` number, float
    - `developers` string[]
    - `urls` string[]
    - `release_date` integer
    - `update_date` integer
    - `icon` 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
    - `header` 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
    - `videos` MediaElement[]
      - `type` string
      - `url` string
    - `screenshots` 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
    - `url` string[]
    - `actual_genres` string[]
    - `predicted_genres` string[]
    - `augmented_genres` string[]
    - `source` string
    - `price` string
    - `platforms` string[]
    - `keywords` string[]
    - `game_modes` string[]
    - `genres` string[]
    - `advisory_rating` string
  - `platform` string
  - `perspective` string
  - `platforms` string[]
  - `sentence` string
  - `punchline` string
  - `art_style` string
  - `quality_score` number, float
  - `uniqueness_score` number, float
  - `final_score` number, float
  - `hints` string[]
  - `request_id` string
  - `prompt` string
  - `selected_genres` string[]
  - `mechanics` GeneratedText[]
    - `id` string
    - `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
    - `images` 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
    - `context_keywords` string[]
    - `text` string
    - `title` string
    - `type` string
    - `image_prompt` string
    - `final_score` number, float
  - `step_choices` StepValue[]
    - `step` string
    - `description` string
    - `value` string
    - `score` LudoScore
      - `metrics` LudoScoreMetric[]
        - `_max_similarity` number, double
        - `_min_similarity` number, double
        - `description` string
        - `key` string
        - `name` string
        - `score` number, double
        - `supporting_games_title` string
        - `supporting_games` string[]
        - `core_metric` boolean
        - `plotly_plot` PlotlyPlot
          - `data` PlotlyPlotData[]
            - `mode` string
          - `layout` PlotlyPlotData
            - `mode` string
        - `insights` LudoScoreInsight[]
          - `tag` string
          - `text` string
      - `params` string
      - `score_text` string
      - `score_unit` string
      - `score` number, double
      - `timestamp` integer
      - `country` string
      - `sources` string[]
      - `version` string
      - `badge` LudoScoreBadge
        - `description` string
        - `icon_url` string
        - `key` string
        - `name` string
      - `insights` LudoScoreInsight[]
        - `tag` string
        - `text` string
  - `score` LudoScore
    - `metrics` LudoScoreMetric[]
      - `_max_similarity` number, double
      - `_min_similarity` number, double
      - `description` string
      - `key` string
      - `name` string
      - `score` number, double
      - `supporting_games_title` string
      - `supporting_games` string[]
      - `core_metric` boolean
      - `plotly_plot` PlotlyPlot
        - `data` PlotlyPlotData[]
          - `mode` string
        - `layout` PlotlyPlotData
          - `mode` string
      - `insights` LudoScoreInsight[]
        - `tag` string
        - `text` string
    - `params` string
    - `score_text` string
    - `score_unit` string
    - `score` number, double
    - `timestamp` integer
    - `country` string
    - `sources` string[]
    - `version` string
    - `badge` LudoScoreBadge
      - `description` string
      - `icon_url` string
      - `key` string
      - `name` string
    - `insights` LudoScoreInsight[]
      - `tag` string
      - `text` string
  - `image_prompt` string

## 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)
