Repository navigation
feat: warn when a pose on a nano-banana model ignores --aspect-ratio [ENG-4881] - #27
Merged
Merged
Conversation
…[ENG-4881] meshyd renders an A/T pose on every non-GPT image model at 3:4 and silently drops aspect_ratio; GPT Image keeps it. Measured live with 16:9: nano-banana-2 + t-pose 896x1200, gpt-image-2 + t-pose 1536x864, nano-banana-2 without a pose 1376x768. text-to-image and image-to-image now add a pose_aspect_ratio warning to the envelope when a pose meets a nano-banana model and the ratio is not 3:4 (the 1:1 default included); the request is still sent. The check runs on the merged payload through a new CreateSpec.warnPayload hook, so pose_mode sent via --data warns too. --pose-mode help says so. Docs: usage, SKILL.md, decision D-084. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…G-4881] Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
yujiaxu-ops
added a commit
that referenced
this pull request
Oct 27, 2026
This is a minor bump because #24, #25 and #26 contain breaking changes. - #24 (ENG-4877): `-o` saves only the primary files by default, and `--all-assets` saves everything. A file path for `-o` now picks the asset whose format matches the extension. - #25 (ENG-4878): legacy code and compatibility layers are removed. `--output-schema` and `--ultra-mode` are gone. `-o` uses the same asset keys and file names as `meshy download`. Project metadata is read only at schema_version 2. - #26 (ENG-4880): image-to-3d and multi-image-to-3d now texture by default, as the API does. `inspect faces --model` counts the faces of a local GLB. - #27 (ENG-4881): text-to-image and image-to-image warn when a pose on a nano-banana model ignores `--aspect-ratio`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linear: ENG-4881
Why
meshyd renders an A/T pose at 3:4 on every non-GPT image model, overriding
aspect_ratiowithout any error or warning. This has been the case since the endpoint's first version (api_image_generation_handlers.go). GPT Image models keep the requested ratio.Measured live with
--aspect-ratio 16:9:The affected CLI models are
nano-banana-pro,nano-banana-2-1,nano-banana-2andnano-banana-2-lite.What
CreateSpec.warnPayload(payload)returns notes about the merged payload that do not stop the request. They ride in the envelope'swarnings, after the payload is validated.poseAspectRatioWarnings. When a pose meets a nano-banana model and the ratio is not 3:4 (the 1:1 default included), the envelope carries apose_aspect_ratiowarning, and the request is still sent. Because the check reads the merged payload,pose_modesent through--dataon image-to-image warns too.--pose-modehelp now states the rule.A live run in pretty mode prints:
Verification
pnpm typecheckis clean, andpnpm testpasses 646/646.--data: the warning is in the envelope and both POSTs are sent.Docs: usage and decision D-084 (the skill stays as is;
--helpcarries the rule).🤖 Generated with Claude Code