|
18 | 18 | ]); |
19 | 19 |
|
20 | 20 | Transcription::of(base64_encode('fake-audio'), 'audio/mp3') |
21 | | - ->generate(provider: 'gemini', model: 'gemini-3-flash-preview'); |
| 21 | + ->generate(provider: 'gemini', model: 'gemini-3.5-flash'); |
22 | 22 |
|
23 | 23 | Http::assertSent(function (Request $request) { |
24 | 24 | $body = $request->data(); |
25 | 25 | $parts = $body['contents'][0]['parts']; |
26 | 26 |
|
27 | | - return str_contains($request->url(), 'models/gemini-3-flash-preview:generateContent') |
| 27 | + return str_contains($request->url(), 'models/gemini-3.5-flash:generateContent') |
28 | 28 | && $parts[1]['inlineData']['mimeType'] === 'audio/mp3' |
29 | 29 | && $parts[1]['inlineData']['data'] === base64_encode('fake-audio'); |
30 | 30 | }); |
|
37 | 37 |
|
38 | 38 | Transcription::of(base64_encode('fake-audio'), 'audio/mp3') |
39 | 39 | ->language('fr') |
40 | | - ->generate(provider: 'gemini', model: 'gemini-3-flash-preview'); |
| 40 | + ->generate(provider: 'gemini', model: 'gemini-3.5-flash'); |
41 | 41 |
|
42 | 42 | Http::assertSent(fn (Request $request) => str_contains( |
43 | 43 | $request->data()['contents'][0]['parts'][0]['text'], |
|
51 | 51 | ]); |
52 | 52 |
|
53 | 53 | $response = Transcription::of(base64_encode('fake-audio'), 'audio/mp3') |
54 | | - ->generate(provider: 'gemini', model: 'gemini-3-flash-preview'); |
| 54 | + ->generate(provider: 'gemini', model: 'gemini-3.5-flash'); |
55 | 55 |
|
56 | 56 | expect($response->text)->toBe('Hello world') |
57 | 57 | ->and($response->segments)->toHaveCount(0) |
58 | 58 | ->and($response->meta->provider)->toBe('gemini') |
59 | | - ->and($response->meta->model)->toBe('gemini-3-flash-preview') |
| 59 | + ->and($response->meta->model)->toBe('gemini-3.5-flash') |
60 | 60 | ->and($response->usage->promptTokens)->toBe(10) |
61 | 61 | ->and($response->usage->completionTokens)->toBe(5); |
62 | 62 | }); |
|
68 | 68 |
|
69 | 69 | Transcription::of(base64_encode('fake-audio'), 'audio/mp3')->generate(provider: 'gemini'); |
70 | 70 |
|
71 | | - Http::assertSent(fn (Request $request) => str_contains($request->url(), 'models/gemini-3-flash-preview:generateContent')); |
| 71 | + Http::assertSent(fn (Request $request) => str_contains($request->url(), 'models/gemini-3.5-flash:generateContent')); |
72 | 72 | }); |
73 | 73 |
|
74 | 74 | test('diarized transcription request sends json schema in generation config', function () { |
|
78 | 78 |
|
79 | 79 | Transcription::of(base64_encode('fake-audio'), 'audio/mp3') |
80 | 80 | ->diarize() |
81 | | - ->generate(provider: 'gemini', model: 'gemini-3-flash-preview'); |
| 81 | + ->generate(provider: 'gemini', model: 'gemini-3.5-flash'); |
82 | 82 |
|
83 | 83 | Http::assertSent(function (Request $request) { |
84 | 84 | $body = $request->data(); |
|
97 | 97 |
|
98 | 98 | $response = Transcription::of(base64_encode('fake-audio'), 'audio/mp3') |
99 | 99 | ->diarize() |
100 | | - ->generate(provider: 'gemini', model: 'gemini-3-flash-preview'); |
| 100 | + ->generate(provider: 'gemini', model: 'gemini-3.5-flash'); |
101 | 101 |
|
102 | 102 | expect($response->text)->toBe('Hello world') |
103 | 103 | ->and($response->segments)->toHaveCount(2) |
|
121 | 121 |
|
122 | 122 | $response = Transcription::of(base64_encode('fake-audio'), 'audio/mp3') |
123 | 123 | ->diarize() |
124 | | - ->generate(provider: 'gemini', model: 'gemini-3-flash-preview'); |
| 124 | + ->generate(provider: 'gemini', model: 'gemini-3.5-flash'); |
125 | 125 |
|
126 | 126 | expect($response->segments[0]->startSeconds)->toBe(1.5) |
127 | 127 | ->and($response->segments[0]->endSeconds)->toBe(62.25) |
|
0 commit comments