1---
2version: 2
3interactions:
4- id: 0
5 request:
6 proto: HTTP/1.1
7 proto_major: 1
8 proto_minor: 1
9 content_length: 481
10 host: ""
11 body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"}],"model":"google/gemini-3-pro-preview","tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"reasoning":{"enabled":true}}'
12 headers:
13 Accept:
14 - application/json
15 Content-Type:
16 - application/json
17 User-Agent:
18 - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
19 url: https://ai-gateway.vercel.sh/v1/chat/completions
20 method: POST
21 response:
22 proto: HTTP/2.0
23 proto_major: 2
24 proto_minor: 0
25 content_length: -1
26 uncompressed: true
27 body: '{"id":"gen_01KKHTV30Q2RFH0VSMWRH42TGX","object":"chat.completion","created":1773346331,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"message":{"role":"assistant","content":null,"reasoning":"**Retrieving Weather Data**\n\nI''m zeroing in on the user''s request: weather in Florence, Italy. My plan is to use the `get_weather` tool, it needs a location. The user helpfully gave me \"Florence, Italy,\" which perfectly fits the location parameter. It''s a straightforward execution, call the tool with the provided location.\n\n\n","reasoning_details":[{"type":"reasoning.text","text":"**Retrieving Weather Data**\n\nI''m zeroing in on the user''s request: weather in Florence, Italy. My plan is to use the `get_weather` tool, it needs a location. The user helpfully gave me \"Florence, Italy,\" which perfectly fits the location parameter. It''s a straightforward execution, call the tool with the provided location.\n\n\n","format":"google-gemini-v1","index":0}],"tool_calls":[{"id":"BgmJlIfqJnTEdHBD","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"}}],"provider_metadata":{"google":{"promptFeedback":null,"groundingMetadata":null,"urlContextMetadata":null,"safetyRatings":null,"usageMetadata":{"thoughtsTokenCount":69,"promptTokenCount":28,"candidatesTokenCount":9,"totalTokenCount":106,"trafficType":"PROVISIONED_THROUGHPUT"}},"gateway":{"routing":{"originalModelId":"google/gemini-3-pro-preview","resolvedProvider":"vertex","resolvedProviderApiModelId":"gemini-3-pro-preview","internalResolvedModelId":"vertex:gemini-3-pro-preview","fallbacksAvailable":["google"],"internalReasoning":"Selected vertex as preferred provider for gemini-3-pro-preview. 1 fallback(s) available: google","planningReasoning":"System credentials planned for: vertex, google. Total execution order: vertex(system) → google(system)","canonicalSlug":"google/gemini-3-pro-preview","finalProvider":"vertex","attempts":[{"provider":"vertex","internalModelId":"vertex:gemini-3-pro-preview","providerApiModelId":"gemini-3-pro-preview","credentialType":"system","success":true,"startTime":399448.110594,"endTime":403222.368787,"statusCode":200,"providerResponseId":"Fx6zae-vJ5aB4OUP3ZyqqAM"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"vertex:gemini-3-pro-preview","canonicalSlug":"google/gemini-3-pro-preview","success":true,"providerAttemptCount":1,"providerAttempts":[{"provider":"vertex","internalModelId":"vertex:gemini-3-pro-preview","providerApiModelId":"gemini-3-pro-preview","credentialType":"system","success":true,"startTime":399448.110594,"endTime":403222.368787,"statusCode":200,"providerResponseId":"Fx6zae-vJ5aB4OUP3ZyqqAM"}]}],"totalProviderAttemptCount":1},"cost":"0.000992","marketCost":"0.000992","generationId":"gen_01KKHTV30Q2RFH0VSMWRH42TGX","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":28,"completion_tokens":9,"total_tokens":37,"cost":0.000992,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0,"upstream_inference_completions_cost":0},"completion_tokens_details":{"reasoning_tokens":69,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.000992},"system_fingerprint":"fp_um0c00bp7j","generationId":"gen_01KKHTV30Q2RFH0VSMWRH42TGX"}'
28 headers:
29 Content-Type:
30 - application/json
31 status: 200 OK
32 code: 200
33 duration: 4.049746125s
34- id: 1
35 request:
36 proto: HTTP/1.1
37 proto_major: 1
38 proto_minor: 1
39 content_length: 1206
40 host: ""
41 body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"tool_calls":[{"id":"BgmJlIfqJnTEdHBD","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"format":"google-gemini-v1","index":0,"text":"**Retrieving Weather Data**\n\nI''m zeroing in on the user''s request: weather in Florence, Italy. My plan is to use the `get_weather` tool, it needs a location. The user helpfully gave me \"Florence, Italy,\" which perfectly fits the location parameter. It''s a straightforward execution, call the tool with the provided location.\n\n\n","type":"reasoning.text"},{"format":"google-gemini-v1","index":0,"type":"reasoning.encrypted"}]},{"content":"40 C","tool_call_id":"BgmJlIfqJnTEdHBD","role":"tool"}],"model":"google/gemini-3-pro-preview","tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"reasoning":{"enabled":true}}'
42 headers:
43 Accept:
44 - application/json
45 Content-Type:
46 - application/json
47 User-Agent:
48 - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
49 url: https://ai-gateway.vercel.sh/v1/chat/completions
50 method: POST
51 response:
52 proto: HTTP/2.0
53 proto_major: 2
54 proto_minor: 0
55 content_length: -1
56 uncompressed: true
57 body: '{"id":"gen_01KKHTV6ZD9RXTEJ0JP2HT9ZN0","object":"chat.completion","created":1773346335,"model":"google/gemini-3-pro-preview","choices":[{"index":0,"message":{"role":"assistant","content":"The weather in Florence, Italy is currently 40°C.","provider_metadata":{"google":{"promptFeedback":null,"groundingMetadata":null,"urlContextMetadata":null,"safetyRatings":null,"usageMetadata":{"promptTokenCount":118,"candidatesTokenCount":14,"totalTokenCount":132,"trafficType":"PROVISIONED_THROUGHPUT"}},"gateway":{"routing":{"originalModelId":"google/gemini-3-pro-preview","resolvedProvider":"vertex","resolvedProviderApiModelId":"gemini-3-pro-preview","internalResolvedModelId":"vertex:gemini-3-pro-preview","fallbacksAvailable":["google"],"internalReasoning":"Selected vertex as preferred provider for gemini-3-pro-preview. 1 fallback(s) available: google","planningReasoning":"System credentials planned for: vertex, google. Total execution order: vertex(system) → google(system)","canonicalSlug":"google/gemini-3-pro-preview","finalProvider":"vertex","attempts":[{"provider":"vertex","internalModelId":"vertex:gemini-3-pro-preview","providerApiModelId":"gemini-3-pro-preview","credentialType":"system","success":true,"startTime":1350560.526679,"endTime":1354791.360034,"statusCode":200,"providerResponseId":"Gx6zaeqDLrepyOgP_oqLoAw"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"vertex:gemini-3-pro-preview","canonicalSlug":"google/gemini-3-pro-preview","success":true,"providerAttemptCount":1,"providerAttempts":[{"provider":"vertex","internalModelId":"vertex:gemini-3-pro-preview","providerApiModelId":"gemini-3-pro-preview","credentialType":"system","success":true,"startTime":1350560.526679,"endTime":1354791.360034,"statusCode":200,"providerResponseId":"Gx6zaeqDLrepyOgP_oqLoAw"}]}],"totalProviderAttemptCount":1},"cost":"0.000404","marketCost":"0.000404","generationId":"gen_01KKHTV6ZD9RXTEJ0JP2HT9ZN0","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":118,"completion_tokens":14,"total_tokens":132,"cost":0.000404,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0,"upstream_inference_completions_cost":0},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.000404},"system_fingerprint":"fp_2z4eq13emy","generationId":"gen_01KKHTV6ZD9RXTEJ0JP2HT9ZN0"}'
58 headers:
59 Content-Type:
60 - application/json
61 status: 200 OK
62 code: 200
63 duration: 4.429330084s