Class: OpenAI::Models::Responses::Tool::ImageGeneration

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/openai/models/responses/tool.rb

Defined Under Namespace

Modules: Action, Background, InputFidelity, Model, Moderation, OutputFormat, Quality, Size Classes: InputImageMask

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(file_id: nil, image_url: nil) ⇒ Object

Some parameter documentations has been truncated, see InputImageMask for more details.

Optional mask for inpainting. Contains ‘image_url` (string, optional) and `file_id` (string, optional).

Parameters:

  • file_id (String) (defaults to: nil)

    File ID for the mask image.

  • image_url (String) (defaults to: nil)

    Base64-encoded mask image.



# File 'lib/openai/models/responses/tool.rb', line 589

Instance Attribute Details

#actionSymbol, ...

Whether to generate a new image or edit an existing image. Default: ‘auto`.



495
# File 'lib/openai/models/responses/tool.rb', line 495

optional :action, enum: -> { OpenAI::Responses::Tool::ImageGeneration::Action }

#backgroundSymbol, ...

Allows to set transparency for the background of the generated image(s). This parameter is only supported for GPT image models that support transparent backgrounds. Must be one of ‘transparent`, `opaque`, or `auto` (default value). When `auto` is used, the model will automatically determine the best background for the image.

‘gpt-image-2` and `gpt-image-2-2026-04-21` do not support transparent backgrounds. Requests with `background` set to `transparent` will return an error for these models; use `opaque` or `auto` instead.

If ‘transparent`, the output format needs to support transparency, so it should be set to either `png` (default value) or `webp`.



512
# File 'lib/openai/models/responses/tool.rb', line 512

optional :background, enum: -> { OpenAI::Responses::Tool::ImageGeneration::Background }

#input_fidelitySymbol, ...

Control how much effort the model will exert to match the style and features, especially facial features, of input images. This parameter is only supported for ‘gpt-image-1` and `gpt-image-1.5` and later models, unsupported for `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`.



521
522
523
524
525
# File 'lib/openai/models/responses/tool.rb', line 521

optional :input_fidelity,
enum: -> {
  OpenAI::Responses::Tool::ImageGeneration::InputFidelity
},
nil?: true

#input_image_maskOpenAI::Models::Responses::Tool::ImageGeneration::InputImageMask?

Optional mask for inpainting. Contains ‘image_url` (string, optional) and `file_id` (string, optional).



532
# File 'lib/openai/models/responses/tool.rb', line 532

optional :input_image_mask, -> { OpenAI::Responses::Tool::ImageGeneration::InputImageMask }

#modelString, ...

The image generation model to use. Default: ‘gpt-image-1`.



538
# File 'lib/openai/models/responses/tool.rb', line 538

optional :model, union: -> { OpenAI::Responses::Tool::ImageGeneration::Model }

#moderationSymbol, ...

Moderation level for the generated image. Default: ‘auto`.



544
# File 'lib/openai/models/responses/tool.rb', line 544

optional :moderation, enum: -> { OpenAI::Responses::Tool::ImageGeneration::Moderation }

#output_compressionInteger?

Compression level for the output image. Default: 100.

Returns:

  • (Integer, nil)


550
# File 'lib/openai/models/responses/tool.rb', line 550

optional :output_compression, Integer

#output_formatSymbol, ...

The output format of the generated image. One of ‘png`, `webp`, or `jpeg`. Default: `png`.



557
# File 'lib/openai/models/responses/tool.rb', line 557

optional :output_format, enum: -> { OpenAI::Responses::Tool::ImageGeneration::OutputFormat }

#partial_imagesInteger?

Number of partial images to generate in streaming mode, from 0 (default value) to 3.

Returns:

  • (Integer, nil)


564
# File 'lib/openai/models/responses/tool.rb', line 564

optional :partial_images, Integer

#qualitySymbol, ...

The quality of the generated image. One of ‘low`, `medium`, `high`, or `auto`. Default: `auto`.



571
# File 'lib/openai/models/responses/tool.rb', line 571

optional :quality, enum: -> { OpenAI::Responses::Tool::ImageGeneration::Quality }

#sizeString, ...

The size of the generated images. For ‘gpt-image-2` and `gpt-image-2-2026-04-21`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example `1536x864`. Width and height must both be divisible by 16 and the requested aspect ratio must be between 1:3 and 3:1. Resolutions above `2560x1440` are experimental, and the maximum supported resolution is `3840x2160`. The requested size must also satisfy the model’s current pixel and edge limits. The standard sizes ‘1024x1024`, `1536x1024`, and `1024x1536` are supported by the GPT image models; `auto` is supported for models that allow automatic sizing. For `dall-e-2`, use one of `256x256`, `512x512`, or `1024x1024`. For `dall-e-3`, use one of `1024x1024`, `1792x1024`, or `1024x1792`.



587
# File 'lib/openai/models/responses/tool.rb', line 587

optional :size, union: -> { OpenAI::Responses::Tool::ImageGeneration::Size }

#typeSymbol, :image_generation

The type of the image generation tool. Always ‘image_generation`.

Returns:

  • (Symbol, :image_generation)


489
# File 'lib/openai/models/responses/tool.rb', line 489

required :type, const: :image_generation

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/openai/models/responses/tool.rb', line 629