Status: draft. No profile is deployed or available to external suppliers.
An API profile names an exact request, response, and execution contract. A model name or a claim of “OpenAI compatibility” does not identify that contract. Choose a profile per model binding; do not select one based on the supplier’s brand.
Native API families
Section titled “Native API families”The shared catalog records models; it does not define a universal inference body. Buyers select the native API family/profile they use. Suppliers implement the shared profiles they choose to support, and qualify separately for each model/task/profile. Gateway handlers follow those profiles rather than individual suppliers. Unsupported inputs fail explicitly.
The catalog’s upstream_interfaces describes documented source interfaces;
task-level api_profiles references platform contracts. A source family name
cannot be used in place of a qualified profile ID. A model may expose more than
one source interface without making those interfaces interchangeable.
Contract status
Section titled “Contract status”The defined profiles cover different native contracts. Responses now has a stateless HTTP draft for functions, reasoning, structured output, inline image input and usage. Gateway/checker implementation and real supplier qualification remain gaps. Text-only support is not the intended final product scope. Source records in the model catalog preserve upstream capabilities without claiming that CheapGPU has implemented them.
| Profile | Contract scope | Status |
|---|---|---|
openai-chat-text-v1-draft.1 |
Stateless text Chat Completions, one choice, JSON and SSE, usage | Defined draft; not externally available |
openai-responses-v1-draft.1 |
Stateless native Responses, functions, reasoning, structured output, inline images, JSON/SSE and usage | Defined draft; not implemented or externally available |
| Anthropic Messages | Separate message and streaming contract | Not defined or supported |
| Video task APIs, including the Seedance integration direction | Separate task creation, status, result and cancellation contract | Not defined or supported |
| Other or vendor-specific dialects | Requires documented semantics and conformance cases | Not defined or supported |
Contract definition, Gateway/checker implementation, supplier qualification and production acceptance need separate evidence for each capability. A defined schema alone cannot change an unsupported feature into an available one.
Both named profile IDs are accepted by the downloadable configuration schema, each with its own exact capability set and suite. An existing endpoint from OpenAI, Anthropic, BytePlus, or another provider qualifies only if its actual behavior meets a defined profile. This draft makes no claim about any provider’s current compatibility or availability.
Parameter handling
Section titled “Parameter handling”Anthropic’s OpenAI SDK compatibility layer has documented limits, including unsupported prompt caching and ignored fields. A compatibility label is insufficient to qualify a full OpenAI profile or preserve every native Claude feature. The integration direction keeps the native Messages family separate; no automatic compatibility conversion is provided by this draft.
Gateway validates the chosen profile and the selected model’s capabilities before admission. Unsupported parameters receive an explicit error; gateway cannot remove them and submit a different request. Supplier conformance tests also check rejection of the malformed or unsupported cases defined by the profile.
Profiles preserve their native body and stream semantics. Adding a shared transport does not make different API bodies interchangeable. A cross-profile translation requires its own explicit mapping and tests; no such translation is included here.
Asynchronous task contracts
Section titled “Asynchronous task contracts”A video task profile must define its native creation request, task identifier, status reads, terminal results, cancellation and errors. Define caller ownership, artifact access and expiry, bounded recovery, usage evidence and price conditions for that profile. A status read must not authorize another generation. A lost creation response is not proof that no task exists, and a cancellation request is not proof that generation has stopped.
Authentication, supplier qualification, quotes, wallet reservation and settlement
can use the shared platform framework. Their profile-specific bindings must
still be defined and verified. The catalog’s synthetic async_task example
does not implement these operations or select production timeouts, charges or
cancellation policy.
Conversation state
Section titled “Conversation state”The existing Chat text profile requires complete conversation messages on every request. Provider-managed conversation IDs, stored responses, and continuation IDs are outside its scope. Those features need state ownership and routing affinity before a buyer can rely on them across suppliers.
Read the OpenAI Chat text profile for the exact Chat subset, the OpenAI Responses profile for native typed items and events, and the specification files for machine-readable contracts and versioning.