@@ -70,8 +70,6 @@ protected override void Start() {
70
70
TestCountTokens ,
71
71
TestYoutubeLink ,
72
72
TestGenerateImage ,
73
- TestImagenGenerateImage ,
74
- TestImagenGenerateImageOptions
75
73
} ;
76
74
// Set of tests that only run the single time.
77
75
Func < Task > [ ] singleTests = {
@@ -88,9 +86,6 @@ protected override void Start() {
88
86
InternalTestBasicResponseLongUsageMetadata ,
89
87
InternalTestGoogleAIBasicReplyShort ,
90
88
InternalTestGoogleAICitations ,
91
- InternalTestGenerateImagesBase64 ,
92
- InternalTestGenerateImagesAllFiltered ,
93
- InternalTestGenerateImagesBase64SomeFiltered ,
94
89
} ;
95
90
96
91
// Create the set of tests, combining the above lists.
@@ -688,58 +683,6 @@ async Task TestGenerateImage(Backend backend) {
688
683
Assert ( $ "Missing expected modalities. Text: { foundText } , Image: { foundImage } ", foundText && foundImage ) ;
689
684
}
690
685
691
- async Task TestImagenGenerateImage ( Backend backend ) {
692
- var model = GetFirebaseAI ( backend ) . GetImagenModel ( "imagen-3.0-generate-002" ) ;
693
-
694
- var response = await model . GenerateImagesAsync (
695
- "Generate an image of a cartoon dog." ) ;
696
-
697
- // We can't easily test if the image is correct, but can check other random data.
698
- AssertEq ( "FilteredReason" , response . FilteredReason , null ) ;
699
- AssertEq ( "Image Count" , response . Images . Count , 1 ) ;
700
-
701
- AssertEq ( $ "Image MimeType", response . Images [ 0 ] . MimeType , "image/png" ) ;
702
-
703
- var texture = response . Images [ 0 ] . AsTexture2D ( ) ;
704
- Assert ( $ "Image as Texture2D", texture != null ) ;
705
- // By default the image should be Square 1x1, so check for that.
706
- Assert ( $ "Image Height > 0", texture . height > 0 ) ;
707
- AssertEq ( $ "Image Height = Width", texture . height , texture . width ) ;
708
- }
709
-
710
- async Task TestImagenGenerateImageOptions ( Backend backend ) {
711
- var model = GetFirebaseAI ( backend ) . GetImagenModel (
712
- modelName : "imagen-3.0-generate-002" ,
713
- generationConfig : new ImagenGenerationConfig (
714
- // negativePrompt and addWatermark are not supported on this version of the model.
715
- numberOfImages : 2 ,
716
- aspectRatio : ImagenAspectRatio . Landscape4x3 ,
717
- imageFormat : ImagenImageFormat . Jpeg ( 50 )
718
- ) ,
719
- safetySettings : new ImagenSafetySettings (
720
- safetyFilterLevel : ImagenSafetySettings . SafetyFilterLevel . BlockLowAndAbove ,
721
- personFilterLevel : ImagenSafetySettings . PersonFilterLevel . BlockAll ) ,
722
- requestOptions : new RequestOptions ( timeout : TimeSpan . FromMinutes ( 1 ) ) ) ;
723
-
724
- var response = await model . GenerateImagesAsync (
725
- "Generate an image of a cartoon dog." ) ;
726
-
727
- // We can't easily test if the image is correct, but can check other random data.
728
- AssertEq ( "FilteredReason" , response . FilteredReason , null ) ;
729
- AssertEq ( "Image Count" , response . Images . Count , 2 ) ;
730
-
731
- for ( int i = 0 ; i < 2 ; i ++ ) {
732
- AssertEq ( $ "Image { i } MimeType", response . Images [ i ] . MimeType , "image/jpeg" ) ;
733
-
734
- var texture = response . Images [ i ] . AsTexture2D ( ) ;
735
- Assert ( $ "Image { i } as Texture2D", texture != null ) ;
736
- // By default the image should be Landscape 4x3, so check for that.
737
- Assert ( $ "Image { i } Height > 0", texture . height > 0 ) ;
738
- Assert ( $ "Image { i } Height < Width { texture . height } < { texture . width } ",
739
- texture . height < texture . width ) ;
740
- }
741
- }
742
-
743
686
// Test providing a file from a GCS bucket (Firebase Storage) to the model.
744
687
async Task TestReadFile ( ) {
745
688
// GCS is currently only supported with VertexAI.
@@ -1236,54 +1179,5 @@ async Task InternalTestGoogleAICitations() {
1236
1179
AssertEq ( "CandidatesTokensDetails[0].Modality" , candidatesDetails [ 0 ] . Modality , ContentModality . Text ) ;
1237
1180
AssertEq ( "CandidatesTokensDetails[0].TokenCount" , candidatesDetails [ 0 ] . TokenCount , 1667 ) ;
1238
1181
}
1239
-
1240
- async Task InternalTestGenerateImagesBase64 ( ) {
1241
- Dictionary < string , object > json = await GetVertexJsonTestData ( "unary-success-generate-images-base64.json" ) ;
1242
- var response = ImagenGenerationResponse < ImagenInlineImage > . FromJson ( json ) ;
1243
-
1244
- AssertEq ( "FilteredReason" , response . FilteredReason , null ) ;
1245
- AssertEq ( "Image Count" , response . Images . Count , 4 ) ;
1246
-
1247
- for ( int i = 0 ; i < response . Images . Count ; i ++ ) {
1248
- var image = response . Images [ i ] ;
1249
- AssertEq ( $ "Image { i } MimeType", image . MimeType , "image/png" ) ;
1250
- Assert ( $ "Image { i } Length: { image . Data . Length } ", image . Data . Length > 0 ) ;
1251
-
1252
- var texture = image . AsTexture2D ( ) ;
1253
- Assert ( $ "Failed to convert Image { i } ", texture != null ) ;
1254
- }
1255
- }
1256
-
1257
- async Task InternalTestGenerateImagesAllFiltered ( ) {
1258
- Dictionary < string , object > json = await GetVertexJsonTestData ( "unary-failure-generate-images-all-filtered.json" ) ;
1259
- var response = ImagenGenerationResponse < ImagenInlineImage > . FromJson ( json ) ;
1260
-
1261
- AssertEq ( "FilteredReason" , response . FilteredReason ,
1262
- "Unable to show generated images. All images were filtered out because " +
1263
- "they violated Vertex AI's usage guidelines. You will not be charged for " +
1264
- "blocked images. Try rephrasing the prompt. If you think this was an error, " +
1265
- "send feedback. Support codes: 39322892, 29310472" ) ;
1266
- AssertEq ( "Image Count" , response . Images . Count , 0 ) ;
1267
- }
1268
-
1269
- async Task InternalTestGenerateImagesBase64SomeFiltered ( ) {
1270
- Dictionary < string , object > json = await GetVertexJsonTestData ( "unary-failure-generate-images-base64-some-filtered.json" ) ;
1271
- var response = ImagenGenerationResponse < ImagenInlineImage > . FromJson ( json ) ;
1272
-
1273
- AssertEq ( "FilteredReason" , response . FilteredReason ,
1274
- "Your current safety filter threshold filtered out 2 generated images. " +
1275
- "You will not be charged for blocked images. Try rephrasing the prompt. " +
1276
- "If you think this was an error, send feedback." ) ;
1277
- AssertEq ( "Image Count" , response . Images . Count , 2 ) ;
1278
-
1279
- for ( int i = 0 ; i < response . Images . Count ; i ++ ) {
1280
- var image = response . Images [ i ] ;
1281
- AssertEq ( $ "Image { i } MimeType", image . MimeType , "image/png" ) ;
1282
- Assert ( $ "Image { i } Length: { image . Data . Length } ", image . Data . Length > 0 ) ;
1283
-
1284
- var texture = image . AsTexture2D ( ) ;
1285
- Assert ( $ "Failed to convert Image { i } ", texture != null ) ;
1286
- }
1287
- }
1288
1182
}
1289
1183
}
0 commit comments