---
title: "Generates spritesheet by transferring motion from video or spritesheet to image (Roles: user)"
method: POST
path: "/games/generate/spritesheet-motion-transfer"
tags: ["Gamestorming"]
---

# Generates spritesheet by transferring motion from video or spritesheet to image (Roles: user)

`POST /games/generate/spritesheet-motion-transfer`

## Request body

- GenerateSpritesheetMotionTransferPayload
  - `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
  - `spritesheet` Spritesheet
    - `tags` string[]
    - `id` string
    - `audio_b64` string
    - `duration` number, float
    - `start_timestamp` number
    - `end_timestamp` number
    - `num_frames` number
    - `max_num_frames` number
    - `margin_ratio` number
    - `margin_ratio_horizontal` number, float
    - `margin_ratio_vertical` number, float
    - `margin_ratio_mode` string
    - `target_frame_size` number
    - `loop` boolean
    - `bad_loop` boolean
    - `out_of_frame` boolean
    - `crop` boolean
    - `original_prompt` string
    - `motion_prompt` string
    - `prompt` string
    - `seed` number
    - `sprite_sheet` PILImage
      - `format` string
      - `format_description` string
    - `sprite_sheet_b64` string
    - `sprite_sheet_raw_b64` string
    - `video` GeneratedVideo
      - `tags` string[]
      - `id` string
      - `original_prompt` string
      - `prompt` string
      - `url` 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
      - `pil_image` PILImage
        - `format` string
        - `format_description` string
      - `seed` integer
      - `duration` number, float
      - `has_audio` boolean
      - `model` string
    - `preview_video_b64` string
    - `first_frame_b64` string
    - `last_frame_b64` 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
    - `middle_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
    - `final_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
    - `has_audio` boolean
    - `is_edited` boolean — True when this spritesheet was produced by an edit (prompt, outpaint, or fix_loop) — the whole animation was re-rendered, so frames may drift from the original.
    - `label` string
    - `preview_scale` number, float
    - `pack_alignment` PackAlignment
      - `description` string
      - `sizeHeightPx` number, float
      - `groundOffset` number, float
      - `horizontalOffset` number, float
  - `video` string
  - `num_frames` number
  - `target_frame_size` number
  - `loop` boolean
  - `crop` boolean
  - `margin_ratio` number, float
  - `margin_ratio_horizontal` number, float
  - `margin_ratio_vertical` number, float
  - `margin_ratio_mode` 'manual' | 'none'
  - `model` 'tango' | 'forge'
  - `duration` number, float — Animation length in seconds. Available values depend on the model — see /credits/costs (per-model lists are auto-generated into the public API docs).
  - `pixel_art_filter` boolean
  - `spritesheet_with_background` boolean

## Response `200`

Success

- Spritesheet
  - `tags` string[]
  - `id` string
  - `audio_b64` string
  - `duration` number, float
  - `start_timestamp` number
  - `end_timestamp` number
  - `num_frames` number
  - `max_num_frames` number
  - `margin_ratio` number
  - `margin_ratio_horizontal` number, float
  - `margin_ratio_vertical` number, float
  - `margin_ratio_mode` string
  - `target_frame_size` number
  - `loop` boolean
  - `bad_loop` boolean
  - `out_of_frame` boolean
  - `crop` boolean
  - `original_prompt` string
  - `motion_prompt` string
  - `prompt` string
  - `seed` number
  - `sprite_sheet` PILImage
    - `format` string
    - `format_description` string
  - `sprite_sheet_b64` string
  - `sprite_sheet_raw_b64` string
  - `video` GeneratedVideo
    - `tags` string[]
    - `id` string
    - `original_prompt` string
    - `prompt` string
    - `url` 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
    - `pil_image` PILImage
      - `format` string
      - `format_description` string
    - `seed` integer
    - `duration` number, float
    - `has_audio` boolean
    - `model` string
  - `preview_video_b64` string
  - `first_frame_b64` string
  - `last_frame_b64` 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
  - `middle_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
  - `final_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
  - `has_audio` boolean
  - `is_edited` boolean — True when this spritesheet was produced by an edit (prompt, outpaint, or fix_loop) — the whole animation was re-rendered, so frames may drift from the original.
  - `label` string
  - `preview_scale` number, float
  - `pack_alignment` PackAlignment
    - `description` string
    - `sizeHeightPx` number, float
    - `groundOffset` number, float
    - `horizontalOffset` number, float

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