---
title: "Text completions (OpenAI-compatible)"
method: POST
path: "/v1/completions"
tags: ["openai-compat"]
---

# Text completions (OpenAI-compatible)

`POST /v1/completions`

OpenAI-compatible legacy text completions endpoint. Accepts a `prompt` string and returns a completion. Set `stream=true` for SSE streaming.

## Request body

- TextCompletionRequest
  - `model` string, required
  - `prompt` string, required
  - `temperature` number
  - `max_tokens` integer
  - `stream` boolean
  - `stop` union
    - string
    - string[]
  - `echo` boolean
  - `logprobs` integer
  - `store` boolean
  - `reasoning` object

## Response `200`

Text completion result. `application/json` when `stream=false`, `text/event-stream` SSE when `stream=true`.

- TextCompletionResponse
  - `id` string, required
  - `object` 'text_completion', required
  - `created` integer, required
  - `model` string, required
  - `choices` object[], required
    - `index` integer
    - `text` string
    - `logprobs` object
    - `finish_reason` string
    - `reasoning_content` string
  - `usage` UsageStats, required
    - `prompt_tokens` integer
    - `completion_tokens` integer
    - `total_tokens` integer
    - `prompt_tokens_details` object
      - `cached_tokens` integer — Input tokens served from cache (cache read).
      - `cache_write_tokens` integer — Input tokens written to cache (cache creation).
  - `x_pioneer` PioneerExtension — Pioneer-specific extension on OpenAI-compatible responses.
    - `inference_id` string — Pioneer inference record ID. Use with GET /inferences/{inference_id} to poll for async LLM-judge results. Null when persistence was disabled.
    - `routed_model` string — Actual backend model selected by a router project (e.g. `pioneer/auto`). Null when not routed.

## Other responses

- `401` — Missing or invalid API key.
- `402` — Insufficient credits or no active billing plan.
- `404` — Model ID not found or not yet deployed.
- `422` — Request body failed schema validation.
- `429` — Rate limit exceeded. Retry after the duration in the `Retry-After` response header.

---

[API](https://skmtc.net/fastino-ai/apis/pioneer-inference-api.md) · [All operations](https://skmtc.net/fastino-ai/apis/pioneer-inference-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fastino-ai/pioneer-inference-api/revisions/2541b0de636c/schema)
