Skip to content

Commit 0b91d06

Browse files
Madoshakalakaclaude64bit
authored
feat: update image generation API to match latest OpenAI specs (#402)
* feat: update image generation API to match latest OpenAI specs - Add ImageModeration enum with 'auto' (default) and 'low' values - Add moderation parameter to CreateImageRequest for gpt-image-1 - Extend ImageQuality enum to support 'high', 'medium', 'low' for gpt-image-1 These changes align with the latest OpenAI API documentation for image generation. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * add Auto to ImageQuality --------- Co-authored-by: Claude <[email protected]> Co-authored-by: Himanshu Neema <[email protected]>
1 parent 961f90f commit 0b91d06

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

async-openai/src/types/image.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ pub enum ImageQuality {
5757
#[default]
5858
Standard,
5959
HD,
60+
High,
61+
Medium,
62+
Low,
63+
Auto,
6064
}
6165

6266
#[derive(Debug, Serialize, Deserialize, Default, Clone, PartialEq)]
@@ -67,6 +71,14 @@ pub enum ImageStyle {
6771
Natural,
6872
}
6973

74+
#[derive(Debug, Serialize, Deserialize, Default, Clone, PartialEq)]
75+
#[serde(rename_all = "lowercase")]
76+
pub enum ImageModeration {
77+
#[default]
78+
Auto,
79+
Low,
80+
}
81+
7082
#[derive(Debug, Clone, Serialize, Deserialize, Default, Builder, PartialEq)]
7183
#[builder(name = "CreateImageRequestArgs")]
7284
#[builder(pattern = "mutable")]
@@ -110,6 +122,11 @@ pub struct CreateImageRequest {
110122
/// A unique identifier representing your end-user, which will help OpenAI to monitor and detect abuse. [Learn more](https://platform.openai.com/docs/usage-policies/end-user-ids).
111123
#[serde(skip_serializing_if = "Option::is_none")]
112124
pub user: Option<String>,
125+
126+
/// Control the content-moderation level for images generated by gpt-image-1.
127+
/// Must be either `low` for less restrictive filtering or `auto` (default value).
128+
#[serde(skip_serializing_if = "Option::is_none")]
129+
pub moderation: Option<ImageModeration>,
113130
}
114131

115132
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]

0 commit comments

Comments
 (0)