glopenai/image

Types

Request to generate images.

pub type CreateImageRequest {
  CreateImageRequest(
    prompt: String,
    model: option.Option(ImageModel),
    n: option.Option(Int),
    quality: option.Option(ImageQuality),
    response_format: option.Option(ImageResponseFormat),
    output_format: option.Option(ImageOutputFormat),
    output_compression: option.Option(Int),
    size: option.Option(ImageSize),
    moderation: option.Option(ImageModeration),
    background: option.Option(ImageBackground),
    style: option.Option(ImageStyle),
    user: option.Option(String),
  )
}

Constructors

A generated image, either as a URL or base64-encoded data.

pub type Image {
  ImageUrl(url: String, revised_prompt: option.Option(String))
  ImageB64Json(
    b64_json: String,
    revised_prompt: option.Option(String),
  )
}

Constructors

  • ImageUrl(url: String, revised_prompt: option.Option(String))
  • ImageB64Json(
      b64_json: String,
      revised_prompt: option.Option(String),
    )
pub type ImageBackground {
  BackgroundAuto
  BackgroundTransparent
  BackgroundOpaque
}

Constructors

  • BackgroundAuto
  • BackgroundTransparent
  • BackgroundOpaque

Usage details for image generation input tokens.

pub type ImageGenInputUsageDetails {
  ImageGenInputUsageDetails(text_tokens: Int, image_tokens: Int)
}

Constructors

  • ImageGenInputUsageDetails(text_tokens: Int, image_tokens: Int)

Usage details for image generation output tokens.

pub type ImageGenOutputTokensDetails {
  ImageGenOutputTokensDetails(
    text_tokens: Int,
    image_tokens: Int,
  )
}

Constructors

  • ImageGenOutputTokensDetails(text_tokens: Int, image_tokens: Int)

Token usage for image generation.

pub type ImageGenUsage {
  ImageGenUsage(
    input_tokens: Int,
    output_tokens: Int,
    total_tokens: Int,
    input_tokens_details: ImageGenInputUsageDetails,
    output_token_details: option.Option(
      ImageGenOutputTokensDetails,
    ),
  )
}

Constructors

pub type ImageModel {
  GptImage1
  GptImage1dot5
  GptImage1Mini
  DallE2
  DallE3
  OtherImageModel(String)
}

Constructors

  • GptImage1
  • GptImage1dot5
  • GptImage1Mini
  • DallE2
  • DallE3
  • OtherImageModel(String)
pub type ImageModeration {
  ModerationAuto
  ModerationLow
}

Constructors

  • ModerationAuto
  • ModerationLow
pub type ImageOutputFormat {
  Png
  Jpeg
  Webp
}

Constructors

  • Png
  • Jpeg
  • Webp
pub type ImageQuality {
  QualityStandard
  QualityHd
  QualityHigh
  QualityMedium
  QualityLow
  QualityAuto
}

Constructors

  • QualityStandard
  • QualityHd
  • QualityHigh
  • QualityMedium
  • QualityLow
  • QualityAuto

Background in the response (transparent vs opaque, without auto).

pub type ImageResponseBackground {
  ResponseTransparent
  ResponseOpaque
}

Constructors

  • ResponseTransparent
  • ResponseOpaque
pub type ImageResponseFormat {
  Url
  B64Json
}

Constructors

  • Url
  • B64Json
pub type ImageSize {
  SizeAuto
  Size256x256
  Size512x512
  Size1024x1024
  Size1792x1024
  Size1024x1792
  Size1536x1024
  Size1024x1536
}

Constructors

  • SizeAuto
  • Size256x256
  • Size512x512
  • Size1024x1024
  • Size1792x1024
  • Size1024x1792
  • Size1536x1024
  • Size1024x1536
pub type ImageStyle {
  Vivid
  Natural
}

Constructors

  • Vivid
  • Natural

Response from creating images.

pub type ImagesResponse {
  ImagesResponse(
    created: Int,
    data: List(Image),
    background: option.Option(ImageResponseBackground),
    output_format: option.Option(ImageOutputFormat),
    size: option.Option(ImageSize),
    quality: option.Option(ImageQuality),
    usage: option.Option(ImageGenUsage),
  )
}

Constructors

Values

pub fn create_image_request_to_json(
  request: CreateImageRequest,
) -> json.Json
pub fn create_request(
  config: config.Config,
  params: CreateImageRequest,
) -> request.Request(String)

Build a request to generate images.

pub fn create_response(
  response: response.Response(String),
) -> Result(ImagesResponse, error.GlopenaiError)

Parse the response from generating images.

pub fn image_background_to_json(
  background: ImageBackground,
) -> json.Json
pub fn image_decoder() -> decode.Decoder(Image)

Decode a generated image. The API returns either a “url” or “b64_json” field depending on the response_format requested. We try URL first, then b64.

pub fn image_gen_usage_decoder() -> decode.Decoder(ImageGenUsage)
pub fn image_model_decoder() -> decode.Decoder(ImageModel)
pub fn image_model_to_json(model: ImageModel) -> json.Json
pub fn image_moderation_to_json(
  moderation: ImageModeration,
) -> json.Json
pub fn image_output_format_decoder() -> decode.Decoder(
  ImageOutputFormat,
)
pub fn image_output_format_to_json(
  format: ImageOutputFormat,
) -> json.Json
pub fn image_quality_decoder() -> decode.Decoder(ImageQuality)
pub fn image_quality_to_json(quality: ImageQuality) -> json.Json
pub fn image_response_format_decoder() -> decode.Decoder(
  ImageResponseFormat,
)
pub fn image_response_format_to_json(
  format: ImageResponseFormat,
) -> json.Json
pub fn image_size_decoder() -> decode.Decoder(ImageSize)
pub fn image_size_to_json(size: ImageSize) -> json.Json
pub fn image_style_decoder() -> decode.Decoder(ImageStyle)
pub fn image_style_to_json(style: ImageStyle) -> json.Json
pub fn new_create_request(
  prompt prompt: String,
) -> CreateImageRequest

Create a new image generation request with the required prompt.

pub fn with_background(
  request: CreateImageRequest,
  background: ImageBackground,
) -> CreateImageRequest
pub fn with_model(
  request: CreateImageRequest,
  model: ImageModel,
) -> CreateImageRequest
pub fn with_moderation(
  request: CreateImageRequest,
  moderation: ImageModeration,
) -> CreateImageRequest
pub fn with_n(
  request: CreateImageRequest,
  n: Int,
) -> CreateImageRequest
pub fn with_output_compression(
  request: CreateImageRequest,
  compression: Int,
) -> CreateImageRequest
pub fn with_output_format(
  request: CreateImageRequest,
  format: ImageOutputFormat,
) -> CreateImageRequest
pub fn with_quality(
  request: CreateImageRequest,
  quality: ImageQuality,
) -> CreateImageRequest
pub fn with_response_format(
  request: CreateImageRequest,
  format: ImageResponseFormat,
) -> CreateImageRequest
pub fn with_size(
  request: CreateImageRequest,
  size: ImageSize,
) -> CreateImageRequest
pub fn with_style(
  request: CreateImageRequest,
  style: ImageStyle,
) -> CreateImageRequest
pub fn with_user(
  request: CreateImageRequest,
  user: String,
) -> CreateImageRequest
Search Document