Packages
openai_ex
0.2.0
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_edit.ex
defmodule OpenaiEx.Image.Edit do
@moduledoc """
This module provides constructors for OpenAI Image Edit API request structure. The API reference can be found at https://platform.openai.com/docs/api-reference/images/create-edit.
## API Fields
- `:image`
- `:mask`
- `:prompt`
- `:n`
- `:size`
- `:response_format`
- `:user`
"""
@api_fields [
:image,
:mask,
:prompt,
:n,
:size,
:response_format,
:user
]
@doc """
Creates a new image edit request with the given arguments.
## Arguments
- `args`: A list of key-value pairs, or a map, representing the fields of the image edit request.
## Returns
A map containing the fields of the image edit request.
The `:image` and `:prompt` fields are required.
"""
def new(args = [_ | _]) do
args |> Enum.into(%{}) |> new()
end
def new(args = %{image: image, prompt: prompt}) do
%{
image: image,
prompt: prompt
}
|> Map.merge(args)
|> Map.take(@api_fields)
end
@doc false
def file_fields() do
[:image, :mask]
end
end