Packages
openai_ex
0.5.9
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.ex
defmodule OpenaiEx.Image do
@moduledoc """
This module provides an implementation of the OpenAI images API. The API reference can be found at https://platform.openai.com/docs/api-reference/images.
"""
alias OpenaiEx.Image
@doc """
Calls the image generation endpoint.
## Arguments
- `openai`: The OpenAI configuration to use.
- `image`: The image request to send.
## Returns
A map containing the response from the OpenAI API.
See the [OpenAI API Create Image reference](https://platform.openai.com/docs/api-reference/images/create) for more information.
"""
def generate(openai = %OpenaiEx{}, image = %{}) do
openai |> OpenaiEx.Http.post("/images/generations", json: image)
end
@doc """
Calls the image edit endpoint.
## Arguments
- `openai`: The OpenAI configuration to use.
- `image_edit`: The image edit request to send.
## Returns
A map containing the response from the OpenAI API.
See the [OpenAI API Create Image Edit reference](https://platform.openai.com/docs/api-reference/images/create-edit) for more information.
"""
def edit(openai = %OpenaiEx{}, image_edit = %{}) do
openai
|> OpenaiEx.Http.post("/images/edits",
multipart: image_edit |> OpenaiEx.Http.to_multi_part_form_data(Image.Edit.file_fields())
)
end
@doc """
Calls the image variation endpoint.
## Arguments
- `openai`: The OpenAI configuration to use.
- `image_variation`: The image variation request to send.
## Returns
A map containing the response from the OpenAI API.
See the [OpenAI API Create Image Variation reference](https://platform.openai.com/docs/api-reference/images/create-variation) for more information.
"""
def create_variation(openai = %OpenaiEx{}, image_variation = %{}) do
openai
|> OpenaiEx.Http.post("/images/variations",
multipart:
image_variation |> OpenaiEx.Http.to_multi_part_form_data(Image.Variation.file_fields())
)
end
end