choonkeat / elm-openai / OpenAI.Image

The Images API provides three methods for interacting with images:

See https://beta.openai.com/docs/guides/images

create : Input -> Ext.Http.TaskInput (Ext.Http.Error String) Output

https://beta.openai.com/docs/api-reference/images/create

createEdit : EditsInput -> Ext.Http.TaskInput (Ext.Http.Error String) Output

https://beta.openai.com/docs/api-reference/images/create-edit

createVariation : ImageVariationInput -> Ext.Http.TaskInput (Ext.Http.Error String) Output

https://beta.openai.com/docs/api-reference/images/create-variation


type alias Input =
{ prompt : String
, n : Maybe Basics.Int
, size : Maybe Size
, response_format : Maybe ResponseFormat
, user : Maybe String 
}


type alias EditsInput =
{ image : OpenAI.Common.BinaryBlob
, mask : Maybe OpenAI.Common.BinaryBlob
, prompt : String
, n : Maybe Basics.Int
, size : Maybe Size
, response_format : Maybe ResponseFormat
, user : Maybe String 
}


type ResponseFormat
    = ImageURL
    | ImageB64Json


type Size
    = Size256x256
    | Size512x512
    | Size1024x1024


type Output
    = ImageURLOutput Time.Posix (List Url)
    | ImageB64JsonOutput Time.Posix (List Bytes)