File tree Expand file tree Collapse file tree
gemini-live-ephemeral-tokens-websocket/frontend
gemini-live-genai-python-sdk Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -368,18 +368,12 @@ class GeminiLiveAPI {
368368 }
369369
370370 sendTextMessage ( text ) {
371- const textMessage = {
372- clientContent : {
373- turns : [
374- {
375- role : "user" ,
376- parts : [ { text : text } ] ,
377- } ,
378- ] ,
379- turnComplete : true ,
371+ const message = {
372+ realtimeInput : {
373+ text : text ,
380374 } ,
381375 } ;
382- this . sendMessage ( textMessage ) ;
376+ this . sendMessage ( message ) ;
383377 }
384378
385379 sendToolResponse ( toolCallId , response ) {
@@ -394,16 +388,15 @@ class GeminiLiveAPI {
394388 }
395389
396390 sendRealtimeInputMessage ( data , mimeType ) {
397- const message = {
398- realtimeInput : {
399- mediaChunks : [
400- {
401- mimeType : mimeType ,
402- data : data ,
403- } ,
404- ] ,
405- } ,
406- } ;
391+ const blob = { mimeType, data } ;
392+ const message = { realtimeInput : { } } ;
393+
394+ if ( mimeType . startsWith ( "audio/" ) ) {
395+ message . realtimeInput . audio = blob ;
396+ } else if ( mimeType . startsWith ( "image/" ) || mimeType . startsWith ( "video/" ) ) {
397+ message . realtimeInput . video = blob ;
398+ }
399+
407400 this . sendMessage ( message ) ;
408401 this . addToBytesSent ( data ) ;
409402 }
Original file line number Diff line number Diff line change @@ -64,7 +64,7 @@ async def send_video():
6464 chunk = await video_input_queue .get ()
6565 logger .info (f"Sending video frame to Gemini: { len (chunk )} bytes" )
6666 await session .send_realtime_input (
67- media = types .Blob (data = chunk , mime_type = "image/jpeg" )
67+ video = types .Blob (data = chunk , mime_type = "image/jpeg" )
6868 )
6969 except asyncio .CancelledError :
7070 pass
You can’t perform that action at this time.
0 commit comments