Skip to content

Commit 63a659a

Browse files
Add includeSafetyAttributes to ImageGenerationParameters
1 parent 4beb330 commit 63a659a

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

FirebaseAI/Sources/Types/Internal/Imagen/ImageGenerationParameters.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ struct ImageGenerationParameters {
2323
let outputOptions: ImageGenerationOutputOptions?
2424
let addWatermark: Bool?
2525
let includeResponsibleAIFilterReason: Bool?
26+
let includeSafetyAttributes: Bool?
2627
}
2728

2829
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *)
@@ -42,6 +43,7 @@ extension ImageGenerationParameters: Encodable {
4243
case outputOptions
4344
case addWatermark
4445
case includeResponsibleAIFilterReason = "includeRaiReason"
46+
case includeSafetyAttributes
4547
}
4648

4749
func encode(to encoder: any Encoder) throws {
@@ -58,5 +60,6 @@ extension ImageGenerationParameters: Encodable {
5860
includeResponsibleAIFilterReason,
5961
forKey: .includeResponsibleAIFilterReason
6062
)
63+
try container.encodeIfPresent(includeSafetyAttributes, forKey: .includeSafetyAttributes)
6164
}
6265
}

FirebaseAI/Sources/Types/Public/Imagen/ImagenModel.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,8 @@ public final class ImagenModel {
159159
)
160160
},
161161
addWatermark: generationConfig?.addWatermark,
162-
includeResponsibleAIFilterReason: true
162+
includeResponsibleAIFilterReason: true,
163+
includeSafetyAttributes: true
163164
)
164165
}
165166
}

FirebaseAI/Tests/Unit/Types/Imagen/ImageGenerationParametersTests.swift

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ final class ImageGenerationParametersTests: XCTestCase {
3434
personGeneration: nil,
3535
outputOptions: nil,
3636
addWatermark: nil,
37-
includeResponsibleAIFilterReason: true
37+
includeResponsibleAIFilterReason: true,
38+
includeSafetyAttributes: true
3839
)
3940

4041
let parameters = ImagenModel.imageGenerationParameters(
@@ -57,7 +58,8 @@ final class ImageGenerationParametersTests: XCTestCase {
5758
personGeneration: nil,
5859
outputOptions: nil,
5960
addWatermark: nil,
60-
includeResponsibleAIFilterReason: true
61+
includeResponsibleAIFilterReason: true,
62+
includeSafetyAttributes: true
6163
)
6264

6365
let parameters = ImagenModel.imageGenerationParameters(
@@ -95,7 +97,8 @@ final class ImageGenerationParametersTests: XCTestCase {
9597
compressionQuality: imageFormat.compressionQuality
9698
),
9799
addWatermark: addWatermark,
98-
includeResponsibleAIFilterReason: true
100+
includeResponsibleAIFilterReason: true,
101+
includeSafetyAttributes: true
99102
)
100103

101104
let parameters = ImagenModel.imageGenerationParameters(
@@ -124,7 +127,8 @@ final class ImageGenerationParametersTests: XCTestCase {
124127
personGeneration: personFilterLevel.rawValue,
125128
outputOptions: nil,
126129
addWatermark: nil,
127-
includeResponsibleAIFilterReason: true
130+
includeResponsibleAIFilterReason: true,
131+
includeSafetyAttributes: true
128132
)
129133

130134
let parameters = ImagenModel.imageGenerationParameters(
@@ -170,7 +174,8 @@ final class ImageGenerationParametersTests: XCTestCase {
170174
compressionQuality: imageFormat.compressionQuality
171175
),
172176
addWatermark: addWatermark,
173-
includeResponsibleAIFilterReason: true
177+
includeResponsibleAIFilterReason: true,
178+
includeSafetyAttributes: true
174179
)
175180

176181
let parameters = ImagenModel.imageGenerationParameters(
@@ -209,7 +214,8 @@ final class ImageGenerationParametersTests: XCTestCase {
209214
personGeneration: personGeneration,
210215
outputOptions: outputOptions,
211216
addWatermark: addWatermark,
212-
includeResponsibleAIFilterReason: includeRAIReason
217+
includeResponsibleAIFilterReason: includeRAIReason,
218+
includeSafetyAttributes: true
213219
)
214220

215221
let jsonData = try encoder.encode(parameters)
@@ -220,6 +226,7 @@ final class ImageGenerationParametersTests: XCTestCase {
220226
"addWatermark" : \(addWatermark),
221227
"aspectRatio" : "\(aspectRatio)",
222228
"includeRaiReason" : \(includeRAIReason),
229+
"includeSafetyAttributes" : true,
223230
"negativePrompt" : "\(negativePrompt)",
224231
"outputOptions" : {
225232
"mimeType" : "\(mimeType)"

0 commit comments

Comments
 (0)