gproxy_protocol/transform/images/mod.rs
1//! Create/Edit Images to a Responses image-generation tool or Gemini.
2//!
3//! Builders produce one native call; `ImageRequestContext::n` tells the adapter
4//! how many independent calls are required. The host chooses the generation
5//! model separately from the Responses image tool model. Explicit equivalent
6//! controls are mapped; unsupported controls fail before any resource read.
7//! In particular Gemini Developer API does not accept `responseMimeType` for
8//! images, and its resolution classes cannot guarantee exact Images pixel sizes.
9//!
10//! Output MIME and dimensions come from validated PNG/JPEG/WebP containers,
11//! never from requested settings. This is container validation, not pixel
12//! decoding or transcoding. Native usage remains typed per call because generic
13//! generation counters cannot fabricate Images' image/text token breakdown.
14
15mod request;
16mod response;
17pub use request::{
18 ImageDialect, ImageDialectBody, ImageInput, ImageRequestContext, ImageResponseFacts,
19 ImageTargetModels, PreparedImageRequest, ResolvedImageInput, build_request, image_reference,
20 preflight,
21};
22pub use response::{
23 GeneratedImagePart, ImageCallResult, ImageMetadata, ImageUsageFacts, decode_image,
24 image_response_from_gemini, image_response_from_responses, inspect_image,
25};