Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "4.13.2"
".": "4.14.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 59
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-b9f8776472c5558535b3c872d339d7a597c81666450a9c9f5e617cb2ab937c35.yml
openapi_spec_hash: 1e2e114b299226837005450ec47aef7f
config_hash: 95e64e640428abd4184a48762d9fd5f8
configured_endpoints: 63
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-61ede23e7f824f2713cf355317945b22af4ce8c00e247dff73695506569b7f09.yml
openapi_spec_hash: 377f276334721ace39ca5f97395bb336
config_hash: 8bd51a43d85b7a841080e78e6f673b63
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 4.14.0 (2026-08-07)

Full Changelog: [v4.13.2...v4.14.0](https://github.com/runwayml/sdk-node/compare/v4.13.2...v4.14.0)

### Features

* **api:** api update ([fc9fbdf](https://github.com/runwayml/sdk-node/commit/fc9fbdf3757789176250a597021e96d60e943bfe))
* **api:** manual updates ([329e6cc](https://github.com/runwayml/sdk-node/commit/329e6cc1b562daa715d93f8845bc3d1b9d51723c))

## 4.13.2 (2026-07-30)

Full Changelog: [v4.13.1...v4.13.2](https://github.com/runwayml/sdk-node/compare/v4.13.1...v4.13.2)
Expand Down
1 change: 1 addition & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ This affects the following methods:

- `client.routers.update()`
- `client.organization.retrieveUsage()`
- `client.organization.webapp.auditLogs.retrieve()`
- `client.avatars.update()`
- `client.documents.update()`
- `client.voices.update()`
Expand Down
34 changes: 30 additions & 4 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,8 @@ Methods:

Types:

- <code><a href="./src/resources/generate/audio.ts">ReferenceVoice</a></code>
- <code><a href="./src/resources/generate/audio.ts">ReferenceAudio</a></code>
- <code><a href="./src/resources/generate/audio.ts">AudioCreateResponse</a></code>

Methods:
Expand All @@ -169,6 +171,7 @@ Types:
- <code><a href="./src/resources/routers.ts">RouterRetrieveResponse</a></code>
- <code><a href="./src/resources/routers.ts">RouterUpdateResponse</a></code>
- <code><a href="./src/resources/routers.ts">RouterListResponse</a></code>
- <code><a href="./src/resources/routers.ts">RouterListRequestsResponse</a></code>

Methods:

Expand All @@ -177,18 +180,41 @@ Methods:
- <code title="patch /v1/routers/{id}">client.routers.<a href="./src/resources/routers.ts">update</a>(id, { ...params }) -> RouterUpdateResponse</code>
- <code title="get /v1/routers">client.routers.<a href="./src/resources/routers.ts">list</a>({ ...params }) -> RouterListResponsesCursorPage</code>
- <code title="delete /v1/routers/{id}">client.routers.<a href="./src/resources/routers.ts">delete</a>(id) -> void</code>
- <code title="get /v1/routers/{id}/requests">client.routers.<a href="./src/resources/routers.ts">listRequests</a>(id, { ...params }) -> RouterListRequestsResponsesCursorPage</code>

# Organization

Types:

- <code><a href="./src/resources/organization.ts">OrganizationRetrieveResponse</a></code>
- <code><a href="./src/resources/organization.ts">OrganizationRetrieveUsageResponse</a></code>
- <code><a href="./src/resources/organization/organization.ts">OrganizationRetrieveResponse</a></code>
- <code><a href="./src/resources/organization/organization.ts">OrganizationRetrieveUsageResponse</a></code>

Methods:

- <code title="get /v1/organization">client.organization.<a href="./src/resources/organization.ts">retrieve</a>() -> OrganizationRetrieveResponse</code>
- <code title="post /v1/organization/usage">client.organization.<a href="./src/resources/organization.ts">retrieveUsage</a>({ ...params }) -> OrganizationRetrieveUsageResponse</code>
- <code title="get /v1/organization">client.organization.<a href="./src/resources/organization/organization.ts">retrieve</a>() -> OrganizationRetrieveResponse</code>
- <code title="post /v1/organization/usage">client.organization.<a href="./src/resources/organization/organization.ts">retrieveUsage</a>({ ...params }) -> OrganizationRetrieveUsageResponse</code>

## Webapp

Types:

- <code><a href="./src/resources/organization/webapp/webapp.ts">WebappListUsageResponse</a></code>

Methods:

- <code title="get /v1/organization/webapp/usage">client.organization.webapp.<a href="./src/resources/organization/webapp/webapp.ts">listUsage</a>({ ...params }) -> WebappListUsageResponsesCursorPage</code>

### AuditLogs

Types:

- <code><a href="./src/resources/organization/webapp/audit-logs.ts">AuditLogRetrieveResponse</a></code>
- <code><a href="./src/resources/organization/webapp/audit-logs.ts">AuditLogListResponse</a></code>

Methods:

- <code title="get /v1/organization/webapp/audit_logs/{eventId}">client.organization.webapp.auditLogs.<a href="./src/resources/organization/webapp/audit-logs.ts">retrieve</a>(eventID, { ...params }) -> AuditLogRetrieveResponse</code>
- <code title="get /v1/organization/webapp/audit_logs">client.organization.webapp.auditLogs.<a href="./src/resources/organization/webapp/audit-logs.ts">list</a>({ ...params }) -> AuditLogListResponsesCursorPage</code>

# Avatars

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@runwayml/sdk",
"version": "4.13.2",
"version": "4.14.0",
"description": "The official TypeScript library for the RunwayML API",
"author": "RunwayML <dev-feedback@runwayml.com>",
"types": "dist/index.d.ts",
Expand Down
18 changes: 12 additions & 6 deletions src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,6 @@ import {
ImageUpscaleCreateParams,
ImageUpscaleCreateResponse,
} from './resources/image-upscale';
import {
Organization,
OrganizationRetrieveResponse,
OrganizationRetrieveUsageParams,
OrganizationRetrieveUsageResponse,
} from './resources/organization';
import {
DeprecatedLivekit,
RealtimeSessionCreateParams,
Expand Down Expand Up @@ -99,6 +93,9 @@ import {
RouterCreateParams,
RouterCreateResponse,
RouterListParams,
RouterListRequestsParams,
RouterListRequestsResponse,
RouterListRequestsResponsesCursorPage,
RouterListResponse,
RouterListResponsesCursorPage,
RouterRetrieveResponse,
Expand Down Expand Up @@ -163,6 +160,12 @@ import {
Workflows,
} from './resources/workflows';
import { Generate } from './resources/generate/generate';
import {
Organization,
OrganizationRetrieveResponse,
OrganizationRetrieveUsageParams,
OrganizationRetrieveUsageResponse,
} from './resources/organization/organization';
import { type Fetch } from './internal/builtin-types';
import { isRunningInBrowser } from './internal/detect-platform';
import { HeadersLike, NullableHeaders, buildHeaders } from './internal/headers';
Expand Down Expand Up @@ -1105,10 +1108,13 @@ export declare namespace RunwayML {
type RouterRetrieveResponse as RouterRetrieveResponse,
type RouterUpdateResponse as RouterUpdateResponse,
type RouterListResponse as RouterListResponse,
type RouterListRequestsResponse as RouterListRequestsResponse,
type RouterListResponsesCursorPage as RouterListResponsesCursorPage,
type RouterListRequestsResponsesCursorPage as RouterListRequestsResponsesCursorPage,
type RouterCreateParams as RouterCreateParams,
type RouterUpdateParams as RouterUpdateParams,
type RouterListParams as RouterListParams,
type RouterListRequestsParams as RouterListRequestsParams,
};

export {
Expand Down
19 changes: 19 additions & 0 deletions src/resources/character-performance.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,25 @@ export interface CharacterPerformanceCreateResponse {
* The ID of the task that was created. Use this to retrieve the task later.
*/
id: string;

/**
* The maximum credits this task may charge. The final amount may be lower after
* the task completes.
*/
estimatedCost: CharacterPerformanceCreateResponse.EstimatedCost;
}

export namespace CharacterPerformanceCreateResponse {
/**
* The maximum credits this task may charge. The final amount may be lower after
* the task completes.
*/
export interface EstimatedCost {
/**
* Estimated cost of the generation in credits.
*/
credits: number;
}
}

export interface CharacterPerformanceCreateParams {
Expand Down
84 changes: 57 additions & 27 deletions src/resources/generate/audio.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../core/resource';
import * as AudioAPI from './audio';
import { RequestOptions } from '../../internal/request-options';
import { APIPromiseWithAwaitableTask, wrapAsWaitableResource } from '../../lib/polling';

Expand All @@ -20,6 +21,30 @@ export class Audio extends APIResource {
}
}

/**
* Clone a voice from a reference audio clip, then speak promptText in that voice.
* Routes only to models that support voice cloning.
*/
export interface ReferenceVoice {
/**
* A HTTPS URL, Runway upload URI, or base64 data URI (e.g.
* `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See
* [our docs](/assets/inputs#audio) on audio inputs for more information.
*/
audioUri: string;

type: 'reference-audio';
}

export interface ReferenceAudio {
/**
* A HTTPS URL, Runway upload URI, or base64 data URI (e.g.
* `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See
* [our docs](/assets/inputs#audio) on audio inputs for more information.
*/
uri: string;
}

export interface AudioCreateResponse {
/**
* The ID of the created task. Poll GET /v1/tasks/:id for the result.
Expand Down Expand Up @@ -67,6 +92,12 @@ export namespace AudioCreateResponse {
* The resolved config settings the router used for this request.
*/
resolvedSettings: Routing.ResolvedSettings;

/**
* Present only when the config enables fallback.onCapacity and capacity affected
* this request.
*/
capacityFallback?: Routing.CapacityFallback;
}

export namespace Routing {
Expand Down Expand Up @@ -114,6 +145,24 @@ export namespace AudioCreateResponse {
*/
priceCeiling: number | null;
}

/**
* Present only when the config enables fallback.onCapacity and capacity affected
* this request.
*/
export interface CapacityFallback {
/**
* True when every eligible model was at its concurrency limit, so the best-ranked
* model was used and the task will queue.
*/
allExhausted: boolean;

/**
* Eligible models that were considered for this request but not selected because
* this account is at its concurrency limit for them.
*/
skipped: Array<string>;
}
}
}

Expand Down Expand Up @@ -166,25 +215,16 @@ export namespace AudioCreateParams {
* support them. Reference each clip in promptText as @Audio1, @Audio2, and @Audio3
* in order.
*/
referenceAudios?: Array<Input.ReferenceAudio>;
referenceAudios?: Array<AudioAPI.ReferenceAudio>;

/**
* The voice to speak with. When omitted, models that support a default voice
* remain eligible.
*/
voice?: Input.Preset | Input.ReferenceAudio;
voice?: Input.Preset | AudioAPI.ReferenceVoice;
}

export namespace Input {
export interface ReferenceAudio {
/**
* A HTTPS URL, Runway upload URI, or base64 data URI (e.g.
* `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See
* [our docs](/assets/inputs#audio) on audio inputs for more information.
*/
uri: string;
}

/**
* A preset voice.
*/
Expand Down Expand Up @@ -246,24 +286,14 @@ export namespace AudioCreateParams {

type: 'preset';
}

/**
* Clone a voice from a reference audio clip, then speak promptText in that voice.
* Routes only to models that support voice cloning.
*/
export interface ReferenceAudio {
/**
* A HTTPS URL, Runway upload URI, or base64 data URI (e.g.
* `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See
* [our docs](/assets/inputs#audio) on audio inputs for more information.
*/
audioUri: string;

type: 'reference-audio';
}
}
}

export declare namespace Audio {
export { type AudioCreateResponse as AudioCreateResponse, type AudioCreateParams as AudioCreateParams };
export {
type ReferenceVoice as ReferenceVoice,
type ReferenceAudio as ReferenceAudio,
type AudioCreateResponse as AudioCreateResponse,
type AudioCreateParams as AudioCreateParams,
};
}
4 changes: 3 additions & 1 deletion src/resources/generate/generate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { APIResource } from '../../core/resource';
import * as AudioAPI from './audio';
import { Audio, AudioCreateParams, AudioCreateResponse } from './audio';
import { Audio, AudioCreateParams, AudioCreateResponse, ReferenceAudio, ReferenceVoice } from './audio';
import * as ImageAPI from './image';
import { Image, ImageCreateParams, ImageCreateResponse } from './image';
import * as VideoAPI from './video';
Expand Down Expand Up @@ -33,6 +33,8 @@ export declare namespace Generate {

export {
Audio as Audio,
type ReferenceVoice as ReferenceVoice,
type ReferenceAudio as ReferenceAudio,
type AudioCreateResponse as AudioCreateResponse,
type AudioCreateParams as AudioCreateParams,
};
Expand Down
24 changes: 24 additions & 0 deletions src/resources/generate/image.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,12 @@ export namespace ImageCreateResponse {
* The resolved config settings the router used for this request.
*/
resolvedSettings: Routing.ResolvedSettings;

/**
* Present only when the config enables fallback.onCapacity and capacity affected
* this request.
*/
capacityFallback?: Routing.CapacityFallback;
}

export namespace Routing {
Expand Down Expand Up @@ -117,6 +123,24 @@ export namespace ImageCreateResponse {
*/
priceCeiling: number | null;
}

/**
* Present only when the config enables fallback.onCapacity and capacity affected
* this request.
*/
export interface CapacityFallback {
/**
* True when every eligible model was at its concurrency limit, so the best-ranked
* model was used and the task will queue.
*/
allExhausted: boolean;

/**
* Eligible models that were considered for this request but not selected because
* this account is at its concurrency limit for them.
*/
skipped: Array<string>;
}
}
}

Expand Down
8 changes: 7 additions & 1 deletion src/resources/generate/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

export { Audio, type AudioCreateResponse, type AudioCreateParams } from './audio';
export {
Audio,
type ReferenceVoice,
type ReferenceAudio,
type AudioCreateResponse,
type AudioCreateParams,
} from './audio';
export { Generate } from './generate';
export { Image, type ImageCreateResponse, type ImageCreateParams } from './image';
export { Video, type VideoCreateResponse, type VideoCreateParams } from './video';
Loading
Loading