---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 215
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"Say hi in Portuguese","role":"user"}],"model":"grok-4-fast","max_tokens":4000,"stream_options":{"include_usage":true},"stream":true}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
    url: https://api.x.ai/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    body: |+
      data: {"id":"53ae0d64-4f1a-b4e2-9517-9d20013a1c9c","object":"chat.completion.chunk","created":1773345550,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"Olá","role":"assistant"}}],"system_fingerprint":"fp_3d7ed3b779"}

      data: {"id":"53ae0d64-4f1a-b4e2-9517-9d20013a1c9c","object":"chat.completion.chunk","created":1773345550,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"!"}}],"system_fingerprint":"fp_3d7ed3b779"}

      data: {"id":"53ae0d64-4f1a-b4e2-9517-9d20013a1c9c","object":"chat.completion.chunk","created":1773345550,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_3d7ed3b779"}

      data: {"id":"53ae0d64-4f1a-b4e2-9517-9d20013a1c9c","object":"chat.completion.chunk","created":1773345550,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":165,"completion_tokens":2,"total_tokens":296,"prompt_tokens_details":{"text_tokens":165,"audio_tokens":0,"image_tokens":0,"cached_tokens":164},"completion_tokens_details":{"reasoning_tokens":129,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0,"cost_in_usd_ticks":739000},"system_fingerprint":"fp_3d7ed3b779"}

      data: [DONE]

    headers:
      Content-Type:
      - text/event-stream
    status: 200 OK
    code: 200
    duration: 2.619907708s
