@@ -301,6 +301,45 @@ public async Task ThreadWithInitialMessagesWorks()
301301 Assert . That ( messages [ 1 ] . Content [ 1 ] . ImageUri . AbsoluteUri , Is . EqualTo ( "https://test.openai.com/image.png" ) ) ;
302302 }
303303
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+
304343 [ Test ]
305344 public async Task BasicRunOperationsWork ( )
306345 {
0 commit comments