feat: add aspect ratio support #36
Open
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.
This PR adds support for specifying aspect ratios when generating images and stories. Users can now use the
--aspect-ratioflag with values like16:9,4:3,1:1, etc.Implementation Details
anyCasting inimageGenerator.ts:The Google GenAI Node.js SDK's current type definitions for
generateContentconfiguration (GenerationConfig) do not yet include theimageConfigproperty used by the image generation models. To bypass this type check while ensuring the parameter is correctly passed to the API (which supports it), I've cast the config object toany. Not ideal, but allows us to leverage the feature immediately without waiting for SDK type updates.Validation:
Added a validation step to ensure only supported aspect ratios are passed to the API.
Usage
You can now control the dimensions of your generated images using the
--aspect-ratioflag.Generate Command
Story Command
The aspect ratio applies to all frames in the story sequence.
Supported Ratios
1:1(Square)3:4,4:39:16,16:921:9(Ultrawide)3:2,2:35:4,4:5