Packages
openai_ex
0.9.21
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/images.ex
defmodule OpenaiEx.Images 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.{Images, Http}
@doc """
Calls the image generation endpoint.
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 |> generate(image) |> Http.bang_it!()
end
def generate(openai = %OpenaiEx{}, image = %{}) do
openai |> Http.post("/images/generations", json: image)
end
@doc """
Calls the image edit endpoint.
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 |> edit(image_edit) |> Http.bang_it!()
end
def edit(openai = %OpenaiEx{}, image_edit = %{}) do
multipart = image_edit |> Http.to_multi_part_form_data(Images.Edit.file_fields())
openai |> Http.post("/images/edits", multipart: multipart)
end
@doc """
Calls the image variation endpoint.
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 |> create_variation(image_variation) |> Http.bang_it!()
end
def create_variation(openai = %OpenaiEx{}, image_variation = %{}) do
multipart = image_variation |> Http.to_multi_part_form_data(Images.Variation.file_fields())
openai |> Http.post("/images/variations", multipart: multipart)
end
end