Class: OpenAI::Models::Beta::BetaTool::ImageGeneration

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/openai/models/beta/beta_tool.rb

Defined Under Namespace

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

Instance Attribute Summary collapse

Attributes inherited from Internal::Type::BaseModel

#last_response

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], #_request_id, #_set_last_response, coerce, #deconstruct_keys, #deep_to_h, dump, #encode_with, 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, coerce_with_error, #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/beta/beta_tool.rb', line 660

Instance Attribute Details

#actionSymbol, ...

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



567
# File 'lib/openai/models/beta/beta_tool.rb', line 567

optional :action, enum: -> { OpenAI::Beta::BetaTool::ImageGeneration::Action }

#backgroundSymbol, ...

Allows to set transparency for the background of the generated image(s). 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.

Transparent backgrounds are available for supported GPT Image models. For gpt-image-2 and gpt-image-2-2026-04-21, this support is in preview. When using transparent, set the output format to png or webp.



579
# File 'lib/openai/models/beta/beta_tool.rb', line 579

optional :background, enum: -> { OpenAI::Beta::BetaTool::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.



588
589
590
591
592
593
594
# File 'lib/openai/models/beta/beta_tool.rb', line 588

optional(
  :input_fidelity,
  enum: -> {
    OpenAI::Beta::BetaTool::ImageGeneration::InputFidelity
  },
  nil?: true
)

#input_image_maskOpenAI::Models::Beta::BetaTool::ImageGeneration::InputImageMask?

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



601
# File 'lib/openai/models/beta/beta_tool.rb', line 601

optional :input_image_mask, -> { OpenAI::Beta::BetaTool::ImageGeneration::InputImageMask }

#modelString, ...

The image generation model to use. One of gpt-image-1, gpt-image-1-mini, gpt-image-1.5, gpt-image-2, gpt-image-2-2026-04-21, or chatgpt-image-latest. Default: gpt-image-1.



609
# File 'lib/openai/models/beta/beta_tool.rb', line 609

optional :model, union: -> { OpenAI::Beta::BetaTool::ImageGeneration::Model }

#moderationSymbol, ...

Moderation level for the generated image. Default: auto.



615
# File 'lib/openai/models/beta/beta_tool.rb', line 615

optional :moderation, enum: -> { OpenAI::Beta::BetaTool::ImageGeneration::Moderation }

#output_compressionInteger?

Compression level for the output image. Default: 100.

Returns:

  • (Integer, nil)


621
# File 'lib/openai/models/beta/beta_tool.rb', line 621

optional :output_compression, Integer

#output_formatSymbol, ...

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



628
# File 'lib/openai/models/beta/beta_tool.rb', line 628

optional :output_format, enum: -> { OpenAI::Beta::BetaTool::ImageGeneration::OutputFormat }

#partial_imagesInteger?

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

Returns:

  • (Integer, nil)


635
# File 'lib/openai/models/beta/beta_tool.rb', line 635

optional :partial_images, Integer

#qualitySymbol, ...

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



642
# File 'lib/openai/models/beta/beta_tool.rb', line 642

optional :quality, enum: -> { OpenAI::Beta::BetaTool::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.



658
# File 'lib/openai/models/beta/beta_tool.rb', line 658

optional :size, union: -> { OpenAI::Beta::BetaTool::ImageGeneration::Size }

#typeSymbol, :image_generation

The type of the image generation tool. Always image_generation.

Returns:

  • (Symbol, :image_generation)


561
# File 'lib/openai/models/beta/beta_tool.rb', line 561

required :type, const: :image_generation

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/openai/models/beta/beta_tool.rb', line 700