import type * as Hedra from "../index.mjs"; /** * Model-specific inputs for `nano-banana`. */ export interface InputNanoBanana { /** Generation prompt. */ prompt: string; /** Number of outputs generated per job. Only 1 is supported. */ num_outputs?: number | undefined; /** Rewrite the prompt before generation. An LLM expands it into a fuller description and the model receives that text instead of the submitted one; the result's `prompt` reports what ran. */ enhance_prompt?: boolean | undefined; /** Output aspect ratio. */ aspect_ratio: InputNanoBanana.AspectRatio; /** Accepted and ignored. gemini-2.5-flash-image takes no `image_size` argument — the aspect ratio alone decides the output geometry — so this value never reaches the provider and never changes the price. It stays on the contract because requests already send it. */ resolution: InputNanoBanana.Resolution; /** Images to edit or blend. 1 to 3 images, each at most 30 MB. */ images?: Hedra.InputNanoBananaImagesItem[] | undefined; /** Seed for reproducible output; omit for a random seed. */ seed?: number | undefined; } export declare namespace InputNanoBanana { /** Output aspect ratio. */ const AspectRatio: { readonly Sixteen9: "16:9"; readonly Nine16: "9:16"; readonly One1: "1:1"; }; type AspectRatio = (typeof AspectRatio)[keyof typeof AspectRatio]; /** Accepted and ignored. gemini-2.5-flash-image takes no `image_size` argument — the aspect ratio alone decides the output geometry — so this value never reaches the provider and never changes the price. It stays on the contract because requests already send it. */ const Resolution: { readonly OneK: "1K"; readonly TwoK: "2K"; readonly FourK: "4K"; }; type Resolution = (typeof Resolution)[keyof typeof Resolution]; }