diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index b08cf3b02..0127c9ee7 100644
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,19 +1,19 @@
lockVersion: ""
id: ""
management:
- docChecksum: 426f53823eaf374ddb3abe9068121ac8
+ docChecksum: 2ded202d075718cdd225633db3044dd1
docVersion: 1.0.0
speakeasyVersion: 1.787.0
generationVersion: 2.914.0
- releaseVersion: 1.2.124
- configChecksum: f02ab62e86b54b3ce8d776e734fbbe4a
+ releaseVersion: 1.2.125
+ configChecksum: e3ff9caf20eabc591671996315b1a1cf
repoURL: https://github.com/OpenRouterTeam/typescript-sdk.git
installationURL: https://github.com/OpenRouterTeam/typescript-sdk
published: true
persistentEdits:
- generation_id: 5760809d-2d1e-4b03-8e51-6f0d03cb22e4
- pristine_commit_hash: 2f5437e6601d3efdad2bc06db5a37da2d623478e
- pristine_tree_hash: ba39db851216d15aa43e72c454a63d5fc1de6df9
+ generation_id: e5512b21-c5f1-4497-a8ed-2fa85fb20b7a
+ pristine_commit_hash: 5ef51972fe922d127e4c472dd6798f28da1abb08
+ pristine_tree_hash: 70f2d17abb8fcbbe238f51cd942b2caedbf91674
features:
typescript:
acceptHeaders: 2.81.2
@@ -7425,8 +7425,8 @@ trackedFiles:
deleted: true
docs/models/operations/creatererankrequestbody.mdx:
id: 860a148843a9
- last_write_checksum: sha1:946c4d2034e2b17c9e95a00ac591416877f83d05
- pristine_git_object: b0d4ae440c114942f13e95abd3378df2e1bb4b9b
+ last_write_checksum: sha1:3f5b8a3969b6f931c0e188cd20570f3acf1689c1
+ pristine_git_object: 6069bfca40b6c0aa7c82738dc32055dc8ffa8800
docs/models/operations/creatererankresponse.md:
id: 4ef868bdb264
last_write_checksum: sha1:6b2661a6676d3014c5bf3446b54f5427de03ea20
@@ -11511,8 +11511,8 @@ trackedFiles:
deleted: true
docs/models/speechrequest.mdx:
id: c9e3c03ff84e
- last_write_checksum: sha1:269113dd7d037dcbe7177355591441e938bb67dc
- pristine_git_object: a10c5fc162a986fb3f7df67cccf8c9a08fbfdb9e
+ last_write_checksum: sha1:1e634e4b83c21b0c773972f98b8cadd41bbd0b39
+ pristine_git_object: 0da40cae37f01c5e626c29c9b29eb66d02f20af5
docs/models/speechrequestoptions.md:
id: 2d3d36e99ad0
last_write_checksum: sha1:a5810a37b774c3e34bb1d943b64620bc31de2278
@@ -11723,8 +11723,8 @@ trackedFiles:
deleted: true
docs/models/sttrequest.mdx:
id: 3db98eb65064
- last_write_checksum: sha1:22c2254693e99adce612bd299d9d7d1e57299717
- pristine_git_object: a73202bfd583b6a408e4404d0c9aaae2cd621ed9
+ last_write_checksum: sha1:065b42557cadbf57c8816665bb4a223f4fece16c
+ pristine_git_object: d368970784e1633176e149b56f7da5c470e30047
docs/models/sttrequestprovider.md:
id: 6c1330c9d45f
last_write_checksum: sha1:6f6b7c1c0fb5efbb016f5e6a4bc34b4086e4a903
@@ -12738,8 +12738,8 @@ trackedFiles:
deleted: true
docs/models/videogenerationrequest.mdx:
id: d611129166e2
- last_write_checksum: sha1:80b76a39477615b070106dc9a7d55f3cab8c1a9a
- pristine_git_object: 92dc21577ce10a4255b5aab389576dd39f190573
+ last_write_checksum: sha1:e0963a51a40978b1db2e7dc6c042dab5d5bf6e17
+ pristine_git_object: b915fc474bc447873604ff419288cde99ddab769
docs/models/videogenerationrequestaspectratio.md:
id: 2ecaa5a363b2
last_write_checksum: sha1:434fd315824c2f5c2faa62de0d95ecfdd04fda9a
@@ -13321,12 +13321,12 @@ trackedFiles:
pristine_git_object: 410efafd6a7f50d91ccb87131fedbe0c3d47e15a
jsr.json:
id: 7f6ab7767282
- last_write_checksum: sha1:7ab7aee4f6b04bb4a9746324cbd5f877eb7c2882
- pristine_git_object: 1b3693f56daed24fcefbfa8708931ed368e28377
+ last_write_checksum: sha1:3fb5558059d0cf630ee194dc93e997a7870308ad
+ pristine_git_object: 04b8d08e14856636f34508e392d52eeb2839d8db
package.json:
id: 7030d0b2f71b
- last_write_checksum: sha1:08e3b642cc5ad6d84762e908e42525a3295d3cb4
- pristine_git_object: ac98f5d6d1523f9f9aaa8da7be28683513f4264f
+ last_write_checksum: sha1:847ac74d1337a5c7604ad958140bc16116798a72
+ pristine_git_object: 77b8dfe521b753152587775ca8b2a41c00c06368
src/core.ts:
id: f431fdbcd144
last_write_checksum: sha1:5aa66b0b6a5964f3eea7f3098c2eb3c0ee9c0131
@@ -13769,8 +13769,8 @@ trackedFiles:
pristine_git_object: a187e58707bdb726ca2aff74941efe7493422d4e
src/lib/config.ts:
id: 320761608fb3
- last_write_checksum: sha1:295b156f6776bee36230b063923a4bc91040266e
- pristine_git_object: 47e0b917c7177645db03258bbddd3160e18aa52b
+ last_write_checksum: sha1:4dc6bca794dcde03ae1ef1d200ae5f61165d8203
+ pristine_git_object: d7c4f930d945d907a8754580977128b1c751a39e
src/lib/dlv.ts:
id: b1988214835a
last_write_checksum: sha1:eaac763b22717206a6199104e0403ed17a4e2711
@@ -15639,8 +15639,8 @@ trackedFiles:
pristine_git_object: f9b360bb3d14c0200ed02833f77c61ef5f525690
src/models/operations/creatererank.ts:
id: e1de55b94363
- last_write_checksum: sha1:40ef74bf0e95e9211dcf907f5b36317434866f4b
- pristine_git_object: df967772e7e6883baee84ce4de8962ebeacdbf43
+ last_write_checksum: sha1:eddcbe1dfdd56dc1c2b6e00babb6cc244e2e7905
+ pristine_git_object: 34a087aa502dbda91947b6578f67c807fb1fc69b
src/models/operations/createresponses.ts:
id: 7ad611b27e9d
last_write_checksum: sha1:125b46a7a9f280d03bdc01c3a2e771342ef3ab47
@@ -16515,8 +16515,8 @@ trackedFiles:
pristine_git_object: dd8e518866345a2b921986bff08878e424f3c69f
src/models/speechrequest.ts:
id: 96d573d68420
- last_write_checksum: sha1:0063025913e073f9085f597e283cafb3f8ef3d97
- pristine_git_object: 786077e8acff1967d2ef763380f721a53534c984
+ last_write_checksum: sha1:e3ac505abd779cb06b83b76ccc96d0ec6f2254e7
+ pristine_git_object: 76edcf3a01015688701f234816bf21fdedb2016b
src/models/stopservertoolswhencondition.ts:
id: 3c90e3993bad
last_write_checksum: sha1:b95847e6581593c6f1106971d0508acb2cce1106
@@ -16583,8 +16583,8 @@ trackedFiles:
pristine_git_object: 48c884de16729adba8d45fb09a6e3fd292925570
src/models/sttrequest.ts:
id: 3be8453c0517
- last_write_checksum: sha1:6c1655746cbfc4a4de0fcf9ae2f667d0470c35e3
- pristine_git_object: a5a34acaba5770d798829482948b0c3ee24069a7
+ last_write_checksum: sha1:26794bd4a9819376916d2851c43f1028cfb3a6a0
+ pristine_git_object: 81f755c0b83b240ece51b267f98052d2d15be9bf
src/models/sttresponse.ts:
id: 383a6e21047b
last_write_checksum: sha1:caf1496912c71478147c631a755b6c01c94ff434
@@ -16795,8 +16795,8 @@ trackedFiles:
pristine_git_object: 43658c2bafcbeba1e20a00c131167f8bef08d03c
src/models/videogenerationrequest.ts:
id: e72ea2e4c5b3
- last_write_checksum: sha1:f68a965f835c8cdcea6615730927d8631d8eb540
- pristine_git_object: 4dabb613a225b9ec5cc838a2a864ddd9a83b4473
+ last_write_checksum: sha1:cd9f959ba32d35c4743b63e805cfd9bf737eee0a
+ pristine_git_object: e2a31689b3af0ca64586497ef2ea9846a516e6a7
src/models/videogenerationresponse.ts:
id: 0a96c6ee9eea
last_write_checksum: sha1:73c631114adc4f4076585919439c06126aa6d55f
@@ -19036,7 +19036,4 @@ examples:
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
examplesVersion: 1.0.2
-releaseNotes: |
- ## Typescript SDK Changes:
- * `openrouter.guardrails.update()`: `error.status[403]` **Added**
- * `openrouter.guardrails.bulkAssignKeys()`: `error.status[403]` **Added**
+releaseNotes: "## Typescript SDK Changes:\n* `openrouter.tts.createSpeech()`: \n * `request.speechRequest.user` **Added**\n* `openrouter.stt.createTranscription()`: \n * `request.sttRequest.user` **Added**\n* `openrouter.rerank.rerank()`: \n * `request.requestBody.user` **Added**\n* `openrouter.videoGeneration.generate()`: \n * `request.videoGenerationRequest.user` **Added**\n"
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 997548def..fa8cf19bb 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -37,7 +37,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
typescript:
- version: 1.2.124
+ version: 1.2.125
acceptHeaderEnum: false
additionalDependencies:
dependencies:
diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml
index 3bf588321..7cb60a4f5 100644
--- a/.speakeasy/out.openapi.yaml
+++ b/.speakeasy/out.openapi.yaml
@@ -10986,6 +10986,7 @@ components:
user:
description: 'A stable identifier for your end-users. Used to help detect and prevent abuse. Never sent to providers verbatim: for providers whose data policy requires user IDs, it is folded into a hashed, per-account upstream user identifier.'
example: 'end-user-abc123'
+ maxLength: 256
type: 'string'
required:
- 'model'
@@ -24623,6 +24624,11 @@ components:
example: 1
format: 'double'
type: 'number'
+ user:
+ description: 'A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.'
+ example: 'user-1234'
+ maxLength: 256
+ type: 'string'
voice:
description: 'Voice identifier (provider-specific).'
example: 'en_paul_neutral'
@@ -25124,6 +25130,11 @@ components:
items:
$ref: '#/components/schemas/STTTimestampGranularity'
type: 'array'
+ user:
+ description: 'A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.'
+ example: 'user-1234'
+ maxLength: 256
+ type: 'string'
required:
- 'model'
- 'input_audio'
@@ -27277,6 +27288,11 @@ components:
exclusiveMinimum: true
minimum: 0
type: 'number'
+ user:
+ description: 'A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.'
+ example: 'user-1234'
+ maxLength: 256
+ type: 'string'
required:
- 'model'
type: 'object'
@@ -39528,6 +39544,11 @@ paths:
example: 3
minimum: 1
type: 'integer'
+ user:
+ description: 'A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.'
+ example: 'user-1234'
+ maxLength: 256
+ type: 'string'
required:
- 'model'
- 'query'
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 9a6480fc8..17f323518 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -2,8 +2,8 @@ speakeasyVersion: 1.787.0
sources:
OpenRouter API:
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:849c6f58cf8db0ffdd2ab83118b24d209dc178230ef17209842a12b6c403eb7a
- sourceBlobDigest: sha256:d4f10592a59f736f73cba068e0705361bc4c1bd83b64194af851e1b3c72cdea1
+ sourceRevisionDigest: sha256:94119218e826d65f718b70995cbb3ce16b4ac41f2cd5f9843566ef724040c103
+ sourceBlobDigest: sha256:b24149bc343f8c0305a7172eb4e603613c945802e7727bad0cd48bbda48d6f5b
tags:
- latest
- 1.0.0
@@ -11,10 +11,10 @@ targets:
openrouter:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:849c6f58cf8db0ffdd2ab83118b24d209dc178230ef17209842a12b6c403eb7a
- sourceBlobDigest: sha256:d4f10592a59f736f73cba068e0705361bc4c1bd83b64194af851e1b3c72cdea1
+ sourceRevisionDigest: sha256:94119218e826d65f718b70995cbb3ce16b4ac41f2cd5f9843566ef724040c103
+ sourceBlobDigest: sha256:b24149bc343f8c0305a7172eb4e603613c945802e7727bad0cd48bbda48d6f5b
codeSamplesNamespace: open-router-chat-completions-api-typescript-code-samples
- codeSamplesRevisionDigest: sha256:9745c1c9d2213f56f1f017bbe069bdf1c8f959678f8bfbc3fc82249fb7544aec
+ codeSamplesRevisionDigest: sha256:88861adf699f07669b5486a4259dca38b02fd117f084fd2f3385e9041d42200b
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
diff --git a/RELEASES.md b/RELEASES.md
index 94e192c46..d7b61813d 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -3536,4 +3536,14 @@ Based on:
### Generated
- [typescript v1.2.124] .
### Releases
-- [NPM v1.2.124] https://www.npmjs.com/package/@openrouter/sdk/v/1.2.124 - .
\ No newline at end of file
+- [NPM v1.2.124] https://www.npmjs.com/package/@openrouter/sdk/v/1.2.124 - .
+
+## 2026-09-15 20:25:22
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [typescript v1.2.125] .
+### Releases
+- [NPM v1.2.125] https://www.npmjs.com/package/@openrouter/sdk/v/1.2.125 - .
\ No newline at end of file
diff --git a/docs/models/operations/creatererankrequestbody.mdx b/docs/models/operations/creatererankrequestbody.mdx
index b0d4ae440..6069bfca4 100644
--- a/docs/models/operations/creatererankrequestbody.mdx
+++ b/docs/models/operations/creatererankrequestbody.mdx
@@ -21,10 +21,11 @@ let value: CreateRerankRequestBody = {
## Fields
-| Field | Type | Required | Description | Example |
-| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
-| `documents` | *operations.Document*[] | :heavy_check_mark: | The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models. | [
"Paris is the capital of France.",
"Berlin is the capital of Germany."
] |
-| `model` | *string* | :heavy_check_mark: | The rerank model to use | cohere/rerank-v3.5 |
-| `provider` | [models.ProviderPreferences](../../models/providerpreferences.mdx) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
-| `query` | *string* | :heavy_check_mark: | The search query to rerank documents against | What is the capital of France? |
-| `topN` | *number* | :heavy_minus_sign: | Number of most relevant documents to return | 3 |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
+| `documents` | *operations.Document*[] | :heavy_check_mark: | The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models. | [
"Paris is the capital of France.",
"Berlin is the capital of Germany."
] |
+| `model` | *string* | :heavy_check_mark: | The rerank model to use | cohere/rerank-v3.5 |
+| `provider` | [models.ProviderPreferences](../../models/providerpreferences.mdx) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
+| `query` | *string* | :heavy_check_mark: | The search query to rerank documents against | What is the capital of France? |
+| `topN` | *number* | :heavy_minus_sign: | Number of most relevant documents to return | 3 |
+| `user` | *string* | :heavy_minus_sign: | A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider. | user-1234 |
\ No newline at end of file
diff --git a/docs/models/speechrequest.mdx b/docs/models/speechrequest.mdx
index a10c5fc16..0da40cae3 100644
--- a/docs/models/speechrequest.mdx
+++ b/docs/models/speechrequest.mdx
@@ -25,4 +25,5 @@ let value: SpeechRequest = {
| `provider` | [models.SpeechRequestProvider](../models/speechrequestprovider.mdx) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
| `responseFormat` | [models.SpeechRequestResponseFormat](../models/speechrequestresponseformat.mdx) | :heavy_minus_sign: | Audio output format | pcm |
| `speed` | *number* | :heavy_minus_sign: | Playback speed multiplier. Only used by models that support it (e.g. OpenAI TTS). Ignored by other providers. | 1 |
+| `user` | *string* | :heavy_minus_sign: | A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider. | user-1234 |
| `voice` | *string* | :heavy_minus_sign: | Voice identifier (provider-specific). | en_paul_neutral |
\ No newline at end of file
diff --git a/docs/models/sttrequest.mdx b/docs/models/sttrequest.mdx
index a73202bfd..d36897078 100644
--- a/docs/models/sttrequest.mdx
+++ b/docs/models/sttrequest.mdx
@@ -28,4 +28,5 @@ let value: STTRequest = {
| `provider` | [models.STTRequestProvider](../models/sttrequestprovider.mdx) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
| `responseFormat` | [models.STTRequestResponseFormat](../models/sttrequestresponseformat.mdx) | :heavy_minus_sign: | Output format. "json" (default) returns \{ text, usage }. "verbose_json" additionally returns task, language, duration, and segment-level timestamps; only supported by OpenAI-compatible providers. | json |
| `temperature` | *number* | :heavy_minus_sign: | Sampling temperature for transcription | 0 |
-| `timestampGranularities` | [models.STTTimestampGranularity](../models/stttimestampgranularity.mdx)[] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "segment" returns segment-level timestamps; "word" additionally returns word-level timestamps in the words array. Ignored unless response_format is "verbose_json". | [
"segment"
] |
\ No newline at end of file
+| `timestampGranularities` | [models.STTTimestampGranularity](../models/stttimestampgranularity.mdx)[] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "segment" returns segment-level timestamps; "word" additionally returns word-level timestamps in the words array. Ignored unless response_format is "verbose_json". | [
"segment"
] |
+| `user` | *string* | :heavy_minus_sign: | A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider. | user-1234 |
\ No newline at end of file
diff --git a/docs/models/videogenerationrequest.mdx b/docs/models/videogenerationrequest.mdx
index 92dc21577..b915fc474 100644
--- a/docs/models/videogenerationrequest.mdx
+++ b/docs/models/videogenerationrequest.mdx
@@ -29,4 +29,5 @@ let value: VideoGenerationRequest = {
| `resolution` | [models.VideoGenerationRequestResolution](../models/videogenerationrequestresolution.mdx) | :heavy_minus_sign: | Resolution of the generated video | 720p |
| `seed` | *number* | :heavy_minus_sign: | If specified, the generation will sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed for all providers. | |
| `size` | *string* | :heavy_minus_sign: | Exact pixel dimensions of the generated video in "WIDTHxHEIGHT" format (e.g. "1280x720"). Interchangeable with resolution + aspect_ratio. | 1280x720 |
-| `upscaleFactor` | *number* | :heavy_minus_sign: | Upscale factor for video upscaling models only. This parameter is not supported by video generation models. | 2 |
\ No newline at end of file
+| `upscaleFactor` | *number* | :heavy_minus_sign: | Upscale factor for video upscaling models only. This parameter is not supported by video generation models. | 2 |
+| `user` | *string* | :heavy_minus_sign: | A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider. | user-1234 |
\ No newline at end of file
diff --git a/jsr.json b/jsr.json
index 1b3693f56..04b8d08e1 100644
--- a/jsr.json
+++ b/jsr.json
@@ -2,7 +2,7 @@
{
"name": "@openrouter/sdk",
- "version": "1.2.124",
+ "version": "1.2.125",
"exports": {
".": "./src/index.ts",
"./models/errors": "./src/models/errors/index.ts",
diff --git a/package.json b/package.json
index aef71e379..ee5e00094 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@openrouter/sdk",
- "version": "1.2.124",
+ "version": "1.2.125",
"author": "OpenRouter",
"description": "The OpenRouter TypeScript SDK is a type-safe toolkit for building AI applications with access to 400+ language models through a unified API.",
"keywords": [
@@ -73,15 +73,15 @@
"lint": "eslint --cache --max-warnings=0 src",
"build": "tsc",
"prepublishOnly": "npm run build",
- "typecheck:transit": "exit 0",
+ "compile": "tsc",
+ "postinstall": "node scripts/check-types.js || true",
"prepare": "npm run build",
"test:e2e": "vitest --run --project e2e",
+ "test:transit": "exit 0",
"typecheck": "tsc --noEmit",
- "compile": "tsc",
- "postinstall": "node scripts/check-types.js || true",
"test": "vitest --run --project unit",
- "test:transit": "exit 0",
- "test:watch": "vitest --watch --project unit"
+ "test:watch": "vitest --watch --project unit",
+ "typecheck:transit": "exit 0"
},
"peerDependencies": {},
"devDependencies": {
diff --git a/src/lib/config.ts b/src/lib/config.ts
index 2bee6f7cc..be438da62 100644
--- a/src/lib/config.ts
+++ b/src/lib/config.ts
@@ -79,7 +79,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
export const SDK_METADATA = {
language: "typescript",
openapiDocVersion: "1.0.0",
- sdkVersion: "1.2.124",
+ sdkVersion: "1.2.125",
genVersion: "2.914.0",
- userAgent: "speakeasy-sdk/typescript 1.2.124 2.914.0 1.0.0 @openrouter/sdk",
+ userAgent: "speakeasy-sdk/typescript 1.2.125 2.914.0 1.0.0 @openrouter/sdk",
} as const;
diff --git a/src/models/operations/creatererank.ts b/src/models/operations/creatererank.ts
index df967772e..34a087aa5 100644
--- a/src/models/operations/creatererank.ts
+++ b/src/models/operations/creatererank.ts
@@ -72,6 +72,10 @@ export type CreateRerankRequestBody = {
* Number of most relevant documents to return
*/
topN?: number | undefined;
+ /**
+ * A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.
+ */
+ user?: string | undefined;
};
export type CreateRerankRequest = {
@@ -214,6 +218,7 @@ export type CreateRerankRequestBody$Outbound = {
provider?: models.ProviderPreferences$Outbound | null | undefined;
query: string;
top_n?: number | undefined;
+ user?: string | undefined;
};
/** @internal */
@@ -228,6 +233,7 @@ export const CreateRerankRequestBody$outboundSchema: z.ZodType<
provider: z.nullable(models.ProviderPreferences$outboundSchema).optional(),
query: z.string(),
topN: z.int().optional(),
+ user: z.string().optional(),
}).transform((v) => {
return remap$(v, {
topN: "top_n",
diff --git a/src/models/speechrequest.ts b/src/models/speechrequest.ts
index 786077e8a..76edcf3a0 100644
--- a/src/models/speechrequest.ts
+++ b/src/models/speechrequest.ts
@@ -70,6 +70,10 @@ export type SpeechRequest = {
* Playback speed multiplier. Only used by models that support it (e.g. OpenAI TTS). Ignored by other providers.
*/
speed?: number | undefined;
+ /**
+ * A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.
+ */
+ user?: string | undefined;
/**
* Voice identifier (provider-specific).
*/
@@ -111,6 +115,7 @@ export type SpeechRequest$Outbound = {
provider?: SpeechRequestProvider$Outbound | undefined;
response_format: string;
speed?: number | undefined;
+ user?: string | undefined;
voice?: string | undefined;
};
@@ -125,6 +130,7 @@ export const SpeechRequest$outboundSchema: z.ZodType<
provider: z.lazy(() => SpeechRequestProvider$outboundSchema).optional(),
responseFormat: SpeechRequestResponseFormat$outboundSchema.default("pcm"),
speed: z.number().optional(),
+ user: z.string().optional(),
voice: z.string().optional(),
}).transform((v) => {
return remap$(v, {
diff --git a/src/models/sttrequest.ts b/src/models/sttrequest.ts
index a5a34acab..81f755c0b 100644
--- a/src/models/sttrequest.ts
+++ b/src/models/sttrequest.ts
@@ -78,6 +78,10 @@ export type STTRequest = {
* Timestamp detail levels to include when response_format is "verbose_json". "segment" returns segment-level timestamps; "word" additionally returns word-level timestamps in the words array. Ignored unless response_format is "verbose_json".
*/
timestampGranularities?: Array | undefined;
+ /**
+ * A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.
+ */
+ user?: string | undefined;
};
/** @internal */
@@ -116,6 +120,7 @@ export type STTRequest$Outbound = {
response_format?: string | undefined;
temperature?: number | undefined;
timestamp_granularities?: Array | undefined;
+ user?: string | undefined;
};
/** @internal */
@@ -131,6 +136,7 @@ export const STTRequest$outboundSchema: z.ZodType<
temperature: z.number().optional(),
timestampGranularities: z.array(STTTimestampGranularity$outboundSchema)
.optional(),
+ user: z.string().optional(),
}).transform((v) => {
return remap$(v, {
inputAudio: "input_audio",
diff --git a/src/models/videogenerationrequest.ts b/src/models/videogenerationrequest.ts
index 4dabb613a..e2a31689b 100644
--- a/src/models/videogenerationrequest.ts
+++ b/src/models/videogenerationrequest.ts
@@ -266,6 +266,10 @@ export type VideoGenerationRequest = {
* Upscale factor for video upscaling models only. This parameter is not supported by video generation models.
*/
upscaleFactor?: number | undefined;
+ /**
+ * A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.
+ */
+ user?: string | undefined;
};
/** @internal */
@@ -656,6 +660,7 @@ export type VideoGenerationRequest$Outbound = {
seed?: number | undefined;
size?: string | undefined;
upscale_factor?: number | undefined;
+ user?: string | undefined;
};
/** @internal */
@@ -678,6 +683,7 @@ export const VideoGenerationRequest$outboundSchema: z.ZodType<
seed: z.int().optional(),
size: z.string().optional(),
upscaleFactor: z.number().optional(),
+ user: z.string().optional(),
}).transform((v) => {
return remap$(v, {
aspectRatio: "aspect_ratio",