---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 485
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"x-ai/grok-4.1-fast","max_tokens":4000,"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"}],"usage":{"include":true}}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - Charm-Fantasy/0.21.0 (https://charm.land/fantasy)
    url: https://openrouter.ai/api/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: "\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n{\"id\":\"gen-1777319839-xP2PKgp3MdKu4Mtt5usp\",\"object\":\"chat.completion\",\"created\":1777319839,\"model\":\"x-ai/grok-4.1-fast\",\"provider\":\"xAI\",\"system_fingerprint\":null,\"service_tier\":\"default\",\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"tool_calls\",\"native_finish_reason\":\"completed\",\"message\":{\"role\":\"assistant\",\"content\":null,\"refusal\":null,\"reasoning\":\"The user asked: \\\"What's the weather in Florence, Italy?\\\"\\n\",\"tool_calls\":[{\"type\":\"function\",\"index\":0,\"id\":\"call_29518744\",\"function\":{\"name\":\"weather\",\"arguments\":\"{\\\"location\\\":\\\"Florence, Italy\\\"}\"}}],\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"The user asked: \\\"What's the weather in Florence, Italy?\\\"\\n\",\"format\":\"xai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"0pVWmfPkl9kNqqHnJSPKiOp0ow2/d7vHJnVDCmyKXHg5wPhLlLxyyRmTA7pPciQRlDOO04BXVRZ4r/ARjCT/OnIhB/hAkO1OAIKOg2hZ7TRP+tL81L2TMueNRnUCM0U3/g7SzRBUciIGPl8ft7VOr4UVhbAWPBLS3Ef7ucUXhM8SfG29nqDaSFgaj1CQybUDSW0aHma3kffyUIjEyqNE6d9GLRfrC6PEZ6sKWUmaPuIi10Zv79dxKQj/ikdJPYk+WoBxsQ7/2lCw0arePzYyC2kn4iOGIOcxka2KO8F6aIojhuBMhc8gI2VPoFLJBXQwJrXKanu8tsBAlVi3iJ53rPzjaaicCiitgioh2ZMoNeM2ARkP/iwxhoXNA2Oqe50VW45mjeirC2Q86qNXHMbNVcz86wAaiSvL5t+wgs5e/snvRIYWR4oQjwot4T9kv7aTcWKzDa3UMTmhht8v1b3jg1Br96Ce1iIrSLJFO5E0r7eRuwR3dILV8DT9F5qakwxh4cnWzXh6m9VH2lrzf+Q/eFAYwzx4PwuX5iGEGZtripjdT1Bb0F6i8KgPBa5Z/jnx+sqpTkLFElmK1hMVXyqbHAK2Cp/DlXM+gQOsw47tu6mEOf5V3GQK86vcBs6UInB32Xqkv3MgPqJwor+99lL0xAuT8W4unWv6Agz+gaMBvdYLtbf7kuDJQ3fSV4nXnEstpLzh9g3XGHUk8VN4RTEbYCWjpRL8H70tXhff+Ftb60VX8NLcf37TcubXdoPWrNjH8uT5rzR68XM8E7Pysn8mFrmpXXx2ZM6yn/c1kooG1Ufo\",\"format\":\"xai-responses-v1\",\"id\":\"rs_b86986c8-47f3-fcc2-7d33-79c2bbc7bf04\",\"index\":1}]}}],\"usage\":{\"prompt_tokens\":366,\"completion_tokens\":157,\"total_tokens\":523,\"cost\":0.0001052,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":310,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.0001052,\"upstream_inference_prompt_cost\":0.0000267,\"upstream_inference_completions_cost\":0.0000785},\"completion_tokens_details\":{\"reasoning_tokens\":131,\"image_tokens\":0,\"audio_tokens\":0}}}"
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 2.737881833s
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 782
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_29518744","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"format":"unknown","index":0,"type":"reasoning.text"}]},{"content":"40 C","tool_call_id":"call_29518744","role":"tool"}],"model":"x-ai/grok-4.1-fast","max_tokens":4000,"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"}],"usage":{"include":true}}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - Charm-Fantasy/0.21.0 (https://charm.land/fantasy)
    url: https://openrouter.ai/api/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: "\n         \n\n         \n\n         \n\n         \n\n         \n{\"id\":\"gen-1777319843-nNkt0QmnoreRPdPiiJUT\",\"object\":\"chat.completion\",\"created\":1777319843,\"model\":\"x-ai/grok-4.1-fast\",\"provider\":\"xAI\",\"system_fingerprint\":null,\"service_tier\":\"default\",\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"completed\",\"message\":{\"role\":\"assistant\",\"content\":\"The weather in Florence, Italy is currently 40°C.\",\"refusal\":null,\"reasoning\":\"First, the user asked: \\\"What's the weather in Florence, Italy?\\\"\\n\",\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"First, the user asked: \\\"What's the weather in Florence, Italy?\\\"\\n\",\"format\":\"xai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"kzT9Tot4n0k6mVYy8dsVToEjeQn3epbFAxVGljU965JJPu1R9FxlmEM7+qizlFZ2ToNLqO3v6I4Hg3PGxguwt+WgImbiDaChszpOo3SpwBgnC4S2ClEq4cqWAbWntMvGbo8p+HfTHoGDqWznOK15E8va7ixg5aegbJGdEFHBUdiuW3p9yQPv1cypfQkYnRtQP6aoXAnHFYQn71rKvE7Mn1nW6OaxAVvWl01OYIqJ58Rlqtls0O+6vchXR+rRhVSepj7nVutEDOCOPMzvkKKr+PgXlq25JTb1VQXpdH7OjJ9oNKliVZJMbZmXeKy85VjpdYgIhNIsBTnYx14yxUnQnMp6J2LS+eP6vCdlnExXA/WmHkLV8v9EoerPiFY4Bo1wsnLQ0Mh8D4Y886rQG6pMBX6dD3qLfr0duStFWJqI8Qt9zKsd4+qetEZuzuFxZInppqfByJzrbVn2GIuy6EPWEoDvFeYbXlfP/HrHeELWzDWukvo4hNYf4xURammYL8OTb2BMwuMvo3E+jeI+Q3FmKgjOrT2i67anu5HefRU8k4Fr8zfCVA5yTx9o3OJ88L0KmbUWfKRNrWQxIbKX9YI5h6bGVf7v7wUzr2m77+J4Lr8LxjcsyZW2nbu7XS+ljLLEjK4hTz4EyOzP5TXz1ApNkOHHdRv1qCYNP4fuc8dMkzfK1zgLxJ22ZGsDRkfgyuR25NGuHLwprYzbk7h6WCrdGaQYkdcyrj7Gc9/6eqPXT2j+jeuW9Spw0bB9DZnr\",\"format\":\"xai-responses-v1\",\"id\":\"rs_b4dc092a-4e1a-fe73-3cbf-5c26404bf314\",\"index\":1}]}}],\"usage\":{\"prompt_tokens\":404,\"completion_tokens\":128,\"total_tokens\":532,\"cost\":0.0000983,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":310,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.0000983,\"upstream_inference_prompt_cost\":0.0000343,\"upstream_inference_completions_cost\":0.000064},\"completion_tokens_details\":{\"reasoning_tokens\":116,\"image_tokens\":0,\"audio_tokens\":0}}}"
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 1.742248792s
