Skip to content

Commit b42527b

Browse files
matthew29tangcopybara-github
authored andcommitted
feat: Add ImageResizeMode for GenerateVideos
PiperOrigin-RevId: 869306823
1 parent b6c5d18 commit b42527b

File tree

5 files changed

+50
-0
lines changed

5 files changed

+50
-0
lines changed

api-report/genai-node.api.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1578,6 +1578,7 @@ export interface GenerateVideosConfig {
15781578
personGeneration?: string;
15791579
pubsubTopic?: string;
15801580
referenceImages?: VideoGenerationReferenceImage[];
1581+
resizeMode?: ImageResizeMode;
15811582
resolution?: string;
15821583
seed?: number;
15831584
}
@@ -2082,6 +2083,12 @@ export enum ImagePromptLanguage {
20822083
zh = "zh"
20832084
}
20842085

2086+
// @public
2087+
export enum ImageResizeMode {
2088+
CROP = "CROP",
2089+
PAD = "PAD"
2090+
}
2091+
20852092
// @public
20862093
export interface ImageSearch {
20872094
}

api-report/genai-web.api.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1578,6 +1578,7 @@ export interface GenerateVideosConfig {
15781578
personGeneration?: string;
15791579
pubsubTopic?: string;
15801580
referenceImages?: VideoGenerationReferenceImage[];
1581+
resizeMode?: ImageResizeMode;
15811582
resolution?: string;
15821583
seed?: number;
15831584
}
@@ -2082,6 +2083,12 @@ export enum ImagePromptLanguage {
20822083
zh = "zh"
20832084
}
20842085

2086+
// @public
2087+
export enum ImageResizeMode {
2088+
CROP = "CROP",
2089+
PAD = "PAD"
2090+
}
2091+
20852092
// @public
20862093
export interface ImageSearch {
20872094
}

api-report/genai.api.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1578,6 +1578,7 @@ export interface GenerateVideosConfig {
15781578
personGeneration?: string;
15791579
pubsubTopic?: string;
15801580
referenceImages?: VideoGenerationReferenceImage[];
1581+
resizeMode?: ImageResizeMode;
15811582
resolution?: string;
15821583
seed?: number;
15831584
}
@@ -2082,6 +2083,12 @@ export enum ImagePromptLanguage {
20822083
zh = "zh"
20832084
}
20842085

2086+
// @public
2087+
export enum ImageResizeMode {
2088+
CROP = "CROP",
2089+
PAD = "PAD"
2090+
}
2091+
20852092
// @public
20862093
export interface ImageSearch {
20872094
}

src/converters/_models_converters.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2771,6 +2771,10 @@ export function generateVideosConfigToMldev(
27712771
throw new Error('labels parameter is not supported in Gemini API.');
27722772
}
27732773

2774+
if (common.getValueByPath(fromObject, ['resizeMode']) !== undefined) {
2775+
throw new Error('resizeMode parameter is not supported in Gemini API.');
2776+
}
2777+
27742778
return toObject;
27752779
}
27762780

@@ -2944,6 +2948,15 @@ export function generateVideosConfigToVertex(
29442948
common.setValueByPath(parentObject, ['labels'], fromLabels);
29452949
}
29462950

2951+
const fromResizeMode = common.getValueByPath(fromObject, ['resizeMode']);
2952+
if (parentObject !== undefined && fromResizeMode != null) {
2953+
common.setValueByPath(
2954+
parentObject,
2955+
['parameters', 'resizeMode'],
2956+
fromResizeMode,
2957+
);
2958+
}
2959+
29472960
return toObject;
29482961
}
29492962

src/types.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,6 +1188,20 @@ export enum VideoCompressionQuality {
11881188
LOSSLESS = 'LOSSLESS',
11891189
}
11901190

1191+
/** Resize mode for the image input for video generation. */
1192+
export enum ImageResizeMode {
1193+
/**
1194+
* Crop the image to fit the correct aspect ratio (so we lose parts
1195+
of the image in the process).
1196+
*/
1197+
CROP = 'CROP',
1198+
/**
1199+
* Pad the image to fit the correct aspect ratio (so we don't lose
1200+
any parts of the image in the process).
1201+
*/
1202+
PAD = 'PAD',
1203+
}
1204+
11911205
/** Enum representing the tuning method. */
11921206
export enum TuningMethod {
11931207
/**
@@ -4534,6 +4548,8 @@ export declare interface GenerateVideosConfig {
45344548
compressionQuality?: VideoCompressionQuality;
45354549
/** User specified labels to track billing usage. */
45364550
labels?: Record<string, string>;
4551+
/** Resize mode of the image input for video generation. */
4552+
resizeMode?: ImageResizeMode;
45374553
}
45384554

45394555
/** Class that represents the parameters for generating videos. */

0 commit comments

Comments
 (0)