Skip to content

feat(animation-asset): add animation asset generation workflow#32

Draft
adamhuang17 wants to merge 1 commit into
1024XEngineer:mainfrom
adamhuang17:feat/animation-asset
Draft

feat(animation-asset): add animation asset generation workflow#32
adamhuang17 wants to merge 1 commit into
1024XEngineer:mainfrom
adamhuang17:feat/animation-asset

Conversation

@adamhuang17

Copy link
Copy Markdown
Member

Summary #28
Supports a single reference asset supplied either as an uploaded PNG, JPEG or as a public HTTP(S) URL, with upload-size, image-content, and request-parameter validation.
Builds a fixed six-phase animation prompt directly from the user-provided action_prompt, while instructing the model to preserve the subject’s identity, proportions, design, camera angle, and rendering style.
Makes exactly one image-editing request to QNAIGC using openai/gpt-image-2 and requires a 1536×1024, 3×2 Sprite Sheet. A deterministic local mock provider is also included for validating the complete workflow without consuming model quota.
Creates the Manifest before generation and deterministically splits the Sprite Sheet into six 512×512 PNG frames in row-major order, with either preserved positioning or optional bottom-center alignment.
Builds a six-frame GIF and performs structural quality checks for frame count, dimensions, empty content, Alpha coverage, edge contact, and exact duplicate frames.
Exposes background-job status and asset retrieval endpoints, and persists request metadata, the compiled generation prompt, Manifest, raw and processed frames, quality report, Sprite Sheet, and GIF.
Testing
Added automated tests covering:

  • Multipart image uploads and public URL reference inputs.
  • Direct inclusion of the user action description in the generated prompt.
  • A single QNAIGC image-editing request and Base64 response parsing.
  • Deterministic row-major splitting into six 512×512 frames.
  • End-to-end service packaging with one provider call, six PNG frames, and a six-frame GIF.

Known limitations

  • Each task currently supports only one reference asset; combined character, prop, or environment references are not supported.
  • Output is fixed to six frames, a 3×2 layout, and 1536×1024; dynamic frame counts and adaptive layouts are not supported.
  • Model output must exactly match the required dimensions. There is no automatic retry, resizing repair, or per-frame regeneration.
  • Background removal or matting is not integrated, so generated backgrounds are preserved in the final frames.
  • Motion continuity, subject consistency, and cell isolation still depend on the image model following the prompt.
  • Job state is stored in memory and assets are written to the local filesystem. Job state does not survive service restarts and is not designed for distributed deployment.
image 1 image 2 image animation

@adamhuang17 adamhuang17 self-assigned this Jul 16, 2026
@adamhuang17 adamhuang17 linked an issue Jul 16, 2026 that may be closed by this pull request
7 tasks
@adamhuang17 adamhuang17 added the type:experiment Exploratory work intended to validate an idea or approach. label Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:experiment Exploratory work intended to validate an idea or approach.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Animated Game Assets Using Sprite Sheet Splitting

1 participant