GPT-5.5 service_tier "flex" returned in response but billed at standard rate?

Hey everyone,

Running into a weird billing issue with AI Gateway and figured I’d check if anyone else has hit this.

I’m calling openai/gpt-5.5 through the OpenAI-compatible endpoint with service_tier: “flex” set on every request. In the request logs, the response actually comes back with service_tier: “flex” confirmed, so the model is processing under flex tier as expected.

The problem: the usage logs and invoice line items are billing those same requests at standard tier pricing, not the 50% flex rate.

So basically:

  • Request: service_tier: “flex”
  • Response: service_tier: “flex” ✓
  • Billing: standard rate ✗

Has anyone else seen this with GPT-5.5, or any of the GPT-5 family? Wondering if this is a known issue with the pricing engine ignoring the tier that the model returned, or if there’s something else I’m supposed to set on my side.

Already filed a support ticket, but posting here too in case others are getting silently overcharged.

My log<<

],
  "usage": {
    "prompt_tokens": 37685,
    "completion_tokens": 3746,
    "total_tokens": 41431,
    "cost": 0.288133,
    "is_byok": false,
    "prompt_tokens_details": {
      "cached_tokens": 2816,
      "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": 1552,
      "image_tokens": 0
    },
    "cache_creation_input_tokens": 0,
    "market_cost": 0.288133
  },
  "system_fingerprint": "fddddddddd",
  "service_tier": "flex",
  "generationId": "Say something"
}

I wasn’t able to repro, but maybe I’m looking in the wrong place. Can you show me where you see standard tier pricing for these requests?

AI Gateway supports OpenAI tiers through the service_tier param. Looks like you’re using it right.

Hi Amy,

Fortunately, the issue with the GPT-5.5 Flex and Priority tiers was resolved just a few days after I wrote my post, before you had a chance to reply.

It appears that Vercel simply had not updated its billing system to reflect the new pricing structure, since the provider was returning responses with the correct service tier.

However, the same issue reappeared with the release of the GPT-5.6 series, apparently for exactly the same reason. This time, there also seems to be an issue with the updated caching system.

OpenAI has introduced both implicit and explicit prompt caching, but Vercel still appears to be using the previous configuration. As a result, implicit caching is being applied by default, with input charged at 1.25 times the standard rate and cache breakpoints not being respected.

Could you please take a look at this?

P.S. The same behavior occurs with both the Chat Completions API and the Responses API.

Update:
Now It works. Thank you Amy.