@@ -301,6 +301,45 @@ public async Task ThreadWithInitialMessagesWorks()
301
301
Assert . That ( messages [ 1 ] . Content [ 1 ] . ImageUri . AbsoluteUri , Is . EqualTo ( "https://test.openai.com/image.png" ) ) ;
302
302
}
303
303
304
+ [ Test ]
305
+ public async Task ThreadWithImageDetailWorks ( )
306
+ {
307
+ AssistantClient client = GetTestClient ( ) ;
308
+
309
+ ThreadCreationOptions options = new ( )
310
+ {
311
+ InitialMessages =
312
+ {
313
+ new (
314
+ MessageRole . User ,
315
+ [
316
+ "Describe this image with auto detail:" ,
317
+ MessageContent . FromImageUri (
318
+ new Uri ( "https://test.openai.com/image.png" ) ,
319
+ MessageImageDetail . Auto )
320
+ ] )
321
+ }
322
+ } ;
323
+
324
+ AssistantThread thread = IsAsync
325
+ ? await client . CreateThreadAsync ( options )
326
+ : client . CreateThread ( options ) ;
327
+
328
+ Validate ( thread ) ;
329
+
330
+ MessageCollectionOptions collectionOptions = new ( ) { Order = MessageCollectionOrder . Ascending } ;
331
+ List < ThreadMessage > messages = IsAsync
332
+ ? await client . GetMessagesAsync ( thread . Id , collectionOptions ) . ToListAsync ( )
333
+ : client . GetMessages ( thread . Id , collectionOptions ) . ToList ( ) ;
334
+
335
+ Assert . That ( messages . Count , Is . EqualTo ( 1 ) ) ;
336
+ Assert . That ( messages [ 0 ] . Role , Is . EqualTo ( MessageRole . User ) ) ;
337
+ Assert . That ( messages [ 0 ] . Content ? . Count , Is . EqualTo ( 2 ) ) ;
338
+
339
+ Assert . That ( messages [ 0 ] . Content [ 0 ] . Text , Is . EqualTo ( "Describe this image with auto detail:" ) ) ;
340
+ Assert . That ( messages [ 0 ] . Content [ 1 ] . ImageUri . AbsoluteUri , Is . EqualTo ( "https://test.openai.com/image.png" ) ) ;
341
+ }
342
+
304
343
[ Test ]
305
344
public async Task BasicRunOperationsWork ( )
306
345
{
0 commit comments