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
-
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), )
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
-
ImageGenUsage( input_tokens: Int, output_tokens: Int, total_tokens: Int, input_tokens_details: ImageGenInputUsageDetails, output_token_details: option.Option(ImageGenOutputTokensDetails), )
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
-
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), )
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_input_usage_details_decoder() -> decode.Decoder(
ImageGenInputUsageDetails,
)
pub fn image_gen_output_tokens_details_decoder() -> decode.Decoder(
ImageGenOutputTokensDetails,
)
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_background_decoder() -> decode.Decoder(
ImageResponseBackground,
)
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_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