import type * as Hedra from "../index.js"; /** * Model-specific inputs for `nano-banana-pro`. */ export interface InputNanoBananaPro { /** 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. 'adaptive' lets the model size the output itself — matching the source image when you pass one. */ aspect_ratio: InputNanoBananaPro.AspectRatio; /** Output resolution. */ resolution: InputNanoBananaPro.Resolution; /** Images to edit or blend, at most 6 high-fidelity objects, 5 characters and 3 style references. 1 to 14 images, each at most 30 MB. */ images?: Hedra.InputNanoBananaProImagesItem[] | undefined; /** Seed for reproducible output; omit for a random seed. */ seed?: number | undefined; /** Ground the generation in live Google Search results, so a prompt about current events or real-world specifics draws on what the web says now. Grounded generations cost more than ungrounded ones. */ google_search?: boolean | undefined; } export declare namespace InputNanoBananaPro { /** Output aspect ratio. 'adaptive' lets the model size the output itself — matching the source image when you pass one. */ const AspectRatio: { readonly Adaptive: "adaptive"; readonly Sixteen9: "16:9"; readonly Nine16: "9:16"; readonly One1: "1:1"; readonly TwentyOne9: "21:9"; readonly Four3: "4:3"; readonly Three4: "3:4"; readonly Three2: "3:2"; readonly Two3: "2:3"; readonly Five4: "5:4"; readonly Four5: "4:5"; }; type AspectRatio = (typeof AspectRatio)[keyof typeof AspectRatio]; /** Output resolution. */ const Resolution: { readonly OneK: "1K"; readonly TwoK: "2K"; readonly FourK: "4K"; }; type Resolution = (typeof Resolution)[keyof typeof Resolution]; }