class OpenAIImageToolkit(BaseToolkit):
A class toolkit for image generation using OpenAI’s
Image Generation API.
init
def __init__(
self,
model: Optional[Literal['gpt-image-1', 'dall-e-3', 'dall-e-2']] = 'gpt-image-1',
timeout: Optional[float] = None,
api_key: Optional[str] = None,
url: Optional[str] = None,
size: Optional[Literal['256x256', '512x512', '1024x1024', '1536x1024', '1024x1536', '1792x1024', '1024x1792', 'auto']] = '1024x1024',
quality: Optional[Literal['auto', 'low', 'medium', 'high', 'standard', 'hd']] = 'standard',
response_format: Optional[Literal['url', 'b64_json']] = 'b64_json',
n: Optional[int] = 1,
background: Optional[Literal['transparent', 'opaque', 'auto']] = 'auto',
style: Optional[Literal['vivid', 'natural']] = None,
image_save_path: Optional[str] = 'image_save'
):
Initializes a new instance of the OpenAIImageToolkit class.
Parameters:
- api_key (Optional[str]): The API key for authenticating with the OpenAI service. (default: :obj:
None
)
- url (Optional[str]): The url to the OpenAI service. (default: :obj:
None
)
- model (Optional[str]): The model to use. (default: :obj:
"dall-e-3"
)
- timeout (Optional[float]): The timeout value for API requests in seconds. If None, no timeout is applied. (default: :obj:
None
) size (Optional[Literal[“256x256”, “512x512”, “1024x1024”, “1536x1024”, “1024x1536”, “1792x1024”, “1024x1792”, “auto”]]): The size of the image to generate. (default: :obj:"1024x1024"
) quality (Optional[Literal[“auto”, “low”, “medium”, “high”, “standard”, “hd”]]):The quality of the image to generate. Different models support different values. (default: :obj:"standard"
)
- response_format (
Optional[Literal["url", "b64_json"]]
): The format of the response.(default: :obj:"b64_json"
)
- n (Optional[int]): The number of images to generate. (default: :obj:
1
)
- background (
Optional[Literal["transparent", "opaque", "auto"]]
): The background of the image.(default: :obj:"auto"
)
- style (
Optional[Literal["vivid", "natural"]]
): The style of the image.(default: :obj:None
)
- image_save_path (Optional[str]): The path to save the generated image.(default: :obj:
"image_save"
)
base64_to_image
def base64_to_image(self, base64_string: str):
Converts a base64 encoded string into a PIL Image object.
Parameters:
- base64_string (str): The base64 encoded string of the image.
Returns:
Optional[Image.Image]: The PIL Image object or None if conversion
fails.
_build_base_params
def _build_base_params(self, prompt: str):
Build base parameters dict for OpenAI API calls.
Parameters:
- prompt (str): The text prompt for the image operation.
Returns:
dict: Parameters dictionary with non-None values.
_handle_api_response
def _handle_api_response(
self,
response,
image_name: str,
operation: str
):
Handle API response from OpenAI image operations.
Parameters:
- response: The response object from OpenAI API.
- image_name (str): Name for the saved image file.
- operation (str): Operation type for success message (“generated”).
Returns:
str: Success message with image path/URL or error message.
generate_image
def generate_image(self, prompt: str, image_name: str = 'image'):
Generate an image using OpenAI’s Image Generation models.
The generated image will be saved locally (for __INLINE_CODE_0__
response
formats) or an image URL will be returned (for __INLINE_CODE_1__
response
formats).
Parameters:
- prompt (str): The text prompt to generate the image.
- image_name (str): The name of the image to save. (default: :obj:
"image"
)
Returns:
str: the content of the model response or format of the response.
Returns:
List[FunctionTool]: A list of FunctionTool objects
representing the functions in the toolkit.
Responses are generated using AI and may contain mistakes.