Home Blog

How to Use the Step 5 Preview API

How to Use the Step 5 Preview API

Sep 20, 2026

EmpirioLabs AI

Step 5 Preview is StepFun's frontier reasoning model. It accepts text, image, and video input, answers in text, and carries a 1,024,000 token context. It supports parallel function calling, strict JSON Schema structured output, automatic prompt caching, and a reasoning effort control with three levels.

It is live on EmpirioLabs today through an OpenAI-compatible API, with streaming and up to 131,072 output tokens. Try it in the playground or call it from any OpenAI-compatible client. The full spec and current rates live on the Step 5 Preview model page and the API docs.

Calling it

Point any OpenAI-compatible client at https://api.empiriolabs.ai/v1 and use step-5-preview as the model id.

curl https://api.empiriolabs.ai/v1/chat/completions \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "step-5-preview",
    "messages": [{"role": "user", "content": "Plan a three step migration off a monolith."}],
    "reasoning_effort": "high",
    "max_tokens": 2000
  }'

The same model answers on the Responses API, the Anthropic Messages format, and the Gemini-compatible route, so most existing clients work without a rewrite. The docs page lists every supported endpoint.

Working with images and video

Attach an image with a standard image_url content part, or a clip with a video_url part. Both accept a URL or a data URL. Keep video under 128 MB, and clips under about five minutes for the most reliable results.

Three things worth knowing before your first call

  1. The reasoning comes back in reasoning_content, and it bills as output. Those tokens are included in completion_tokens, but completion_tokens_details.reasoning_tokens reports zero, so read completion_tokens rather than the reasoning sub-count when you are attributing spend.
  2. Set a real max_tokens. Reasoning is spent from the same budget as the answer, so a small budget can return an empty message on a hard prompt. Give it room.
  3. Caching is automatic, and you can see it. Send a long shared prefix and the next request reports the hit in prompt_tokens_details.cached_tokens, billed at the cache read rate on the model page. Keep the stable part of your prompt at the front to benefit.

One note on reasoning_effort: low, medium, and high are the supported levels. Other values are accepted by the request and then ignored, so send one of the three rather than relying on a custom string.

What it costs

Step 5 Preview is pay as you go, billed per token with a separate discounted rate for cached input and no subscription. Current rates are on the model page and the pricing page.

Ready to use better endpoints?

Explore our models, or contact us about business inquiries, custom deployments, or anything else.