This commit is contained in:
David Alberto Adler
2025-09-07 20:40:53 +01:00
parent 0fc7236673
commit da48e8c4ea
166 changed files with 1689 additions and 4514 deletions
@@ -17,7 +17,7 @@ servers:
default: openrouter.ai default: openrouter.ai
description: Production server description: Production server
security: security:
- BearerAuth: [] - ApiKey: []
tags: tags:
- name: Chat - name: Chat
description: Chat completion operations description: Chat completion operations
@@ -26,11 +26,17 @@ externalDocs:
url: https://openrouter.ai/docs url: https://openrouter.ai/docs
components: components:
securitySchemes: securitySchemes:
BearerAuth: ApiKey:
type: http type: http
scheme: bearer scheme: bearer
description: API key as bearer token in Authorization header description: API key as bearer token in Authorization header
schemas: schemas:
ChatCompletionChunkWrapper:
type: object
required: [data]
properties:
data:
$ref: '#/components/schemas/ChatCompletionChunk'
ChatCompletionMessageToolCall: ChatCompletionMessageToolCall:
type: object type: object
properties: properties:
@@ -433,6 +439,7 @@ components:
system_fingerprint: system_fingerprint:
type: string type: string
description: System fingerprint description: System fingerprint
nullable: true
usage: usage:
$ref: '#/components/schemas/CompletionUsage' $ref: '#/components/schemas/CompletionUsage'
required: required:
@@ -449,7 +456,7 @@ components:
type: object type: object
properties: properties:
code: code:
type: string type: number
nullable: true nullable: true
message: message:
type: string type: string
@@ -461,8 +468,6 @@ components:
required: required:
- code - code
- message - message
- param
- type
description: Error object structure description: Error object structure
required: required:
- error - error
@@ -572,6 +577,7 @@ components:
- chat.completion.chunk - chat.completion.chunk
system_fingerprint: system_fingerprint:
type: string type: string
nullable: true
usage: usage:
$ref: '#/components/schemas/CompletionUsage' $ref: '#/components/schemas/CompletionUsage'
required: required:
@@ -1055,7 +1061,7 @@ components:
type: string type: string
description: Unique user identifier description: Unique user identifier
models: models:
x-speakeasy-name-override: models_llm x-speakeasy-name-override: model_list
type: array type: array
nullable: true nullable: true
items: items:
@@ -1497,6 +1503,8 @@ paths:
/chat/completions: /chat/completions:
post: post:
operationId: createChatCompletion operationId: createChatCompletion
x-speakeasy-group: chat
x-speakeasy-name-override: complete
summary: Create a chat completion summary: Create a chat completion
description: Creates a model response for the given chat conversation. Supports both streaming and non-streaming modes. description: Creates a model response for the given chat conversation. Supports both streaming and non-streaming modes.
tags: tags:
@@ -1514,14 +1522,12 @@ paths:
content: content:
application/json: application/json:
schema: schema:
oneOf: $ref: '#/components/schemas/ChatCompletion'
- $ref: '#/components/schemas/ChatCompletion' description: Non-streaming response when stream=false
description: Non-streaming response when stream=false
- $ref: '#/components/schemas/ChatCompletionChunk'
description: Individual chunk in streaming response when stream=true
text/event-stream: text/event-stream:
x-speakeasy-sse-sentinel: '[DONE]'
schema: schema:
$ref: '#/components/schemas/ChatCompletionChunk' $ref: '#/components/schemas/ChatCompletionChunkWrapper'
'400': '400':
description: Bad request - invalid parameters description: Bad request - invalid parameters
content: content:
@@ -1,28 +0,0 @@
overlay: 1.0.0
x-speakeasy-jsonpath: rfc9535
info:
title: Speakeasy Modifications
version: 0.0.2
x-speakeasy-metadata:
after: ""
before: ""
type: speakeasy-modifications
actions:
- target: $["paths"]["/chat/completions"]["post"]
update:
x-speakeasy-name-override: complete
x-speakeasy-metadata:
after: sdk.chat.complete()
before: sdk.Chat.createChatCompletion()
created_at: 1755805257797
reviewed_at: 1755805262583
type: method-name
- target: $["paths"]["/chat/completions#stream"]["post"]
update:
x-speakeasy-name-override: completeStream
x-speakeasy-metadata:
after: sdk.chat.completeStream()
before: sdk.Chat.streamChatCompletion()
created_at: 1755805257798
reviewed_at: 1755805262583
type: method-name
+60 -102
View File
@@ -1,19 +1,21 @@
lockVersion: 2.0.0 lockVersion: 2.0.0
id: 232c6d4f-b0fd-4172-8f1b-e2421566e9b4 id: 232c6d4f-b0fd-4172-8f1b-e2421566e9b4
management: management:
docChecksum: 003bbbc167e4db8bd3f147793a6648e1 docChecksum: 3b6b1c16df754c251634311623cd5995
docVersion: 1.0.0 docVersion: 1.0.0
speakeasyVersion: 1.606.2 speakeasyVersion: 1.611.1
generationVersion: 2.687.1 generationVersion: 2.694.1
releaseVersion: 0.1.3 releaseVersion: 0.3.1
configChecksum: d572a56cfb69d7061ad0319f157ff5d8 configChecksum: 769cc7b4eef2760d1114b6b64a644f57
repoURL: https://github.com/speakeasy-sdks/openrouter-python-sdk.git repoURL: https://github.com/speakeasy-sdks/openrouter-python-sdk.git
installationURL: https://github.com/speakeasy-sdks/openrouter-python-sdk.git installationURL: https://github.com/speakeasy-sdks/openrouter-python-sdk.git
features: features:
python: python:
acceptHeaders: 3.0.0
additionalDependencies: 1.0.0 additionalDependencies: 1.0.0
constsAndDefaults: 1.0.5 constsAndDefaults: 1.0.5
core: 5.19.9 core: 5.20.3
customCodeRegions: 0.1.1
defaultEnabledRetries: 0.2.0 defaultEnabledRetries: 0.2.0
devContainers: 3.0.0 devContainers: 3.0.0
enumUnions: 0.1.0 enumUnions: 0.1.0
@@ -23,13 +25,14 @@ features:
globalSecurityCallbacks: 1.0.0 globalSecurityCallbacks: 1.0.0
globalSecurityFlattening: 1.0.0 globalSecurityFlattening: 1.0.0
globalServerURLs: 3.1.1 globalServerURLs: 3.1.1
groups: 3.0.0
methodArguments: 1.0.2 methodArguments: 1.0.2
nameOverrides: 3.0.1 nameOverrides: 3.0.1
nullables: 1.0.1 nullables: 1.0.1
responseFormat: 1.0.1 responseFormat: 1.0.1
retries: 3.0.2 retries: 3.0.2
sdkHooks: 1.1.0 sdkHooks: 1.1.0
serverEvents: 1.0.7 serverEvents: 1.0.8
serverEventsSentinels: 0.1.0 serverEventsSentinels: 0.1.0
unions: 3.0.4 unions: 3.0.4
generatedFiles: generatedFiles:
@@ -41,6 +44,7 @@ generatedFiles:
- USAGE.md - USAGE.md
- docs/errors/chatcompletionerror.md - docs/errors/chatcompletionerror.md
- docs/models/annotationdetail.md - docs/models/annotationdetail.md
- docs/models/audio.md
- docs/models/chatcompletion.md - docs/models/chatcompletion.md
- docs/models/chatcompletionassistantmessageparam.md - docs/models/chatcompletionassistantmessageparam.md
- docs/models/chatcompletionassistantmessageparamcontent.md - docs/models/chatcompletionassistantmessageparamcontent.md
@@ -56,6 +60,7 @@ generatedFiles:
- docs/models/chatcompletionchunkchoicedeltatoolcalltype.md - docs/models/chatcompletionchunkchoicedeltatoolcalltype.md
- docs/models/chatcompletionchunkchoicefinishreason.md - docs/models/chatcompletionchunkchoicefinishreason.md
- docs/models/chatcompletionchunkobject.md - docs/models/chatcompletionchunkobject.md
- docs/models/chatcompletionchunkwrapper.md
- docs/models/chatcompletioncontentpart.md - docs/models/chatcompletioncontentpart.md
- docs/models/chatcompletioncontentpartaudio.md - docs/models/chatcompletioncontentpartaudio.md
- docs/models/chatcompletioncontentpartaudioformat.md - docs/models/chatcompletioncontentpartaudioformat.md
@@ -66,50 +71,6 @@ generatedFiles:
- docs/models/chatcompletioncontentparttext.md - docs/models/chatcompletioncontentparttext.md
- docs/models/chatcompletioncontentparttexttype.md - docs/models/chatcompletioncontentparttexttype.md
- docs/models/chatcompletioncreateparams.md - docs/models/chatcompletioncreateparams.md
- docs/models/chatcompletioncreateparamsaudio.md
- docs/models/chatcompletioncreateparamscompletion.md
- docs/models/chatcompletioncreateparamsdatacollection.md
- docs/models/chatcompletioncreateparamseffort.md
- docs/models/chatcompletioncreateparamsengine.md
- docs/models/chatcompletioncreateparamsidchainofthought.md
- docs/models/chatcompletioncreateparamsidfileparser.md
- docs/models/chatcompletioncreateparamsidmoderation.md
- docs/models/chatcompletioncreateparamsidweb.md
- docs/models/chatcompletioncreateparamsignoreenum.md
- docs/models/chatcompletioncreateparamsignoreunion.md
- docs/models/chatcompletioncreateparamsimage.md
- docs/models/chatcompletioncreateparamsjsonschema.md
- docs/models/chatcompletioncreateparamsmaxprice.md
- docs/models/chatcompletioncreateparamsonlyenum.md
- docs/models/chatcompletioncreateparamsonlyunion.md
- docs/models/chatcompletioncreateparamsorderenum.md
- docs/models/chatcompletioncreateparamsorderunion.md
- docs/models/chatcompletioncreateparamspdf.md
- docs/models/chatcompletioncreateparamspdfengine.md
- docs/models/chatcompletioncreateparamspluginchainofthought.md
- docs/models/chatcompletioncreateparamspluginfileparser.md
- docs/models/chatcompletioncreateparamspluginmoderation.md
- docs/models/chatcompletioncreateparamspluginunion.md
- docs/models/chatcompletioncreateparamspluginweb.md
- docs/models/chatcompletioncreateparamsprompt.md
- docs/models/chatcompletioncreateparamsprovider.md
- docs/models/chatcompletioncreateparamsquantization.md
- docs/models/chatcompletioncreateparamsreasoning.md
- docs/models/chatcompletioncreateparamsreasoningeffort.md
- docs/models/chatcompletioncreateparamsrequest.md
- docs/models/chatcompletioncreateparamsresponseformatgrammar.md
- docs/models/chatcompletioncreateparamsresponseformatjsonobject.md
- docs/models/chatcompletioncreateparamsresponseformatjsonschema.md
- docs/models/chatcompletioncreateparamsresponseformatpython.md
- docs/models/chatcompletioncreateparamsresponseformattext.md
- docs/models/chatcompletioncreateparamsresponseformatunion.md
- docs/models/chatcompletioncreateparamssort.md
- docs/models/chatcompletioncreateparamsstop.md
- docs/models/chatcompletioncreateparamsstreamoptions.md
- docs/models/chatcompletioncreateparamstypegrammar.md
- docs/models/chatcompletioncreateparamstypejsonobject.md
- docs/models/chatcompletioncreateparamstypejsonschema.md
- docs/models/chatcompletioncreateparamstypepython.md
- docs/models/chatcompletioncreateparamstypetext.md - docs/models/chatcompletioncreateparamstypetext.md
- docs/models/chatcompletionmessage.md - docs/models/chatcompletionmessage.md
- docs/models/chatcompletionmessageparam.md - docs/models/chatcompletionmessageparam.md
@@ -139,67 +100,50 @@ generatedFiles:
- docs/models/chatcompletionusermessageparam.md - docs/models/chatcompletionusermessageparam.md
- docs/models/chatcompletionusermessageparamcontent.md - docs/models/chatcompletionusermessageparamcontent.md
- docs/models/chatcompletionusermessageparamrole.md - docs/models/chatcompletionusermessageparamrole.md
- docs/models/chatstreamcompletioncreateparams.md - docs/models/completion.md
- docs/models/chatstreamcompletioncreateparamsaudio.md
- docs/models/chatstreamcompletioncreateparamscompletion.md
- docs/models/chatstreamcompletioncreateparamsdatacollection.md
- docs/models/chatstreamcompletioncreateparamseffort.md
- docs/models/chatstreamcompletioncreateparamsengine.md
- docs/models/chatstreamcompletioncreateparamsidchainofthought.md
- docs/models/chatstreamcompletioncreateparamsidfileparser.md
- docs/models/chatstreamcompletioncreateparamsidmoderation.md
- docs/models/chatstreamcompletioncreateparamsidweb.md
- docs/models/chatstreamcompletioncreateparamsignoreenum.md
- docs/models/chatstreamcompletioncreateparamsignoreunion.md
- docs/models/chatstreamcompletioncreateparamsimage.md
- docs/models/chatstreamcompletioncreateparamsjsonschema.md
- docs/models/chatstreamcompletioncreateparamsmaxprice.md
- docs/models/chatstreamcompletioncreateparamsonlyenum.md
- docs/models/chatstreamcompletioncreateparamsonlyunion.md
- docs/models/chatstreamcompletioncreateparamsorderenum.md
- docs/models/chatstreamcompletioncreateparamsorderunion.md
- docs/models/chatstreamcompletioncreateparamspdf.md
- docs/models/chatstreamcompletioncreateparamspdfengine.md
- docs/models/chatstreamcompletioncreateparamspluginchainofthought.md
- docs/models/chatstreamcompletioncreateparamspluginfileparser.md
- docs/models/chatstreamcompletioncreateparamspluginmoderation.md
- docs/models/chatstreamcompletioncreateparamspluginunion.md
- docs/models/chatstreamcompletioncreateparamspluginweb.md
- docs/models/chatstreamcompletioncreateparamsprompt.md
- docs/models/chatstreamcompletioncreateparamsprovider.md
- docs/models/chatstreamcompletioncreateparamsquantization.md
- docs/models/chatstreamcompletioncreateparamsreasoning.md
- docs/models/chatstreamcompletioncreateparamsreasoningeffort.md
- docs/models/chatstreamcompletioncreateparamsrequest.md
- docs/models/chatstreamcompletioncreateparamsresponseformatgrammar.md
- docs/models/chatstreamcompletioncreateparamsresponseformatjsonobject.md
- docs/models/chatstreamcompletioncreateparamsresponseformatjsonschema.md
- docs/models/chatstreamcompletioncreateparamsresponseformatpython.md
- docs/models/chatstreamcompletioncreateparamsresponseformattext.md
- docs/models/chatstreamcompletioncreateparamsresponseformatunion.md
- docs/models/chatstreamcompletioncreateparamssort.md
- docs/models/chatstreamcompletioncreateparamsstop.md
- docs/models/chatstreamcompletioncreateparamsstreamoptions.md
- docs/models/chatstreamcompletioncreateparamstypegrammar.md
- docs/models/chatstreamcompletioncreateparamstypejsonobject.md
- docs/models/chatstreamcompletioncreateparamstypejsonschema.md
- docs/models/chatstreamcompletioncreateparamstypepython.md
- docs/models/chatstreamcompletioncreateparamstypetext.md
- docs/models/completiontokensdetails.md - docs/models/completiontokensdetails.md
- docs/models/completionusage.md - docs/models/completionusage.md
- docs/models/contentimageurl.md - docs/models/contentimageurl.md
- docs/models/contenttext.md - docs/models/contenttext.md
- docs/models/contenttypeimageurl.md - docs/models/contenttypeimageurl.md
- docs/models/contenttypetext.md - docs/models/contenttypetext.md
- docs/models/createchatcompletionresponse.md
- docs/models/datacollection.md
- docs/models/detail.md - docs/models/detail.md
- docs/models/effort.md
- docs/models/engine.md
- docs/models/error.md - docs/models/error.md
- docs/models/file.md - docs/models/file.md
- docs/models/fileannotationdetail.md - docs/models/fileannotationdetail.md
- docs/models/fileannotationdetailcontentunion.md - docs/models/fileannotationdetailcontentunion.md
- docs/models/fileannotationdetailimageurl.md - docs/models/fileannotationdetailimageurl.md
- docs/models/idchainofthought.md
- docs/models/idfileparser.md
- docs/models/idmoderation.md
- docs/models/idweb.md
- docs/models/ignore.md
- docs/models/ignoreenum.md
- docs/models/image.md
- docs/models/inputaudio.md - docs/models/inputaudio.md
- docs/models/jsonschema.md
- docs/models/maxprice.md
- docs/models/only.md
- docs/models/onlyenum.md
- docs/models/order.md
- docs/models/orderenum.md
- docs/models/parameters.md - docs/models/parameters.md
- docs/models/pdf.md
- docs/models/pdfengine.md
- docs/models/plugin.md
- docs/models/pluginchainofthought.md
- docs/models/pluginfileparser.md
- docs/models/pluginmoderation.md
- docs/models/pluginweb.md
- docs/models/prompt.md
- docs/models/prompttokensdetails.md - docs/models/prompttokensdetails.md
- docs/models/provider.md
- docs/models/quantization.md
- docs/models/reasoning.md
- docs/models/reasoningdetail.md - docs/models/reasoningdetail.md
- docs/models/reasoningdetailencrypted.md - docs/models/reasoningdetailencrypted.md
- docs/models/reasoningdetailencryptedformat.md - docs/models/reasoningdetailencryptedformat.md
@@ -210,11 +154,25 @@ generatedFiles:
- docs/models/reasoningdetailtext.md - docs/models/reasoningdetailtext.md
- docs/models/reasoningdetailtextformat.md - docs/models/reasoningdetailtextformat.md
- docs/models/reasoningdetailtexttype.md - docs/models/reasoningdetailtexttype.md
- docs/models/reasoningeffort.md
- docs/models/request.md
- docs/models/responseformat.md
- docs/models/responseformatgrammar.md
- docs/models/responseformatjsonobject.md
- docs/models/responseformatjsonschema.md
- docs/models/responseformatjsonschemaschema.md - docs/models/responseformatjsonschemaschema.md
- docs/models/responseformatpython.md
- docs/models/responseformattext.md
- docs/models/security.md - docs/models/security.md
- docs/models/streamchatcompletionresponsebody.md - docs/models/sort.md
- docs/models/stop.md
- docs/models/streamoptions.md
- docs/models/toplogprob.md - docs/models/toplogprob.md
- docs/models/typefile.md - docs/models/typefile.md
- docs/models/typegrammar.md
- docs/models/typejsonobject.md
- docs/models/typejsonschema.md
- docs/models/typepython.md
- docs/models/urlcitation.md - docs/models/urlcitation.md
- docs/models/urlcitationannotationdetail.md - docs/models/urlcitationannotationdetail.md
- docs/models/urlcitationannotationdetailtype.md - docs/models/urlcitationannotationdetailtype.md
@@ -249,6 +207,7 @@ generatedFiles:
- src/openrouter/models/chatcompletionchunkchoice.py - src/openrouter/models/chatcompletionchunkchoice.py
- src/openrouter/models/chatcompletionchunkchoicedelta.py - src/openrouter/models/chatcompletionchunkchoicedelta.py
- src/openrouter/models/chatcompletionchunkchoicedeltatoolcall.py - src/openrouter/models/chatcompletionchunkchoicedeltatoolcall.py
- src/openrouter/models/chatcompletionchunkwrapper.py
- src/openrouter/models/chatcompletioncontentpart.py - src/openrouter/models/chatcompletioncontentpart.py
- src/openrouter/models/chatcompletioncontentpartaudio.py - src/openrouter/models/chatcompletioncontentpartaudio.py
- src/openrouter/models/chatcompletioncontentpartimage.py - src/openrouter/models/chatcompletioncontentpartimage.py
@@ -266,8 +225,8 @@ generatedFiles:
- src/openrouter/models/chatcompletiontoolchoiceoption.py - src/openrouter/models/chatcompletiontoolchoiceoption.py
- src/openrouter/models/chatcompletiontoolmessageparam.py - src/openrouter/models/chatcompletiontoolmessageparam.py
- src/openrouter/models/chatcompletionusermessageparam.py - src/openrouter/models/chatcompletionusermessageparam.py
- src/openrouter/models/chatstreamcompletioncreateparams.py
- src/openrouter/models/completionusage.py - src/openrouter/models/completionusage.py
- src/openrouter/models/createchatcompletionop.py
- src/openrouter/models/fileannotationdetail.py - src/openrouter/models/fileannotationdetail.py
- src/openrouter/models/reasoningdetail.py - src/openrouter/models/reasoningdetail.py
- src/openrouter/models/reasoningdetailencrypted.py - src/openrouter/models/reasoningdetailencrypted.py
@@ -275,7 +234,6 @@ generatedFiles:
- src/openrouter/models/reasoningdetailtext.py - src/openrouter/models/reasoningdetailtext.py
- src/openrouter/models/responseformatjsonschemaschema.py - src/openrouter/models/responseformatjsonschemaschema.py
- src/openrouter/models/security.py - src/openrouter/models/security.py
- src/openrouter/models/streamchatcompletionop.py
- src/openrouter/models/urlcitationannotationdetail.py - src/openrouter/models/urlcitationannotationdetail.py
- src/openrouter/py.typed - src/openrouter/py.typed
- src/openrouter/sdk.py - src/openrouter/sdk.py
@@ -308,9 +266,9 @@ examples:
"200": "200":
application/json: {"id": "<id>", "choices": [], "created": 6977.95, "model": "El Camino", "object": "chat.completion"} application/json: {"id": "<id>", "choices": [], "created": 6977.95, "model": "El Camino", "object": "chat.completion"}
"400": "400":
application/json: {"error": {"code": "<value>", "message": "<value>", "param": "<value>", "type": "<value>"}} application/json: {"error": {"code": null, "message": "<value>"}}
"500": "500":
application/json: {"error": {"code": "<value>", "message": "<value>", "param": "<value>", "type": "<value>"}} application/json: {"error": {"code": null, "message": "<value>"}}
streamChatCompletion: streamChatCompletion:
speakeasy-default-stream-chat-completion: speakeasy-default-stream-chat-completion:
requestBody: requestBody:
+6 -3
View File
@@ -25,18 +25,21 @@ generation:
generateNewTests: true generateNewTests: true
skipResponseBodyAssertions: false skipResponseBodyAssertions: false
python: python:
version: 0.1.3 version: 0.3.1
additionalDependencies: additionalDependencies:
dev: {} dev: {}
main: {} main: {}
allowedRedefinedBuiltins:
- id
- object
authors: authors:
- Speakeasy - Speakeasy
baseErrorName: OpenRouterError baseErrorName: OpenRouterError
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true
defaultErrorName: OpenRouterDefaultError defaultErrorName: OpenRouterDefaultError
description: Python Client SDK Generated by Speakeasy. description: Python Client SDK Generated by Speakeasy.
enableCustomCodeRegions: false enableCustomCodeRegions: true
enumFormat: enum enumFormat: union
envVarPrefix: OPENROUTER envVarPrefix: OPENROUTER
fixFlags: fixFlags:
responseRequiredSep2024: true responseRequiredSep2024: true
+31 -76
View File
@@ -17,7 +17,7 @@ servers:
default: openrouter.ai default: openrouter.ai
description: Production server description: Production server
security: security:
- BearerAuth: [] - ApiKey: []
tags: tags:
- name: Chat - name: Chat
description: Chat completion operations description: Chat completion operations
@@ -26,11 +26,17 @@ externalDocs:
url: https://openrouter.ai/docs url: https://openrouter.ai/docs
components: components:
securitySchemes: securitySchemes:
BearerAuth: ApiKey:
type: http type: http
scheme: bearer scheme: bearer
description: API key as bearer token in Authorization header description: API key as bearer token in Authorization header
schemas: schemas:
ChatCompletionChunkWrapper:
type: object
required: [data]
properties:
data:
$ref: '#/components/schemas/ChatCompletionChunk'
ChatCompletionMessageToolCall: ChatCompletionMessageToolCall:
type: object type: object
properties: properties:
@@ -450,7 +456,7 @@ components:
type: object type: object
properties: properties:
code: code:
type: string type: number
nullable: true nullable: true
message: message:
type: string type: string
@@ -462,8 +468,6 @@ components:
required: required:
- code - code
- message - message
- param
- type
description: Error object structure description: Error object structure
required: required:
- error - error
@@ -1057,7 +1061,7 @@ components:
type: string type: string
description: Unique user identifier description: Unique user identifier
models: models:
x-speakeasy-name-override: models_llm x-speakeasy-name-override: model_list
type: array type: array
nullable: true nullable: true
items: items:
@@ -1082,15 +1086,17 @@ components:
description: > description: >
Whether to allow backup providers to serve requests Whether to allow backup providers to serve requests
- true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider. - true: (default) when the primary provider (or your custom providers in "order") is unavailable, use
the next best provider.
- false: use only the primary/custom provider, and return the upstream error if it's unavailable. - false: use only the primary/custom provider, and return the upstream error if it's unavailable.
require_parameters: require_parameters:
type: boolean type: boolean
nullable: true nullable: true
description: >- description: >-
Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest. Whether to filter providers to only those that support the parameters you've provided. If this setting
is omitted or set to false, then providers will receive only the parameters they support, and ignore the
rest.
data_collection: data_collection:
type: string type: string
nullable: true nullable: true
@@ -1098,12 +1104,12 @@ components:
- deny - deny
- allow - allow
description: > description: >
Data collection setting. If no available model provider meets the requirement, your request will return an error. Data collection setting. If no available model provider meets the requirement, your request will return
an error.
- allow: (default) allow providers which store user data non-transiently and may train on it - allow: (default) allow providers which store user data non-transiently and may train on it
- deny: use only providers which do not collect user data. - deny: use only providers which do not collect user data.
order: order:
type: array type: array
nullable: true nullable: true
@@ -1191,7 +1197,9 @@ components:
- Z.AI - Z.AI
- type: string - type: string
description: >- description: >-
An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. An ordered list of provider slugs. The router will attempt to use the first provider in the subset of
this list that supports your requested model, and fall back to the next if it is unavailable. If no
providers are available, the request will fail with an error message.
only: only:
type: array type: array
nullable: true nullable: true
@@ -1279,7 +1287,8 @@ components:
- Z.AI - Z.AI
- type: string - type: string
description: >- description: >-
List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. List of provider slugs to allow. If provided, this list is merged with your account-wide allowed
provider settings for this request.
ignore: ignore:
type: array type: array
nullable: true nullable: true
@@ -1367,7 +1376,8 @@ components:
- Z.AI - Z.AI
- type: string - type: string
description: >- description: >-
List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored
provider settings for this request.
quantizations: quantizations:
type: array type: array
nullable: true nullable: true
@@ -1392,7 +1402,8 @@ components:
- throughput - throughput
- latency - latency
description: >- description: >-
The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing
is performed.
max_price: max_price:
type: object type: object
properties: properties:
@@ -1423,7 +1434,8 @@ components:
- {} - {}
additionalProperties: false additionalProperties: false
description: >- description: >-
The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. The object specifying the maximum price you want to pay for this request. USD price per million tokens,
for prompt and completion.
additionalProperties: false additionalProperties: false
description: When multiple model providers are available, optionally indicate your routing preference. description: When multiple model providers are available, optionally indicate your routing preference.
plugins: plugins:
@@ -1486,22 +1498,13 @@ components:
required: required:
- messages - messages
description: Chat completion request parameters description: Chat completion request parameters
ChatStreamCompletionCreateParams:
allOf:
- $ref: "#/components/schemas/ChatCompletionCreateParams"
- type: object
properties:
stream:
type: boolean
enum:
- true
default: true
description: Enable streaming response
parameters: {} parameters: {}
paths: paths:
/chat/completions: /chat/completions:
post: post:
operationId: createChatCompletion operationId: createChatCompletion
x-speakeasy-group: chat
x-speakeasy-name-override: complete
summary: Create a chat completion summary: Create a chat completion
description: Creates a model response for the given chat conversation. Supports both streaming and non-streaming modes. description: Creates a model response for the given chat conversation. Supports both streaming and non-streaming modes.
tags: tags:
@@ -1521,57 +1524,10 @@ paths:
schema: schema:
$ref: '#/components/schemas/ChatCompletion' $ref: '#/components/schemas/ChatCompletion'
description: Non-streaming response when stream=false description: Non-streaming response when stream=false
'400':
description: Bad request - invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionError'
'401':
description: Unauthorized - invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionError'
'429':
description: Too many requests - rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionError'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionError'
x-speakeasy-name-override: complete
/chat/completions#stream:
post:
operationId: streamChatCompletion
summary: Create a chat completion
description: Creates a model response for the given chat conversation. Supports both streaming and non-streaming modes.
tags:
- Chat
requestBody:
description: Chat completion request parameters
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChatStreamCompletionCreateParams'
responses:
'200':
description: Successful chat completion response
content:
text/event-stream: text/event-stream:
x-speakeasy-sse-sentinel: '[DONE]' x-speakeasy-sse-sentinel: '[DONE]'
schema: schema:
type: object $ref: '#/components/schemas/ChatCompletionChunkWrapper'
required: [data]
properties:
data:
$ref: '#/components/schemas/ChatCompletionChunk'
'400': '400':
description: Bad request - invalid parameters description: Bad request - invalid parameters
content: content:
@@ -1596,4 +1552,3 @@ paths:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ChatCompletionError' $ref: '#/components/schemas/ChatCompletionError'
x-speakeasy-name-override: completeStream
+1 -6
View File
@@ -1,4 +1,4 @@
speakeasyVersion: 1.606.2 speakeasyVersion: 1.611.1
sources: sources:
OpenRouter Chat Completions API: OpenRouter Chat Completions API:
sourceNamespace: open-router-chat-completions-api sourceNamespace: open-router-chat-completions-api
@@ -14,8 +14,6 @@ targets:
sourceNamespace: open-router-chat-completions-api sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:30b19a8759608792fb4d27f6bf28d5982d7e2a8cf5b3faf34ba3507a62f9f106 sourceRevisionDigest: sha256:30b19a8759608792fb4d27f6bf28d5982d7e2a8cf5b3faf34ba3507a62f9f106
sourceBlobDigest: sha256:454f1b880a0882a70f78eacccb2c33e3d9d19134a0738b0e21487984a7bf2e63 sourceBlobDigest: sha256:454f1b880a0882a70f78eacccb2c33e3d9d19134a0738b0e21487984a7bf2e63
codeSamplesNamespace: open-router-chat-completions-api-python-code-samples
codeSamplesRevisionDigest: sha256:9ce1951254983ff6edc533d67fea93254d9e0d124057ce826721a1449a9ba36c
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest
@@ -23,9 +21,6 @@ workflow:
OpenRouter Chat Completions API: OpenRouter Chat Completions API:
inputs: inputs:
- location: .speakeasy/OAS_files/chat-completions-openapi.yaml - location: .speakeasy/OAS_files/chat-completions-openapi.yaml
overlays:
- location: .speakeasy/OAS_files/overlay.yaml
- location: .speakeasy/OAS_files/speakeasy-modifications-overlay.yaml
output: .speakeasy/out.openapi.yaml output: .speakeasy/out.openapi.yaml
registry: registry:
location: registry.speakeasyapi.dev/sheldon-vaughn-test/sandbox/open-router-chat-completions-api location: registry.speakeasyapi.dev/sheldon-vaughn-test/sandbox/open-router-chat-completions-api
-3
View File
@@ -4,9 +4,6 @@ sources:
OpenRouter Chat Completions API: OpenRouter Chat Completions API:
inputs: inputs:
- location: .speakeasy/OAS_files/chat-completions-openapi.yaml - location: .speakeasy/OAS_files/chat-completions-openapi.yaml
overlays:
- location: .speakeasy/OAS_files/overlay.yaml
- location: .speakeasy/OAS_files/speakeasy-modifications-overlay.yaml
output: .speakeasy/out.openapi.yaml output: .speakeasy/out.openapi.yaml
registry: registry:
location: registry.speakeasyapi.dev/sheldon-vaughn-test/sandbox/open-router-chat-completions-api location: registry.speakeasyapi.dev/sheldon-vaughn-test/sandbox/open-router-chat-completions-api
+67 -52
View File
@@ -125,23 +125,25 @@ Generally, the SDK will work well with most IDEs out of the box. However, when u
```python ```python
# Synchronous Example # Synchronous Example
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
</br> </br>
@@ -150,24 +152,26 @@ The same SDK client can also be used to make asynchronous requests by importing
```python ```python
# Asynchronous Example # Asynchronous Example
import asyncio import asyncio
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
async def main(): async def main():
async with OpenRouter( async with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = await open_router.chat.complete_async(messages=[ res = await open_router.chat.complete_async(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response async with res as event_stream:
print(res) async for event in event_stream:
# handle event
print(event, flush=True)
asyncio.run(main()) asyncio.run(main())
``` ```
@@ -180,29 +184,31 @@ asyncio.run(main())
This SDK supports the following security scheme globally: This SDK supports the following security scheme globally:
| Name | Type | Scheme | Environment Variable | | Name | Type | Scheme | Environment Variable |
| ------------- | ---- | ----------- | ------------------------ | | --------- | ---- | ----------- | -------------------- |
| `bearer_auth` | http | HTTP Bearer | `OPENROUTER_BEARER_AUTH` | | `api_key` | http | HTTP Bearer | `OPENROUTER_API_KEY` |
To authenticate with the API the `bearer_auth` parameter must be set when initializing the SDK client instance. For example: To authenticate with the API the `api_key` parameter must be set when initializing the SDK client instance. For example:
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
<!-- End Authentication [security] --> <!-- End Authentication [security] -->
@@ -216,7 +222,6 @@ with OpenRouter(
### [chat](https://github.com/speakeasy-sdks/openrouter-python-sdk/blob/master/docs/sdks/chat/README.md) ### [chat](https://github.com/speakeasy-sdks/openrouter-python-sdk/blob/master/docs/sdks/chat/README.md)
* [complete](https://github.com/speakeasy-sdks/openrouter-python-sdk/blob/master/docs/sdks/chat/README.md#complete) - Create a chat completion * [complete](https://github.com/speakeasy-sdks/openrouter-python-sdk/blob/master/docs/sdks/chat/README.md#complete) - Create a chat completion
* [complete_stream](https://github.com/speakeasy-sdks/openrouter-python-sdk/blob/master/docs/sdks/chat/README.md#complete_stream) - Create a chat completion
</details> </details>
@@ -235,20 +240,20 @@ The stream is also a [Context Manager][context-manager] and can be used with the
underlying connection when the context is exited. underlying connection when the context is exited.
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete_stream(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=True, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
with res as event_stream: with res as event_stream:
for event in event_stream: for event in event_stream:
@@ -269,49 +274,53 @@ Some of the endpoints in this SDK support retries. If you use the SDK without an
To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call: To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call:
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
from openrouter.utils import BackoffStrategy, RetryConfig from openrouter.utils import BackoffStrategy, RetryConfig
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1, ], stream=False, temperature=1, top_p=1,
RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False)) RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
If you'd like to override the default retry strategy for all operations that support retries, you can use the `retry_config` optional parameter when initializing the SDK: If you'd like to override the default retry strategy for all operations that support retries, you can use the `retry_config` optional parameter when initializing the SDK:
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
from openrouter.utils import BackoffStrategy, RetryConfig from openrouter.utils import BackoffStrategy, RetryConfig
import os import os
with OpenRouter( with OpenRouter(
retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False), retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False),
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
<!-- End Retries [retries] --> <!-- End Retries [retries] -->
@@ -332,25 +341,27 @@ with OpenRouter(
### Example ### Example
```python ```python
from openrouter import OpenRouter, errors, models from openrouter import OpenRouter, errors
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = None res = None
try: try:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
except errors.OpenRouterError as e: except errors.OpenRouterError as e:
@@ -401,24 +412,26 @@ The default server `https://{provider_url}/api/v1` contains variables and is set
#### Example #### Example
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
provider_url="https://ruddy-guacamole.info/" provider_url="https://ruddy-guacamole.info/"
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
@@ -426,24 +439,26 @@ with OpenRouter(
The default server can be overridden globally by passing a URL to the `server_url: str` optional parameter when initializing the SDK client instance. For example: The default server can be overridden globally by passing a URL to the `server_url: str` optional parameter when initializing the SDK client instance. For example:
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
server_url="https://openrouter.ai/api/v1", server_url="https://openrouter.ai/api/v1",
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
<!-- End Server Selection [server] --> <!-- End Server Selection [server] -->
@@ -542,7 +557,7 @@ import os
def main(): def main():
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
# Rest of application here... # Rest of application here...
@@ -551,7 +566,7 @@ def main():
async def amain(): async def amain():
async with OpenRouter( async with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
# Rest of application here... # Rest of application here...
``` ```
+67 -52
View File
@@ -125,23 +125,25 @@ Generally, the SDK will work well with most IDEs out of the box. However, when u
```python ```python
# Synchronous Example # Synchronous Example
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
</br> </br>
@@ -150,24 +152,26 @@ The same SDK client can also be used to make asynchronous requests by importing
```python ```python
# Asynchronous Example # Asynchronous Example
import asyncio import asyncio
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
async def main(): async def main():
async with OpenRouter( async with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = await open_router.chat.complete_async(messages=[ res = await open_router.chat.complete_async(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response async with res as event_stream:
print(res) async for event in event_stream:
# handle event
print(event, flush=True)
asyncio.run(main()) asyncio.run(main())
``` ```
@@ -180,29 +184,31 @@ asyncio.run(main())
This SDK supports the following security scheme globally: This SDK supports the following security scheme globally:
| Name | Type | Scheme | Environment Variable | | Name | Type | Scheme | Environment Variable |
| ------------- | ---- | ----------- | ------------------------ | | --------- | ---- | ----------- | -------------------- |
| `bearer_auth` | http | HTTP Bearer | `OPENROUTER_BEARER_AUTH` | | `api_key` | http | HTTP Bearer | `OPENROUTER_API_KEY` |
To authenticate with the API the `bearer_auth` parameter must be set when initializing the SDK client instance. For example: To authenticate with the API the `api_key` parameter must be set when initializing the SDK client instance. For example:
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
<!-- End Authentication [security] --> <!-- End Authentication [security] -->
@@ -216,7 +222,6 @@ with OpenRouter(
### [chat](docs/sdks/chat/README.md) ### [chat](docs/sdks/chat/README.md)
* [complete](docs/sdks/chat/README.md#complete) - Create a chat completion * [complete](docs/sdks/chat/README.md#complete) - Create a chat completion
* [complete_stream](docs/sdks/chat/README.md#complete_stream) - Create a chat completion
</details> </details>
@@ -235,20 +240,20 @@ The stream is also a [Context Manager][context-manager] and can be used with the
underlying connection when the context is exited. underlying connection when the context is exited.
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete_stream(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=True, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
with res as event_stream: with res as event_stream:
for event in event_stream: for event in event_stream:
@@ -269,49 +274,53 @@ Some of the endpoints in this SDK support retries. If you use the SDK without an
To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call: To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call:
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
from openrouter.utils import BackoffStrategy, RetryConfig from openrouter.utils import BackoffStrategy, RetryConfig
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1, ], stream=False, temperature=1, top_p=1,
RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False)) RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
If you'd like to override the default retry strategy for all operations that support retries, you can use the `retry_config` optional parameter when initializing the SDK: If you'd like to override the default retry strategy for all operations that support retries, you can use the `retry_config` optional parameter when initializing the SDK:
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
from openrouter.utils import BackoffStrategy, RetryConfig from openrouter.utils import BackoffStrategy, RetryConfig
import os import os
with OpenRouter( with OpenRouter(
retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False), retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False),
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
<!-- End Retries [retries] --> <!-- End Retries [retries] -->
@@ -332,25 +341,27 @@ with OpenRouter(
### Example ### Example
```python ```python
from openrouter import OpenRouter, errors, models from openrouter import OpenRouter, errors
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = None res = None
try: try:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
except errors.OpenRouterError as e: except errors.OpenRouterError as e:
@@ -401,24 +412,26 @@ The default server `https://{provider_url}/api/v1` contains variables and is set
#### Example #### Example
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
provider_url="https://ruddy-guacamole.info/" provider_url="https://ruddy-guacamole.info/"
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
@@ -426,24 +439,26 @@ with OpenRouter(
The default server can be overridden globally by passing a URL to the `server_url: str` optional parameter when initializing the SDK client instance. For example: The default server can be overridden globally by passing a URL to the `server_url: str` optional parameter when initializing the SDK client instance. For example:
```python ```python
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
server_url="https://openrouter.ai/api/v1", server_url="https://openrouter.ai/api/v1",
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
<!-- End Server Selection [server] --> <!-- End Server Selection [server] -->
@@ -542,7 +557,7 @@ import os
def main(): def main():
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
# Rest of application here... # Rest of application here...
@@ -551,7 +566,7 @@ def main():
async def amain(): async def amain():
async with OpenRouter( async with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
# Rest of application here... # Rest of application here...
``` ```
+14 -10
View File
@@ -1,23 +1,25 @@
<!-- Start SDK Example Usage [usage] --> <!-- Start SDK Example Usage [usage] -->
```python ```python
# Synchronous Example # Synchronous Example
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
with OpenRouter( with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = open_router.chat.complete(messages=[ res = open_router.chat.complete(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response with res as event_stream:
print(res) for event in event_stream:
# handle event
print(event, flush=True)
``` ```
</br> </br>
@@ -26,24 +28,26 @@ The same SDK client can also be used to make asynchronous requests by importing
```python ```python
# Asynchronous Example # Asynchronous Example
import asyncio import asyncio
from openrouter import OpenRouter, models from openrouter import OpenRouter
import os import os
async def main(): async def main():
async with OpenRouter( async with OpenRouter(
bearer_auth=os.getenv("OPENROUTER_BEARER_AUTH", ""), api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router: ) as open_router:
res = await open_router.chat.complete_async(messages=[ res = await open_router.chat.complete_async(messages=[
{ {
"role": models.ChatCompletionUserMessageParamRole.USER, "role": "user",
"content": "Hello, how are you?", "content": "Hello, how are you?",
}, },
], stream=False, temperature=1, top_p=1) ], stream=False, temperature=1, top_p=1)
# Handle response async with res as event_stream:
print(res) async for event in event_stream:
# handle event
print(event, flush=True)
asyncio.run(main()) asyncio.run(main())
``` ```
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsImage # Audio
## Supported Types ## Supported Types
@@ -1,6 +1,4 @@
# StreamChatCompletionResponseBody # ChatCompletionChunkWrapper
Successful chat completion response
## Fields ## Fields
+27 -27
View File
@@ -5,30 +5,30 @@ Chat completion request parameters
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `messages` | List[[models.ChatCompletionMessageParam](../models/chatcompletionmessageparam.md)] | :heavy_check_mark: | List of messages for the conversation | [<br/>{<br/>"role": "user",<br/>"content": "Hello, how are you?"<br/>}<br/>] | | `messages` | List[[models.ChatCompletionMessageParam](../models/chatcompletionmessageparam.md)] | :heavy_check_mark: | List of messages for the conversation | [<br/>{<br/>"role": "user",<br/>"content": "Hello, how are you?"<br/>}<br/>] |
| `model` | *Optional[str]* | :heavy_minus_sign: | Model to use for completion | | | `model` | *Optional[str]* | :heavy_minus_sign: | Model to use for completion | |
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Frequency penalty (-2.0 to 2.0) | | | `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Frequency penalty (-2.0 to 2.0) | |
| `logit_bias` | Dict[str, *float*] | :heavy_minus_sign: | Token logit bias adjustments | | | `logit_bias` | Dict[str, *float*] | :heavy_minus_sign: | Token logit bias adjustments | |
| `logprobs` | *OptionalNullable[bool]* | :heavy_minus_sign: | Return log probabilities | | | `logprobs` | *OptionalNullable[bool]* | :heavy_minus_sign: | Return log probabilities | |
| `top_logprobs` | *OptionalNullable[float]* | :heavy_minus_sign: | Number of top log probabilities to return (0-20) | | | `top_logprobs` | *OptionalNullable[float]* | :heavy_minus_sign: | Number of top log probabilities to return (0-20) | |
| `max_completion_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum tokens in completion | | | `max_completion_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum tokens in completion | |
| `max_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum tokens (deprecated, use max_completion_tokens) | | | `max_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum tokens (deprecated, use max_completion_tokens) | |
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) | | | `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Presence penalty (-2.0 to 2.0) | | | `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Presence penalty (-2.0 to 2.0) | |
| `reasoning` | [OptionalNullable[models.ChatCompletionCreateParamsReasoning]](../models/chatcompletioncreateparamsreasoning.md) | :heavy_minus_sign: | Reasoning configuration | | | `reasoning` | [OptionalNullable[models.Reasoning]](../models/reasoning.md) | :heavy_minus_sign: | Reasoning configuration | |
| `response_format` | [Optional[models.ChatCompletionCreateParamsResponseFormatUnion]](../models/chatcompletioncreateparamsresponseformatunion.md) | :heavy_minus_sign: | Response format configuration | | | `response_format` | [Optional[models.ResponseFormat]](../models/responseformat.md) | :heavy_minus_sign: | Response format configuration | |
| `seed` | *OptionalNullable[int]* | :heavy_minus_sign: | Random seed for deterministic outputs | | | `seed` | *OptionalNullable[int]* | :heavy_minus_sign: | Random seed for deterministic outputs | |
| `stop` | [OptionalNullable[models.ChatCompletionCreateParamsStop]](../models/chatcompletioncreateparamsstop.md) | :heavy_minus_sign: | Stop sequences (up to 4) | | | `stop` | [OptionalNullable[models.Stop]](../models/stop.md) | :heavy_minus_sign: | Stop sequences (up to 4) | |
| `stream` | *OptionalNullable[bool]* | :heavy_minus_sign: | Enable streaming response | | | `stream` | *OptionalNullable[bool]* | :heavy_minus_sign: | Enable streaming response | |
| `stream_options` | [OptionalNullable[models.ChatCompletionCreateParamsStreamOptions]](../models/chatcompletioncreateparamsstreamoptions.md) | :heavy_minus_sign: | N/A | | | `stream_options` | [OptionalNullable[models.StreamOptions]](../models/streamoptions.md) | :heavy_minus_sign: | N/A | |
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | Sampling temperature (0-2) | | | `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | Sampling temperature (0-2) | |
| `tool_choice` | [Optional[models.ChatCompletionToolChoiceOption]](../models/chatcompletiontoolchoiceoption.md) | :heavy_minus_sign: | Tool choice configuration | | | `tool_choice` | [Optional[models.ChatCompletionToolChoiceOption]](../models/chatcompletiontoolchoiceoption.md) | :heavy_minus_sign: | Tool choice configuration | |
| `tools` | List[[models.ChatCompletionTool](../models/chatcompletiontool.md)] | :heavy_minus_sign: | Available tools for function calling | | | `tools` | List[[models.ChatCompletionTool](../models/chatcompletiontool.md)] | :heavy_minus_sign: | Available tools for function calling | |
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Nucleus sampling parameter (0-1) | | | `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Nucleus sampling parameter (0-1) | |
| `user` | *Optional[str]* | :heavy_minus_sign: | Unique user identifier | | | `user` | *Optional[str]* | :heavy_minus_sign: | Unique user identifier | |
| `models_llm` | List[*str*] | :heavy_minus_sign: | Order of models to fallback to for this request | | | `model_list` | List[*str*] | :heavy_minus_sign: | Order of models to fallback to for this request | |
| `reasoning_effort` | [OptionalNullable[models.ChatCompletionCreateParamsReasoningEffort]](../models/chatcompletioncreateparamsreasoningeffort.md) | :heavy_minus_sign: | Reasoning effort | | | `reasoning_effort` | [OptionalNullable[models.ReasoningEffort]](../models/reasoningeffort.md) | :heavy_minus_sign: | Reasoning effort | |
| `provider` | [OptionalNullable[models.ChatCompletionCreateParamsProvider]](../models/chatcompletioncreateparamsprovider.md) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | | | `provider` | [OptionalNullable[models.Provider]](../models/provider.md) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | |
| `plugins` | List[[models.ChatCompletionCreateParamsPluginUnion](../models/chatcompletioncreateparamspluginunion.md)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | | | `plugins` | List[[models.Plugin](../models/plugin.md)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
@@ -1,23 +0,0 @@
# ChatCompletionCreateParamsCompletion
## Supported Types
### `float`
```python
value: float = /* values here */
```
### `str`
```python
value: str = /* values here */
```
### `Any`
```python
value: Any = /* values here */
```
@@ -1,17 +0,0 @@
# ChatCompletionCreateParamsIgnoreUnion
## Supported Types
### `models.ChatCompletionCreateParamsIgnoreEnum`
```python
value: models.ChatCompletionCreateParamsIgnoreEnum = /* values here */
```
### `str`
```python
value: str = /* values here */
```
@@ -1,14 +0,0 @@
# ChatCompletionCreateParamsMaxPrice
The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `prompt` | [Optional[models.ChatCompletionCreateParamsPrompt]](../models/chatcompletioncreateparamsprompt.md) | :heavy_minus_sign: | N/A |
| `completion` | [Optional[models.ChatCompletionCreateParamsCompletion]](../models/chatcompletioncreateparamscompletion.md) | :heavy_minus_sign: | N/A |
| `image` | [Optional[models.ChatCompletionCreateParamsImage]](../models/chatcompletioncreateparamsimage.md) | :heavy_minus_sign: | N/A |
| `audio` | [Optional[models.ChatCompletionCreateParamsAudio]](../models/chatcompletioncreateparamsaudio.md) | :heavy_minus_sign: | N/A |
| `request` | [Optional[models.ChatCompletionCreateParamsRequest]](../models/chatcompletioncreateparamsrequest.md) | :heavy_minus_sign: | N/A |
@@ -1,17 +0,0 @@
# ChatCompletionCreateParamsOnlyUnion
## Supported Types
### `models.ChatCompletionCreateParamsOnlyEnum`
```python
value: models.ChatCompletionCreateParamsOnlyEnum = /* values here */
```
### `str`
```python
value: str = /* values here */
```
@@ -1,17 +0,0 @@
# ChatCompletionCreateParamsOrderUnion
## Supported Types
### `models.ChatCompletionCreateParamsOrderEnum`
```python
value: models.ChatCompletionCreateParamsOrderEnum = /* values here */
```
### `str`
```python
value: str = /* values here */
```
@@ -1,8 +0,0 @@
# ChatCompletionCreateParamsPdf
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `engine` | [Optional[models.ChatCompletionCreateParamsPdfEngine]](../models/chatcompletioncreateparamspdfengine.md) | :heavy_minus_sign: | N/A |
@@ -1,8 +0,0 @@
# ChatCompletionCreateParamsPluginChainOfThought
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `id` | [models.ChatCompletionCreateParamsIDChainOfThought](../models/chatcompletioncreateparamsidchainofthought.md) | :heavy_check_mark: | N/A |
@@ -1,10 +0,0 @@
# ChatCompletionCreateParamsPluginFileParser
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `id` | [models.ChatCompletionCreateParamsIDFileParser](../models/chatcompletioncreateparamsidfileparser.md) | :heavy_check_mark: | N/A |
| `max_files` | *Optional[float]* | :heavy_minus_sign: | N/A |
| `pdf` | [Optional[models.ChatCompletionCreateParamsPdf]](../models/chatcompletioncreateparamspdf.md) | :heavy_minus_sign: | N/A |
@@ -1,8 +0,0 @@
# ChatCompletionCreateParamsPluginModeration
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `id` | [models.ChatCompletionCreateParamsIDModeration](../models/chatcompletioncreateparamsidmoderation.md) | :heavy_check_mark: | N/A |
@@ -1,29 +0,0 @@
# ChatCompletionCreateParamsPluginUnion
## Supported Types
### `models.ChatCompletionCreateParamsPluginModeration`
```python
value: models.ChatCompletionCreateParamsPluginModeration = /* values here */
```
### `models.ChatCompletionCreateParamsPluginWeb`
```python
value: models.ChatCompletionCreateParamsPluginWeb = /* values here */
```
### `models.ChatCompletionCreateParamsPluginChainOfThought`
```python
value: models.ChatCompletionCreateParamsPluginChainOfThought = /* values here */
```
### `models.ChatCompletionCreateParamsPluginFileParser`
```python
value: models.ChatCompletionCreateParamsPluginFileParser = /* values here */
```
@@ -1,11 +0,0 @@
# ChatCompletionCreateParamsPluginWeb
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `id` | [models.ChatCompletionCreateParamsIDWeb](../models/chatcompletioncreateparamsidweb.md) | :heavy_check_mark: | N/A |
| `max_results` | *Optional[float]* | :heavy_minus_sign: | N/A |
| `search_prompt` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `engine` | [Optional[models.ChatCompletionCreateParamsEngine]](../models/chatcompletioncreateparamsengine.md) | :heavy_minus_sign: | N/A |
@@ -1,13 +0,0 @@
# ChatCompletionCreateParamsReasoning
Reasoning configuration
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Enables reasoning with default settings. Only work for some models. |
| `effort` | [OptionalNullable[models.ChatCompletionCreateParamsEffort]](../models/chatcompletioncreateparamseffort.md) | :heavy_minus_sign: | OpenAI-style reasoning effort setting |
| `max_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | non-OpenAI-style reasoning effort setting |
| `exclude` | *Optional[bool]* | :heavy_minus_sign: | N/A |
@@ -1,11 +0,0 @@
# ChatCompletionCreateParamsResponseFormatGrammar
Custom grammar response format
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `type` | [models.ChatCompletionCreateParamsTypeGrammar](../models/chatcompletioncreateparamstypegrammar.md) | :heavy_check_mark: | N/A |
| `grammar` | *str* | :heavy_check_mark: | Custom grammar for text generation |
@@ -1,10 +0,0 @@
# ChatCompletionCreateParamsResponseFormatJSONObject
JSON object response format
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `type` | [models.ChatCompletionCreateParamsTypeJSONObject](../models/chatcompletioncreateparamstypejsonobject.md) | :heavy_check_mark: | N/A |
@@ -1,11 +0,0 @@
# ChatCompletionCreateParamsResponseFormatJSONSchema
JSON Schema response format for structured outputs
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `type` | [models.ChatCompletionCreateParamsTypeJSONSchema](../models/chatcompletioncreateparamstypejsonschema.md) | :heavy_check_mark: | N/A |
| `json_schema` | [models.ChatCompletionCreateParamsJSONSchema](../models/chatcompletioncreateparamsjsonschema.md) | :heavy_check_mark: | N/A |
@@ -1,10 +0,0 @@
# ChatCompletionCreateParamsResponseFormatPython
Python code response format
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `type` | [models.ChatCompletionCreateParamsTypePython](../models/chatcompletioncreateparamstypepython.md) | :heavy_check_mark: | N/A |
@@ -1,37 +0,0 @@
# ChatCompletionCreateParamsResponseFormatUnion
Response format configuration
## Supported Types
### `models.ChatCompletionCreateParamsResponseFormatText`
```python
value: models.ChatCompletionCreateParamsResponseFormatText = /* values here */
```
### `models.ChatCompletionCreateParamsResponseFormatJSONObject`
```python
value: models.ChatCompletionCreateParamsResponseFormatJSONObject = /* values here */
```
### `models.ChatCompletionCreateParamsResponseFormatJSONSchema`
```python
value: models.ChatCompletionCreateParamsResponseFormatJSONSchema = /* values here */
```
### `models.ChatCompletionCreateParamsResponseFormatGrammar`
```python
value: models.ChatCompletionCreateParamsResponseFormatGrammar = /* values here */
```
### `models.ChatCompletionCreateParamsResponseFormatPython`
```python
value: models.ChatCompletionCreateParamsResponseFormatPython = /* values here */
```
@@ -1,34 +0,0 @@
# ChatStreamCompletionCreateParams
Chat completion request parameters
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `messages` | List[[models.ChatCompletionMessageParam](../models/chatcompletionmessageparam.md)] | :heavy_check_mark: | List of messages for the conversation | [<br/>{<br/>"role": "user",<br/>"content": "Hello, how are you?"<br/>}<br/>] |
| `model` | *Optional[str]* | :heavy_minus_sign: | Model to use for completion | |
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Frequency penalty (-2.0 to 2.0) | |
| `logit_bias` | Dict[str, *float*] | :heavy_minus_sign: | Token logit bias adjustments | |
| `logprobs` | *OptionalNullable[bool]* | :heavy_minus_sign: | Return log probabilities | |
| `top_logprobs` | *OptionalNullable[float]* | :heavy_minus_sign: | Number of top log probabilities to return (0-20) | |
| `max_completion_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum tokens in completion | |
| `max_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum tokens (deprecated, use max_completion_tokens) | |
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Presence penalty (-2.0 to 2.0) | |
| `reasoning` | [OptionalNullable[models.ChatStreamCompletionCreateParamsReasoning]](../models/chatstreamcompletioncreateparamsreasoning.md) | :heavy_minus_sign: | Reasoning configuration | |
| `response_format` | [Optional[models.ChatStreamCompletionCreateParamsResponseFormatUnion]](../models/chatstreamcompletioncreateparamsresponseformatunion.md) | :heavy_minus_sign: | Response format configuration | |
| `seed` | *OptionalNullable[int]* | :heavy_minus_sign: | Random seed for deterministic outputs | |
| `stop` | [OptionalNullable[models.ChatStreamCompletionCreateParamsStop]](../models/chatstreamcompletioncreateparamsstop.md) | :heavy_minus_sign: | Stop sequences (up to 4) | |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | Enable streaming response | |
| `stream_options` | [OptionalNullable[models.ChatStreamCompletionCreateParamsStreamOptions]](../models/chatstreamcompletioncreateparamsstreamoptions.md) | :heavy_minus_sign: | N/A | |
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | Sampling temperature (0-2) | |
| `tool_choice` | [Optional[models.ChatCompletionToolChoiceOption]](../models/chatcompletiontoolchoiceoption.md) | :heavy_minus_sign: | Tool choice configuration | |
| `tools` | List[[models.ChatCompletionTool](../models/chatcompletiontool.md)] | :heavy_minus_sign: | Available tools for function calling | |
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Nucleus sampling parameter (0-1) | |
| `user` | *Optional[str]* | :heavy_minus_sign: | Unique user identifier | |
| `models_llm` | List[*str*] | :heavy_minus_sign: | Order of models to fallback to for this request | |
| `reasoning_effort` | [OptionalNullable[models.ChatStreamCompletionCreateParamsReasoningEffort]](../models/chatstreamcompletioncreateparamsreasoningeffort.md) | :heavy_minus_sign: | Reasoning effort | |
| `provider` | [OptionalNullable[models.ChatStreamCompletionCreateParamsProvider]](../models/chatstreamcompletioncreateparamsprovider.md) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | |
| `plugins` | List[[models.ChatStreamCompletionCreateParamsPluginUnion](../models/chatstreamcompletioncreateparamspluginunion.md)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
@@ -1,23 +0,0 @@
# ChatStreamCompletionCreateParamsAudio
## Supported Types
### `float`
```python
value: float = /* values here */
```
### `str`
```python
value: str = /* values here */
```
### `Any`
```python
value: Any = /* values here */
```
@@ -1,23 +0,0 @@
# ChatStreamCompletionCreateParamsCompletion
## Supported Types
### `float`
```python
value: float = /* values here */
```
### `str`
```python
value: str = /* values here */
```
### `Any`
```python
value: Any = /* values here */
```
@@ -1,14 +0,0 @@
# ChatStreamCompletionCreateParamsDataCollection
Data collection setting. If no available model provider meets the requirement, your request will return an error.
- allow: (default) allow providers which store user data non-transiently and may train on it
- deny: use only providers which do not collect user data.
## Values
| Name | Value |
| ------- | ------- |
| `DENY` | deny |
| `ALLOW` | allow |
@@ -1,13 +0,0 @@
# ChatStreamCompletionCreateParamsEffort
OpenAI-style reasoning effort setting
## Values
| Name | Value |
| --------- | --------- |
| `HIGH` | high |
| `MEDIUM` | medium |
| `LOW` | low |
| `MINIMAL` | minimal |
@@ -1,9 +0,0 @@
# ChatStreamCompletionCreateParamsEngine
## Values
| Name | Value |
| -------- | -------- |
| `NATIVE` | native |
| `EXA` | exa |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsIDChainOfThought
## Values
| Name | Value |
| ------------------ | ------------------ |
| `CHAIN_OF_THOUGHT` | chain-of-thought |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsIDFileParser
## Values
| Name | Value |
| ------------- | ------------- |
| `FILE_PARSER` | file-parser |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsIDModeration
## Values
| Name | Value |
| ------------ | ------------ |
| `MODERATION` | moderation |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsIDWeb
## Values
| Name | Value |
| ----- | ----- |
| `WEB` | web |
@@ -1,85 +0,0 @@
# ChatStreamCompletionCreateParamsIgnoreEnum
## Values
| Name | Value |
| ------------------ | ------------------ |
| `ANY_SCALE` | AnyScale |
| `CENT_ML` | Cent-ML |
| `HUGGING_FACE` | HuggingFace |
| `HYPERBOLIC_2` | Hyperbolic 2 |
| `LEPTON` | Lepton |
| `LYNN_2` | Lynn 2 |
| `LYNN` | Lynn |
| `MANCER` | Mancer |
| `MODAL` | Modal |
| `OCTO_AI` | OctoAI |
| `RECURSAL` | Recursal |
| `REFLECTION` | Reflection |
| `REPLICATE` | Replicate |
| `SAMBA_NOVA_2` | SambaNova 2 |
| `SF_COMPUTE` | SF Compute |
| `TOGETHER_2` | Together 2 |
| `ONE_DOT_AI` | 01.AI |
| `AI21` | AI21 |
| `AION_LABS` | AionLabs |
| `ALIBABA` | Alibaba |
| `AMAZON_BEDROCK` | Amazon Bedrock |
| `ANTHROPIC` | Anthropic |
| `ATLAS_CLOUD` | AtlasCloud |
| `ATOMA` | Atoma |
| `AVIAN` | Avian |
| `AZURE` | Azure |
| `BASE_TEN` | BaseTen |
| `CEREBRAS` | Cerebras |
| `CHUTES` | Chutes |
| `CLOUDFLARE` | Cloudflare |
| `COHERE` | Cohere |
| `CROF_AI` | CrofAI |
| `CRUSOE` | Crusoe |
| `DEEP_INFRA` | DeepInfra |
| `DEEP_SEEK` | DeepSeek |
| `ENFER` | Enfer |
| `FEATHERLESS` | Featherless |
| `FIREWORKS` | Fireworks |
| `FRIENDLI` | Friendli |
| `GMI_CLOUD` | GMICloud |
| `GOOGLE` | Google |
| `GOOGLE_AI_STUDIO` | Google AI Studio |
| `GROQ` | Groq |
| `HYPERBOLIC` | Hyperbolic |
| `INCEPTION` | Inception |
| `INFERENCE_NET` | InferenceNet |
| `INFERMATIC` | Infermatic |
| `INFLECTION` | Inflection |
| `INO_CLOUD` | InoCloud |
| `KLUSTER` | Kluster |
| `LAMBDA` | Lambda |
| `LIQUID` | Liquid |
| `MANCER_2` | Mancer 2 |
| `META` | Meta |
| `MINIMAX` | Minimax |
| `MISTRAL` | Mistral |
| `MOONSHOT_AI` | Moonshot AI |
| `MORPH` | Morph |
| `N_COMPASS` | NCompass |
| `NEBIUS` | Nebius |
| `NEXT_BIT` | NextBit |
| `NINETEEN` | Nineteen |
| `NOVITA` | Novita |
| `OPEN_AI` | OpenAI |
| `OPEN_INFERENCE` | OpenInference |
| `PARASAIL` | Parasail |
| `PERPLEXITY` | Perplexity |
| `PHALA` | Phala |
| `SAMBA_NOVA` | SambaNova |
| `STEALTH` | Stealth |
| `SWITCHPOINT` | Switchpoint |
| `TARGON` | Targon |
| `TOGETHER` | Together |
| `UBICLOUD` | Ubicloud |
| `VENICE` | Venice |
| `WAND_B` | WandB |
| `X_AI` | xAI |
| `Z_AI` | Z.AI |
@@ -1,17 +0,0 @@
# ChatStreamCompletionCreateParamsIgnoreUnion
## Supported Types
### `models.ChatStreamCompletionCreateParamsIgnoreEnum`
```python
value: models.ChatStreamCompletionCreateParamsIgnoreEnum = /* values here */
```
### `str`
```python
value: str = /* values here */
```
@@ -1,23 +0,0 @@
# ChatStreamCompletionCreateParamsImage
## Supported Types
### `float`
```python
value: float = /* values here */
```
### `str`
```python
value: str = /* values here */
```
### `Any`
```python
value: Any = /* values here */
```
@@ -1,11 +0,0 @@
# ChatStreamCompletionCreateParamsJSONSchema
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `name` | *str* | :heavy_check_mark: | Schema name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars) |
| `description` | *Optional[str]* | :heavy_minus_sign: | Schema description for the model |
| `schema_` | [Optional[models.ResponseFormatJSONSchemaSchema]](../models/responseformatjsonschemaschema.md) | :heavy_minus_sign: | The schema for the response format, described as a JSON Schema object |
| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | Enable strict schema adherence |
@@ -1,14 +0,0 @@
# ChatStreamCompletionCreateParamsMaxPrice
The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `prompt` | [Optional[models.ChatStreamCompletionCreateParamsPrompt]](../models/chatstreamcompletioncreateparamsprompt.md) | :heavy_minus_sign: | N/A |
| `completion` | [Optional[models.ChatStreamCompletionCreateParamsCompletion]](../models/chatstreamcompletioncreateparamscompletion.md) | :heavy_minus_sign: | N/A |
| `image` | [Optional[models.ChatStreamCompletionCreateParamsImage]](../models/chatstreamcompletioncreateparamsimage.md) | :heavy_minus_sign: | N/A |
| `audio` | [Optional[models.ChatStreamCompletionCreateParamsAudio]](../models/chatstreamcompletioncreateparamsaudio.md) | :heavy_minus_sign: | N/A |
| `request` | [Optional[models.ChatStreamCompletionCreateParamsRequest]](../models/chatstreamcompletioncreateparamsrequest.md) | :heavy_minus_sign: | N/A |
@@ -1,85 +0,0 @@
# ChatStreamCompletionCreateParamsOnlyEnum
## Values
| Name | Value |
| ------------------ | ------------------ |
| `ANY_SCALE` | AnyScale |
| `CENT_ML` | Cent-ML |
| `HUGGING_FACE` | HuggingFace |
| `HYPERBOLIC_2` | Hyperbolic 2 |
| `LEPTON` | Lepton |
| `LYNN_2` | Lynn 2 |
| `LYNN` | Lynn |
| `MANCER` | Mancer |
| `MODAL` | Modal |
| `OCTO_AI` | OctoAI |
| `RECURSAL` | Recursal |
| `REFLECTION` | Reflection |
| `REPLICATE` | Replicate |
| `SAMBA_NOVA_2` | SambaNova 2 |
| `SF_COMPUTE` | SF Compute |
| `TOGETHER_2` | Together 2 |
| `ONE_DOT_AI` | 01.AI |
| `AI21` | AI21 |
| `AION_LABS` | AionLabs |
| `ALIBABA` | Alibaba |
| `AMAZON_BEDROCK` | Amazon Bedrock |
| `ANTHROPIC` | Anthropic |
| `ATLAS_CLOUD` | AtlasCloud |
| `ATOMA` | Atoma |
| `AVIAN` | Avian |
| `AZURE` | Azure |
| `BASE_TEN` | BaseTen |
| `CEREBRAS` | Cerebras |
| `CHUTES` | Chutes |
| `CLOUDFLARE` | Cloudflare |
| `COHERE` | Cohere |
| `CROF_AI` | CrofAI |
| `CRUSOE` | Crusoe |
| `DEEP_INFRA` | DeepInfra |
| `DEEP_SEEK` | DeepSeek |
| `ENFER` | Enfer |
| `FEATHERLESS` | Featherless |
| `FIREWORKS` | Fireworks |
| `FRIENDLI` | Friendli |
| `GMI_CLOUD` | GMICloud |
| `GOOGLE` | Google |
| `GOOGLE_AI_STUDIO` | Google AI Studio |
| `GROQ` | Groq |
| `HYPERBOLIC` | Hyperbolic |
| `INCEPTION` | Inception |
| `INFERENCE_NET` | InferenceNet |
| `INFERMATIC` | Infermatic |
| `INFLECTION` | Inflection |
| `INO_CLOUD` | InoCloud |
| `KLUSTER` | Kluster |
| `LAMBDA` | Lambda |
| `LIQUID` | Liquid |
| `MANCER_2` | Mancer 2 |
| `META` | Meta |
| `MINIMAX` | Minimax |
| `MISTRAL` | Mistral |
| `MOONSHOT_AI` | Moonshot AI |
| `MORPH` | Morph |
| `N_COMPASS` | NCompass |
| `NEBIUS` | Nebius |
| `NEXT_BIT` | NextBit |
| `NINETEEN` | Nineteen |
| `NOVITA` | Novita |
| `OPEN_AI` | OpenAI |
| `OPEN_INFERENCE` | OpenInference |
| `PARASAIL` | Parasail |
| `PERPLEXITY` | Perplexity |
| `PHALA` | Phala |
| `SAMBA_NOVA` | SambaNova |
| `STEALTH` | Stealth |
| `SWITCHPOINT` | Switchpoint |
| `TARGON` | Targon |
| `TOGETHER` | Together |
| `UBICLOUD` | Ubicloud |
| `VENICE` | Venice |
| `WAND_B` | WandB |
| `X_AI` | xAI |
| `Z_AI` | Z.AI |
@@ -1,17 +0,0 @@
# ChatStreamCompletionCreateParamsOnlyUnion
## Supported Types
### `models.ChatStreamCompletionCreateParamsOnlyEnum`
```python
value: models.ChatStreamCompletionCreateParamsOnlyEnum = /* values here */
```
### `str`
```python
value: str = /* values here */
```
@@ -1,85 +0,0 @@
# ChatStreamCompletionCreateParamsOrderEnum
## Values
| Name | Value |
| ------------------ | ------------------ |
| `ANY_SCALE` | AnyScale |
| `CENT_ML` | Cent-ML |
| `HUGGING_FACE` | HuggingFace |
| `HYPERBOLIC_2` | Hyperbolic 2 |
| `LEPTON` | Lepton |
| `LYNN_2` | Lynn 2 |
| `LYNN` | Lynn |
| `MANCER` | Mancer |
| `MODAL` | Modal |
| `OCTO_AI` | OctoAI |
| `RECURSAL` | Recursal |
| `REFLECTION` | Reflection |
| `REPLICATE` | Replicate |
| `SAMBA_NOVA_2` | SambaNova 2 |
| `SF_COMPUTE` | SF Compute |
| `TOGETHER_2` | Together 2 |
| `ONE_DOT_AI` | 01.AI |
| `AI21` | AI21 |
| `AION_LABS` | AionLabs |
| `ALIBABA` | Alibaba |
| `AMAZON_BEDROCK` | Amazon Bedrock |
| `ANTHROPIC` | Anthropic |
| `ATLAS_CLOUD` | AtlasCloud |
| `ATOMA` | Atoma |
| `AVIAN` | Avian |
| `AZURE` | Azure |
| `BASE_TEN` | BaseTen |
| `CEREBRAS` | Cerebras |
| `CHUTES` | Chutes |
| `CLOUDFLARE` | Cloudflare |
| `COHERE` | Cohere |
| `CROF_AI` | CrofAI |
| `CRUSOE` | Crusoe |
| `DEEP_INFRA` | DeepInfra |
| `DEEP_SEEK` | DeepSeek |
| `ENFER` | Enfer |
| `FEATHERLESS` | Featherless |
| `FIREWORKS` | Fireworks |
| `FRIENDLI` | Friendli |
| `GMI_CLOUD` | GMICloud |
| `GOOGLE` | Google |
| `GOOGLE_AI_STUDIO` | Google AI Studio |
| `GROQ` | Groq |
| `HYPERBOLIC` | Hyperbolic |
| `INCEPTION` | Inception |
| `INFERENCE_NET` | InferenceNet |
| `INFERMATIC` | Infermatic |
| `INFLECTION` | Inflection |
| `INO_CLOUD` | InoCloud |
| `KLUSTER` | Kluster |
| `LAMBDA` | Lambda |
| `LIQUID` | Liquid |
| `MANCER_2` | Mancer 2 |
| `META` | Meta |
| `MINIMAX` | Minimax |
| `MISTRAL` | Mistral |
| `MOONSHOT_AI` | Moonshot AI |
| `MORPH` | Morph |
| `N_COMPASS` | NCompass |
| `NEBIUS` | Nebius |
| `NEXT_BIT` | NextBit |
| `NINETEEN` | Nineteen |
| `NOVITA` | Novita |
| `OPEN_AI` | OpenAI |
| `OPEN_INFERENCE` | OpenInference |
| `PARASAIL` | Parasail |
| `PERPLEXITY` | Perplexity |
| `PHALA` | Phala |
| `SAMBA_NOVA` | SambaNova |
| `STEALTH` | Stealth |
| `SWITCHPOINT` | Switchpoint |
| `TARGON` | Targon |
| `TOGETHER` | Together |
| `UBICLOUD` | Ubicloud |
| `VENICE` | Venice |
| `WAND_B` | WandB |
| `X_AI` | xAI |
| `Z_AI` | Z.AI |
@@ -1,17 +0,0 @@
# ChatStreamCompletionCreateParamsOrderUnion
## Supported Types
### `models.ChatStreamCompletionCreateParamsOrderEnum`
```python
value: models.ChatStreamCompletionCreateParamsOrderEnum = /* values here */
```
### `str`
```python
value: str = /* values here */
```
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsPdf
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `engine` | [Optional[models.ChatStreamCompletionCreateParamsPdfEngine]](../models/chatstreamcompletioncreateparamspdfengine.md) | :heavy_minus_sign: | N/A |
@@ -1,10 +0,0 @@
# ChatStreamCompletionCreateParamsPdfEngine
## Values
| Name | Value |
| ------------- | ------------- |
| `MISTRAL_OCR` | mistral-ocr |
| `PDF_TEXT` | pdf-text |
| `NATIVE` | native |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsPluginChainOfThought
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `id` | [models.ChatStreamCompletionCreateParamsIDChainOfThought](../models/chatstreamcompletioncreateparamsidchainofthought.md) | :heavy_check_mark: | N/A |
@@ -1,10 +0,0 @@
# ChatStreamCompletionCreateParamsPluginFileParser
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `id` | [models.ChatStreamCompletionCreateParamsIDFileParser](../models/chatstreamcompletioncreateparamsidfileparser.md) | :heavy_check_mark: | N/A |
| `max_files` | *Optional[float]* | :heavy_minus_sign: | N/A |
| `pdf` | [Optional[models.ChatStreamCompletionCreateParamsPdf]](../models/chatstreamcompletioncreateparamspdf.md) | :heavy_minus_sign: | N/A |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsPluginModeration
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `id` | [models.ChatStreamCompletionCreateParamsIDModeration](../models/chatstreamcompletioncreateparamsidmoderation.md) | :heavy_check_mark: | N/A |
@@ -1,29 +0,0 @@
# ChatStreamCompletionCreateParamsPluginUnion
## Supported Types
### `models.ChatStreamCompletionCreateParamsPluginModeration`
```python
value: models.ChatStreamCompletionCreateParamsPluginModeration = /* values here */
```
### `models.ChatStreamCompletionCreateParamsPluginWeb`
```python
value: models.ChatStreamCompletionCreateParamsPluginWeb = /* values here */
```
### `models.ChatStreamCompletionCreateParamsPluginChainOfThought`
```python
value: models.ChatStreamCompletionCreateParamsPluginChainOfThought = /* values here */
```
### `models.ChatStreamCompletionCreateParamsPluginFileParser`
```python
value: models.ChatStreamCompletionCreateParamsPluginFileParser = /* values here */
```
@@ -1,11 +0,0 @@
# ChatStreamCompletionCreateParamsPluginWeb
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `id` | [models.ChatStreamCompletionCreateParamsIDWeb](../models/chatstreamcompletioncreateparamsidweb.md) | :heavy_check_mark: | N/A |
| `max_results` | *Optional[float]* | :heavy_minus_sign: | N/A |
| `search_prompt` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `engine` | [Optional[models.ChatStreamCompletionCreateParamsEngine]](../models/chatstreamcompletioncreateparamsengine.md) | :heavy_minus_sign: | N/A |
@@ -1,23 +0,0 @@
# ChatStreamCompletionCreateParamsPrompt
## Supported Types
### `float`
```python
value: float = /* values here */
```
### `str`
```python
value: str = /* values here */
```
### `Any`
```python
value: Any = /* values here */
```
@@ -1,18 +0,0 @@
# ChatStreamCompletionCreateParamsProvider
When multiple model providers are available, optionally indicate your routing preference.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `allow_fallbacks` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to allow backup providers to serve requests<br/>- true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.<br/>- false: use only the primary/custom provider, and return the upstream error if it's unavailable.<br/> |
| `require_parameters` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest. |
| `data_collection` | [OptionalNullable[models.ChatStreamCompletionCreateParamsDataCollection]](../models/chatstreamcompletioncreateparamsdatacollection.md) | :heavy_minus_sign: | Data collection setting. If no available model provider meets the requirement, your request will return an error.<br/>- allow: (default) allow providers which store user data non-transiently and may train on it<br/>- deny: use only providers which do not collect user data.<br/> |
| `order` | List[[models.ChatStreamCompletionCreateParamsOrderUnion](../models/chatstreamcompletioncreateparamsorderunion.md)] | :heavy_minus_sign: | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. |
| `only` | List[[models.ChatStreamCompletionCreateParamsOnlyUnion](../models/chatstreamcompletioncreateparamsonlyunion.md)] | :heavy_minus_sign: | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. |
| `ignore` | List[[models.ChatStreamCompletionCreateParamsIgnoreUnion](../models/chatstreamcompletioncreateparamsignoreunion.md)] | :heavy_minus_sign: | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. |
| `quantizations` | List[[models.ChatStreamCompletionCreateParamsQuantization](../models/chatstreamcompletioncreateparamsquantization.md)] | :heavy_minus_sign: | A list of quantization levels to filter the provider by. |
| `sort` | [OptionalNullable[models.ChatStreamCompletionCreateParamsSort]](../models/chatstreamcompletioncreateparamssort.md) | :heavy_minus_sign: | The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. |
| `max_price` | [Optional[models.ChatStreamCompletionCreateParamsMaxPrice]](../models/chatstreamcompletioncreateparamsmaxprice.md) | :heavy_minus_sign: | The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. |
@@ -1,16 +0,0 @@
# ChatStreamCompletionCreateParamsQuantization
## Values
| Name | Value |
| --------- | --------- |
| `INT4` | int4 |
| `INT8` | int8 |
| `FP4` | fp4 |
| `FP6` | fp6 |
| `FP8` | fp8 |
| `FP16` | fp16 |
| `BF16` | bf16 |
| `FP32` | fp32 |
| `UNKNOWN` | unknown |
@@ -1,13 +0,0 @@
# ChatStreamCompletionCreateParamsReasoning
Reasoning configuration
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Enables reasoning with default settings. Only work for some models. |
| `effort` | [OptionalNullable[models.ChatStreamCompletionCreateParamsEffort]](../models/chatstreamcompletioncreateparamseffort.md) | :heavy_minus_sign: | OpenAI-style reasoning effort setting |
| `max_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | non-OpenAI-style reasoning effort setting |
| `exclude` | *Optional[bool]* | :heavy_minus_sign: | N/A |
@@ -1,13 +0,0 @@
# ChatStreamCompletionCreateParamsReasoningEffort
Reasoning effort
## Values
| Name | Value |
| --------- | --------- |
| `HIGH` | high |
| `MEDIUM` | medium |
| `LOW` | low |
| `MINIMAL` | minimal |
@@ -1,23 +0,0 @@
# ChatStreamCompletionCreateParamsRequest
## Supported Types
### `float`
```python
value: float = /* values here */
```
### `str`
```python
value: str = /* values here */
```
### `Any`
```python
value: Any = /* values here */
```
@@ -1,11 +0,0 @@
# ChatStreamCompletionCreateParamsResponseFormatGrammar
Custom grammar response format
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `type` | [models.ChatStreamCompletionCreateParamsTypeGrammar](../models/chatstreamcompletioncreateparamstypegrammar.md) | :heavy_check_mark: | N/A |
| `grammar` | *str* | :heavy_check_mark: | Custom grammar for text generation |
@@ -1,10 +0,0 @@
# ChatStreamCompletionCreateParamsResponseFormatJSONObject
JSON object response format
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `type` | [models.ChatStreamCompletionCreateParamsTypeJSONObject](../models/chatstreamcompletioncreateparamstypejsonobject.md) | :heavy_check_mark: | N/A |
@@ -1,11 +0,0 @@
# ChatStreamCompletionCreateParamsResponseFormatJSONSchema
JSON Schema response format for structured outputs
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `type` | [models.ChatStreamCompletionCreateParamsTypeJSONSchema](../models/chatstreamcompletioncreateparamstypejsonschema.md) | :heavy_check_mark: | N/A |
| `json_schema` | [models.ChatStreamCompletionCreateParamsJSONSchema](../models/chatstreamcompletioncreateparamsjsonschema.md) | :heavy_check_mark: | N/A |
@@ -1,10 +0,0 @@
# ChatStreamCompletionCreateParamsResponseFormatPython
Python code response format
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `type` | [models.ChatStreamCompletionCreateParamsTypePython](../models/chatstreamcompletioncreateparamstypepython.md) | :heavy_check_mark: | N/A |
@@ -1,10 +0,0 @@
# ChatStreamCompletionCreateParamsResponseFormatText
Default text response format
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `type` | [models.ChatStreamCompletionCreateParamsTypeText](../models/chatstreamcompletioncreateparamstypetext.md) | :heavy_check_mark: | N/A |
@@ -1,37 +0,0 @@
# ChatStreamCompletionCreateParamsResponseFormatUnion
Response format configuration
## Supported Types
### `models.ChatStreamCompletionCreateParamsResponseFormatText`
```python
value: models.ChatStreamCompletionCreateParamsResponseFormatText = /* values here */
```
### `models.ChatStreamCompletionCreateParamsResponseFormatJSONObject`
```python
value: models.ChatStreamCompletionCreateParamsResponseFormatJSONObject = /* values here */
```
### `models.ChatStreamCompletionCreateParamsResponseFormatJSONSchema`
```python
value: models.ChatStreamCompletionCreateParamsResponseFormatJSONSchema = /* values here */
```
### `models.ChatStreamCompletionCreateParamsResponseFormatGrammar`
```python
value: models.ChatStreamCompletionCreateParamsResponseFormatGrammar = /* values here */
```
### `models.ChatStreamCompletionCreateParamsResponseFormatPython`
```python
value: models.ChatStreamCompletionCreateParamsResponseFormatPython = /* values here */
```
@@ -1,12 +0,0 @@
# ChatStreamCompletionCreateParamsSort
The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed.
## Values
| Name | Value |
| ------------ | ------------ |
| `PRICE` | price |
| `THROUGHPUT` | throughput |
| `LATENCY` | latency |
@@ -1,25 +0,0 @@
# ChatStreamCompletionCreateParamsStop
Stop sequences (up to 4)
## Supported Types
### `str`
```python
value: str = /* values here */
```
### `List[str]`
```python
value: List[str] = /* values here */
```
### `Any`
```python
value: Any = /* values here */
```
@@ -1,10 +0,0 @@
# ChatStreamCompletionCreateParamsStreamOptions
Streaming configuration options
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- |
| `include_usage` | *Optional[bool]* | :heavy_minus_sign: | Include usage information in streaming response |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsTypeGrammar
## Values
| Name | Value |
| --------- | --------- |
| `GRAMMAR` | grammar |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsTypeJSONObject
## Values
| Name | Value |
| ------------- | ------------- |
| `JSON_OBJECT` | json_object |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsTypeJSONSchema
## Values
| Name | Value |
| ------------- | ------------- |
| `JSON_SCHEMA` | json_schema |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsTypePython
## Values
| Name | Value |
| -------- | -------- |
| `PYTHON` | python |
@@ -1,8 +0,0 @@
# ChatStreamCompletionCreateParamsTypeText
## Values
| Name | Value |
| ------ | ------ |
| `TEXT` | text |
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsAudio # Completion
## Supported Types ## Supported Types
@@ -0,0 +1,17 @@
# CreateChatCompletionResponse
## Supported Types
### `models.ChatCompletion`
```python
value: models.ChatCompletion = /* values here */
```
### `Union[eventstreaming.EventStream[models.ChatCompletionChunkWrapper], eventstreaming.EventStreamAsync[models.ChatCompletionChunkWrapper]]`
```python
value: Union[eventstreaming.EventStream[models.ChatCompletionChunkWrapper], eventstreaming.EventStreamAsync[models.ChatCompletionChunkWrapper]] = /* values here */
```
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsDataCollection # DataCollection
Data collection setting. If no available model provider meets the requirement, your request will return an error. Data collection setting. If no available model provider meets the requirement, your request will return an error.
- allow: (default) allow providers which store user data non-transiently and may train on it - allow: (default) allow providers which store user data non-transiently and may train on it
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsEffort # Effort
OpenAI-style reasoning effort setting OpenAI-style reasoning effort setting
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsEngine # Engine
## Values ## Values
+6 -6
View File
@@ -5,9 +5,9 @@ Error object structure
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description |
| ------------------ | ------------------ | ------------------ | ------------------ | | ----------------------- | ----------------------- | ----------------------- | ----------------------- |
| `code` | *Nullable[str]* | :heavy_check_mark: | N/A | | `code` | *Nullable[float]* | :heavy_check_mark: | N/A |
| `message` | *str* | :heavy_check_mark: | N/A | | `message` | *str* | :heavy_check_mark: | N/A |
| `param` | *Nullable[str]* | :heavy_check_mark: | N/A | | `param` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `type` | *str* | :heavy_check_mark: | N/A | | `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsIDChainOfThought # IDChainOfThought
## Values ## Values
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsIDFileParser # IDFileParser
## Values ## Values
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsIDModeration # IDModeration
## Values ## Values
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsIDWeb # IDWeb
## Values ## Values
+17
View File
@@ -0,0 +1,17 @@
# Ignore
## Supported Types
### `models.IgnoreEnum`
```python
value: models.IgnoreEnum = /* values here */
```
### `str`
```python
value: str = /* values here */
```
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsOnlyEnum # IgnoreEnum
## Values ## Values
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsPrompt # Image
## Supported Types ## Supported Types
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsJSONSchema # JSONSchema
## Fields ## Fields
+14
View File
@@ -0,0 +1,14 @@
# MaxPrice
The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
| `prompt` | [Optional[models.Prompt]](../models/prompt.md) | :heavy_minus_sign: | N/A |
| `completion` | [Optional[models.Completion]](../models/completion.md) | :heavy_minus_sign: | N/A |
| `image` | [Optional[models.Image]](../models/image.md) | :heavy_minus_sign: | N/A |
| `audio` | [Optional[models.Audio]](../models/audio.md) | :heavy_minus_sign: | N/A |
| `request` | [Optional[models.Request]](../models/request.md) | :heavy_minus_sign: | N/A |
+17
View File
@@ -0,0 +1,17 @@
# Only
## Supported Types
### `models.OnlyEnum`
```python
value: models.OnlyEnum = /* values here */
```
### `str`
```python
value: str = /* values here */
```
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsOrderEnum # OnlyEnum
## Values ## Values
+17
View File
@@ -0,0 +1,17 @@
# Order
## Supported Types
### `models.OrderEnum`
```python
value: models.OrderEnum = /* values here */
```
### `str`
```python
value: str = /* values here */
```
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsIgnoreEnum # OrderEnum
## Values ## Values
+8
View File
@@ -0,0 +1,8 @@
# Pdf
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| `engine` | [Optional[models.PdfEngine]](../models/pdfengine.md) | :heavy_minus_sign: | N/A |
@@ -1,4 +1,4 @@
# ChatCompletionCreateParamsPdfEngine # PdfEngine
## Values ## Values
+29
View File
@@ -0,0 +1,29 @@
# Plugin
## Supported Types
### `models.PluginModeration`
```python
value: models.PluginModeration = /* values here */
```
### `models.PluginWeb`
```python
value: models.PluginWeb = /* values here */
```
### `models.PluginChainOfThought`
```python
value: models.PluginChainOfThought = /* values here */
```
### `models.PluginFileParser`
```python
value: models.PluginFileParser = /* values here */
```
+8
View File
@@ -0,0 +1,8 @@
# PluginChainOfThought
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
| `id` | [models.IDChainOfThought](../models/idchainofthought.md) | :heavy_check_mark: | N/A |
+10
View File
@@ -0,0 +1,10 @@
# PluginFileParser
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
| `id` | [models.IDFileParser](../models/idfileparser.md) | :heavy_check_mark: | N/A |
| `max_files` | *Optional[float]* | :heavy_minus_sign: | N/A |
| `pdf` | [Optional[models.Pdf]](../models/pdf.md) | :heavy_minus_sign: | N/A |

Some files were not shown because too many files have changed in this diff Show More