import type * as Hedra from "../index.js"; /** * Model-specific inputs for `gpt-image-2`. * * Accepted field combinations (one per input mode): * (1) requires: aspect_ratio, images, prompt, resolution * (2) requires: aspect_ratio, prompt, resolution; must omit: images */ export interface InputGptImage2 { /** Generation prompt. At most 32000 characters. */ 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: InputGptImage2.AspectRatio; /** Output resolution. */ resolution: InputGptImage2.Resolution; /** Images to edit or blend. 1 to 16 images, each at most 30 MB. */ images?: Hedra.InputGptImage2ImagesItem[] | undefined; /** Output image format. */ output_format?: InputGptImage2.OutputFormat | undefined; /** Quality level to generate at. `low` — the quickest and cheapest pass, for drafts, thumbnails, and rapid exploration. `medium` — balanced cost and fidelity, for everyday work and iterative refinement. `high` — the most rendering effort, for final deliverables and text-heavy designs. */ quality?: InputGptImage2.Quality | undefined; } export declare namespace InputGptImage2 { /** Output aspect ratio. */ const AspectRatio: { readonly Sixteen9: "16:9"; readonly Nine16: "9:16"; readonly Four3: "4:3"; readonly Three4: "3:4"; readonly One1: "1:1"; }; 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]; /** Output image format. */ const OutputFormat: { readonly Jpeg: "jpeg"; readonly Png: "png"; readonly Webp: "webp"; }; type OutputFormat = (typeof OutputFormat)[keyof typeof OutputFormat]; /** Quality level to generate at. `low` — the quickest and cheapest pass, for drafts, thumbnails, and rapid exploration. `medium` — balanced cost and fidelity, for everyday work and iterative refinement. `high` — the most rendering effort, for final deliverables and text-heavy designs. */ const Quality: { readonly Low: "low"; readonly Medium: "medium"; readonly High: "high"; }; type Quality = (typeof Quality)[keyof typeof Quality]; }