Move predict image safety settings to enum
Some checks failed
Rust / build (push) Has been cancelled
Some checks failed
Rust / build (push) Has been cancelled
This commit is contained in:
@@ -3,6 +3,7 @@ use std::{error::Error, io::Cursor};
|
||||
use gemini_rs::prelude::{
|
||||
GeminiClient, PersonGeneration, PredictImageRequest, PredictImageRequestParameters,
|
||||
PredictImageRequestParametersOutputOptions, PredictImageRequestPrompt,
|
||||
PredictImageSafetySetting,
|
||||
};
|
||||
use image::{ImageFormat, ImageReader};
|
||||
|
||||
@@ -35,6 +36,7 @@ pub async fn main() -> Result<(), Box<dyn Error>> {
|
||||
compression_quality: Some(75),
|
||||
}),
|
||||
person_generation: Some(PersonGeneration::AllowAll),
|
||||
safety_setting: Some(PredictImageSafetySetting::BlockOnlyHigh),
|
||||
..Default::default()
|
||||
},
|
||||
};
|
||||
|
||||
@@ -126,7 +126,7 @@ pub struct PredictImageRequestParameters {
|
||||
/// Supported by the models `imagen-3.0-generate-001`, `imagen-3.0-fast-generate-001`, and
|
||||
/// `imagegeneration@006` only.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub safety_setting: Option<String>,
|
||||
pub safety_setting: Option<PredictImageSafetySetting>,
|
||||
|
||||
/// Add an invisible watermark to the generated images. The default value is `false` for the
|
||||
/// `imagegeneration@002` and `imagegeneration@005` models, and `true` for the
|
||||
@@ -176,3 +176,12 @@ pub enum PersonGeneration {
|
||||
AllowAdult,
|
||||
AllowAll,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum PredictImageSafetySetting {
|
||||
BlockLowAndAbove,
|
||||
BlockMediumAndAbove,
|
||||
BlockOnlyHigh,
|
||||
BlockNone,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user