# OpenAI compatibility

Know which OpenAI-compatible workflows work and where KosCompute intentionally differs.

KosCompute implements common OpenAI-compatible HTTP shapes so existing SDKs can use `https://api.koscompute.com/v1` as their base URL.

## Supported now

- Chat Completions with JSON and SSE responses.
- System, developer, user, assistant, and tool message roles where accepted by the selected model.
- Local function tools and tool results.
- JSON mode and JSON Schema on capable models.
- Model-dependent reasoning controls.
- Vision through Chat Completions on models with image input.
- Stateless Responses API compatibility.
- Audio transcription and speech generation.

## Intentional differences

KosCompute serves the models returned by `GET /v1/models`; OpenAI model IDs are not automatically available. Optional parameters are capability-dependent.

The Responses implementation is stateless. `store:true` and non-null `previous_response_id` are rejected, and clients must resend the required context. Hosted OpenAI tools, conversations, background mode, files, and computer-use features are not provided by this endpoint.

The API may add response fields compatibly. Clients should ignore unknown additive fields and rely on documented fields rather than exact-object equality.

## Compatibility policy

Within `/v1`, new endpoints, models, optional fields, optional capabilities, and safe additive response fields are compatible changes. Removing an endpoint or parameter, making an optional field required, changing a field type, authentication, error semantics, or established behavior is potentially breaking and requires migration or deprecation treatment.
