Real-time streaming repair — not post-processing

Fix JSON While It Streams.

The only proxy that repairs broken JSON in flight. Trailing commas, unquoted keys, and markdown fences are fixed token-by-token before they reach your code. Works with LangChain, Vercel AI SDK, and LlamaIndex.

Input (Stream Cut-off)
{"id": "chat_1", "role": "assista
// Stream truncated mid-string
Output (Fixed)
{"id": "chat_1", "role": "assistant"}
// Automatically closed & valid

Why Real-Time Matters

Post-processing can't fix streaming JSON. We repair it token-by-token.

Streaming Repair

JSON is fixed as it streams. Your client receives valid tokens in real-time, not after the stream ends.

Syntax Cleanup

Trailing commas, unquoted keys, and markdown fences fixed on-the-fly with sub-ms overhead.

Stream Truncation

Auto-closes open objects and arrays when streams stop unexpectedly or hit token limits.

Contract Mode

Validates output against your JSON Schema. Re-prompts automatically on failure.

Zero Data Retention

We are a passthrough proxy. Your prompts and completions are processed in memory for repair and immediately discarded. We never log your content or train models on it.

One Line Integration

Works with any client that supports a custom base_url. No logic changes needed.

  • Standard OpenAI SDK Compatible
  • Multi-model Support via OpenRouter
from openai import OpenAI

# Just point to our gateway
client = OpenAI(
    base_url="https://streamfix.up.railway.app/v1",
    api_key="sk_YOUR_KEY"
)

# Works with any model
resp = client.chat.completions.create(
    model="openai/gpt-4o-mini",
    messages=[...]
)

Resources & Guides

Simple Pricing

Developer

$0 / start

Perfect for testing and small projects.

  • 1,000 Free Credits (One-time)
  • Full API Access
Get Free Key

Pay-as-you-go

$10 / 10k credits

Scale as needed. 1 credit = 1 repair req.

  • $0.001 per credit
  • Schema Validation (3 credits / req)
json.decoder.JSONDecodeError: Expecting value: line 1 column 1
SyntaxError: Unexpected token } in JSON at position...
json.decoder.JSONDecodeError: Extra data: line 1 column...
Unterminated string starting at: line 1 column...
Unexpected non-whitespace character after JSON data
DeepSeek R1 <think> tag parsing error