Packages
openai_ex
0.5.8
0.9.21
0.9.20
0.9.19
0.9.18
0.9.17
0.9.16
0.9.15
0.9.14
0.9.13
0.9.12
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.2
0.4.1
0.4.0
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Community maintained Elixir library for OpenAI API
Current section
Files
Jump to
Current section
Files
lib/openai_ex/image_generate.ex
defmodule OpenaiEx.Image.Generate do
@moduledoc """
This module provides constructors for the OpenAI image generation API. The API
reference can be found at https://platform.openai.com/docs/api-reference/images/create.
## API Fields
The following fields can be used as parameters when creating a new image:
- `:prompt`
- `:model`
- `:n`
- `:quality`
- `:response_format`
- `:size`
- `:style`
- `:user`
"""
@api_fields [
:prompt,
:model,
:n,
:quality,
:response_format,
:size,
:style,
:user
]
@doc """
Creates a new image generation request with the given arguments.
## Arguments
- `args`: A list of key-value pairs, or a map, representing the fields of the image generation request.
## Returns
A map containing the fields of the image generation request.
The `:prompt` field is required.
Example usage:
iex> _request = OpenaiEx.Image.Generate.new(prompt: "This is a test")
%{prompt: "This is a test"}
iex> _request = OpenaiEx.Image.Generate.new(%{prompt: "This is a test"})
%{prompt: "This is a test"}
"""
def new(args = [_ | _]) do
args |> Enum.into(%{}) |> new()
end
def new(args = %{prompt: _}) do
args |> Map.take(@api_fields)
end
end