import type * as Hedra from "../index.js"; /** * Model-specific inputs for `nano-banana-2`. */ export interface InputNanoBanana2 { /** 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: InputNanoBanana2.AspectRatio; /** Output resolution. */ resolution: InputNanoBanana2.Resolution; /** Images to edit or blend, at most 10 high-fidelity objects and 4 characters. 1 to 14 images, each at most 30 MB. */ images?: Hedra.InputNanoBanana2ImagesItem[] | 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; /** Let the grounding search return images as well as text, so the model sees what it found rather than only reading about it. Turning this on grounds the generation whether or not google_search is also set. */ image_search?: boolean | undefined; /** How much the model plans before it draws. Omit for the model's own default ('minimal'); 'high' reasons further at the cost of latency. */ thinking_level?: InputNanoBanana2.ThinkingLevel | undefined; } export declare namespace InputNanoBanana2 { /** 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"; readonly One4: "1:4"; readonly Four1: "4:1"; readonly One8: "1:8"; readonly Eight1: "8:1"; }; type AspectRatio = (typeof AspectRatio)[keyof typeof AspectRatio]; /** Output resolution. */ const Resolution: { readonly FiveHundredTwelvePx: "512px"; readonly OneK: "1K"; readonly TwoK: "2K"; readonly FourK: "4K"; }; type Resolution = (typeof Resolution)[keyof typeof Resolution]; /** How much the model plans before it draws. Omit for the model's own default ('minimal'); 'high' reasons further at the cost of latency. */ const ThinkingLevel: { readonly Minimal: "minimal"; readonly High: "high"; }; type ThinkingLevel = (typeof ThinkingLevel)[keyof typeof ThinkingLevel]; }