package OpenAI::API::Request::Image::Generation; use strict; use warnings; use Types::Standard qw(Int Str Enum); use Moo; use strictures 2; use namespace::clean; extends 'OpenAI::API::Request'; has prompt => ( is => 'ro', isa => Str, required => 1, ); has n => ( is => 'ro', isa => Int, ); has size => ( is => 'ro', isa => Enum [ '256x256', '512x512', '1024x1024' ], ); has response_format => ( is => 'ro', isa => Enum [ 'url', 'b64_json' ], ); has user => ( is => 'ro', isa => Str, ); sub endpoint { 'images/generations' } sub method { 'POST' } 1; __END__ =head1 NAME OpenAI::API::Request::Image::Generation - generates images from a prompt =head1 SYNOPSIS use OpenAI::API::Request::Image::Generation; my $request = OpenAI::API::Request::Image::Generation->new( prompt => 'A cute baby sea otter', size => '256x256', n => 1, ); my $res = $request->send(); my @images = @{ $res->{data} }; =head1 DESCRIPTION Creates an image given a prompt. =head1 METHODS =head2 new() =over =item * prompt A text description of the desired image(s). =item * n [optional] The number of images to generate. Must be between 1 and 10. Defaults to 1. =item * size [optional] The size of the generated images. Must be one of C<256x256>, C<512x512>, or C<1024x1024>. Defaults to C<1024x1024>. =item * response_format [optional] The format in which the generated images are returned. Must be one of C or C. Defaults to C. =item * user [optional] A unique identifier representing your end-user. =back =head2 send() Sends the request and returns a data structured similar to the one documented in the API reference. =head1 SEE ALSO OpenAI API Reference: L