Skip to content
Merged
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 @@
{
".": "3.22.0"
".": "3.23.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 38
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-cfb6e42f50c5de798cb44d95bb8e1e0b378a1cad932b937b249aca35136c7758.yml
openapi_spec_hash: 2d2bb8ab56561238e5415dbbd3e4d725
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-a81793e83ebdccfc40ba42e5f36101fd6877703febd5f1476e8e6e9dabd505ab.yml
openapi_spec_hash: ea99f8ca625ee33071b0dc7a812fc222
config_hash: 6d8ca402de13857362ee587c404baca9
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 3.23.0 (2026-06-04)

Full Changelog: [v3.22.0...v3.23.0](https://github.com/runwayml/sdk-node/compare/v3.22.0...v3.23.0)

### Features

* **api:** SD2, HH1 ([02c1d41](https://github.com/runwayml/sdk-node/commit/02c1d41630f75806c050cc650379076e9f994b0e))

## 3.22.0 (2026-06-02)

Full Changelog: [v3.21.1...v3.22.0](https://github.com/runwayml/sdk-node/compare/v3.21.1...v3.22.0)
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": "3.22.0",
"version": "3.23.0",
"description": "The official TypeScript library for the RunwayML API",
"author": "RunwayML <dev-feedback@runwayml.com>",
"types": "dist/index.d.ts",
Expand Down
125 changes: 125 additions & 0 deletions src/resources/image-to-video.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ export type ImageToVideoCreateParams =
| ImageToVideoCreateParams.Veo3_1
| ImageToVideoCreateParams.Gen3aTurbo
| ImageToVideoCreateParams.Veo3_1Fast
| ImageToVideoCreateParams.Happyhorse1_0
| ImageToVideoCreateParams.Seedance2
| ImageToVideoCreateParams.Veo3;

export declare namespace ImageToVideoCreateParams {
Expand Down Expand Up @@ -333,6 +335,129 @@ export declare namespace ImageToVideoCreateParams {
}
}

export interface Happyhorse1_0 {
model: 'happyhorse_1_0';

/**
* A HTTPS URL.
*/
promptImage: string | Array<Happyhorse1_0.PromptImage>;

/**
* The number of seconds of duration for the output video.
*/
duration?: number;

/**
* A string up to 2500 characters (measured in UTF-16 code units) describing motion
* or changes in the output video.
*/
promptText?: string;

/**
* Output quality tier. Output aspect ratio follows the input image.
*/
resolution?: '720P' | '1080P';
}

export namespace Happyhorse1_0 {
export interface PromptImage {
/**
* The position of the image in the output video. "first" will use the image as the
* first frame of the video.
*/
position: 'first';

/**
* A HTTPS URL.
*/
uri: string;
}
}

export interface Seedance2 {
model: 'seedance2';

/**
* An image or array of images. Use position `first`/`last` for keyframe mode, or
* omit position for reference images. The two modes cannot be mixed.
*/
promptImage: string | Array<Seedance2.PromptImage>;

/**
* Whether to generate audio for the video. Audio inclusion affects pricing.
*/
audio?: boolean;

/**
* The number of seconds of duration for the output video.
*/
duration?: number;

/**
* An optional text prompt up to 3500 characters (measured in UTF-16 code units).
* This should describe in detail what should appear in the output.
*/
promptText?: string;

/**
* The resolution of the output video.
*/
ratio?:
| '992:432'
| '864:496'
| '752:560'
| '640:640'
| '560:752'
| '496:864'
| '1470:630'
| '1280:720'
| '1112:834'
| '960:960'
| '834:1112'
| '720:1280'
| '2206:946'
| '1920:1080'
| '1664:1248'
| '1440:1440'
| '1248:1664'
| '1080:1920';

/**
* An optional array of audio references. Audio references require a text prompt,
* and the total combined duration must not exceed 15 seconds.
*/
referenceAudio?: Array<Seedance2.ReferenceAudio>;
}

export namespace Seedance2 {
export interface PromptImage {
/**
* A HTTPS URL.
*/
uri: string;

/**
* The position of the image in the output video. "first" will use the image as the
* first frame, "last" as the last frame. Omit for a reference image.
*/
position?: 'first' | 'last';
}

/**
* An audio reference allows the model to use the audio as additional context for
* the output.
*/
export interface ReferenceAudio {
type: 'audio';

/**
* A HTTPS URL.
*/
uri: string;
}
}

export interface Veo3 {
/**
* The number of seconds of duration for the output video.
Expand Down
135 changes: 135 additions & 0 deletions src/resources/text-to-video.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ export type TextToVideoCreateParams =
| TextToVideoCreateParams.Gen4_5
| TextToVideoCreateParams.Veo3_1
| TextToVideoCreateParams.Veo3_1Fast
| TextToVideoCreateParams.Happyhorse1_0
| TextToVideoCreateParams.Seedance2
| TextToVideoCreateParams.Veo3;

export declare namespace TextToVideoCreateParams {
Expand Down Expand Up @@ -131,6 +133,139 @@ export declare namespace TextToVideoCreateParams {
duration?: 4 | 6 | 8;
}

export interface Happyhorse1_0 {
model: 'happyhorse_1_0';

/**
* A non-empty string up to 2500 characters (measured in UTF-16 code units). This
* should describe in detail what should appear in the output.
*/
promptText: string;

/**
* The number of seconds of duration for the output video.
*/
duration?: number;

/**
* The resolution of the output video.
*/
ratio?:
| '1280:720'
| '720:1280'
| '960:960'
| '1108:832'
| '832:1108'
| '1920:1080'
| '1080:1920'
| '1440:1440'
| '1662:1248'
| '1248:1662';
}

export interface Seedance2 {
model: 'seedance2';

/**
* A non-empty string up to 3500 characters (measured in UTF-16 code units). This
* should describe in detail what should appear in the output.
*/
promptText: string;

/**
* Whether to generate audio for the video. Audio inclusion affects pricing.
*/
audio?: boolean;

/**
* The number of seconds of duration for the output video.
*/
duration?: number;

/**
* The resolution of the output video.
*/
ratio?:
| '992:432'
| '864:496'
| '752:560'
| '640:640'
| '560:752'
| '496:864'
| '1470:630'
| '1280:720'
| '1112:834'
| '960:960'
| '834:1112'
| '720:1280'
| '2206:946'
| '1920:1080'
| '1664:1248'
| '1440:1440'
| '1248:1664'
| '1080:1920';

/**
* An optional array of audio references. Audio references require a text prompt,
* and the total combined duration must not exceed 15 seconds.
*/
referenceAudio?: Array<Seedance2.ReferenceAudio>;

/**
* An optional array of image references (up to 9). See
* [our docs](/assets/inputs#images) on image inputs for more information.
*/
references?: Array<Seedance2.Reference>;

/**
* An optional array of video references. The combined duration across all video
* references must not exceed 15 seconds. See [our docs](/assets/inputs#videos) on
* video inputs for more information.
*/
referenceVideos?: Array<Seedance2.ReferenceVideo>;
}

export namespace Seedance2 {
/**
* An audio reference allows the model to use the audio as additional context for
* the output.
*/
export interface ReferenceAudio {
type: 'audio';

/**
* A HTTPS URL.
*/
uri: string;
}

export interface Reference {
/**
* A HTTPS URL.
*/
uri: string;

/**
* The position of the image in the output video. "first" will use the image as the
* first frame, "last" as the last frame. Omit for a reference image.
*/
position?: 'first' | 'last';
}

/**
* A video reference allows the model to use the video as additional context for
* the output.
*/
export interface ReferenceVideo {
type: 'video';

/**
* A HTTPS URL.
*/
uri: string;
}
}

export interface Veo3 {
/**
* The number of seconds of duration for the output video.
Expand Down
Loading
Loading