My App
GLabs SDK

Tier Configuration

Understanding Pro and Ultra tier differences

Tier Configuration

The SDK provides utilities for managing account tier differences in video and image generation.

Account Tiers

Google Labs offers two subscription tiers:

FeatureProUltra
Video Modesquality, fastquality, fast
Default Video Modefastquality
PaygateTierPAYGATE_TIER_TWOPAYGATE_TIER_TWO
HD UpscalingYesYes
Quality ModeYesYes
Max Images/Batch44

Tier Utilities

Import tier configuration utilities:

import {
  getTierCapabilities,
  getEffectiveVideoMode,
  getVideoApiConfig,
  getImageApiConfig,
  isFeatureSupported,
} from '@vrex/glabs-sdk';

Get Tier Capabilities

const capabilities = getTierCapabilities('pro');

console.log(capabilities.supportedVideoModes);  // ['quality', 'fast']
console.log(capabilities.defaultVideoMode);     // 'fast'
console.log(capabilities.paygateTier);          // 'PAYGATE_TIER_TWO'
console.log(capabilities.supportsUpsample);     // true
console.log(capabilities.supportsQualityMode);  // true
console.log(capabilities.maxImageGenerationCount); // 4

Get Effective Video Mode

Returns the actual mode that will be used based on tier restrictions:

// Pro account requesting quality mode
const mode = getEffectiveVideoMode('pro', 'quality');
// Returns: 'quality' (supported)

// Pro account with no mode specified
const defaultMode = getEffectiveVideoMode('pro');
// Returns: 'fast' (tier default)

Get Video API Config

Get all configuration needed for a video API request:

const config = getVideoApiConfig(
  'text-to-video',  // Generation type
  'pro',            // Account tier
  '16:9',           // Aspect ratio
  'fast'            // Video mode
);

console.log(config.videoModelKey);      // 'veo_3_1_t2v_fast_ultra'
console.log(config.userPaygateTier);    // 'PAYGATE_TIER_TWO'
console.log(config.effectiveVideoMode); // 'fast'
console.log(config.aspectRatioEnum);    // 'VIDEO_ASPECT_RATIO_LANDSCAPE'

Get Image API Config

const config = getImageApiConfig(
  'pro',           // Account tier
  '16:9',          // Aspect ratio
  'nanobanana'     // Model
);

console.log(config.imageModelName);  // 'GEM_PIX'
console.log(config.aspectRatioEnum); // 'IMAGE_ASPECT_RATIO_LANDSCAPE'

Check Feature Support

// Check if HD upscaling is supported
const upsampleSupport = isFeatureSupported('upsample', 'pro', '16:9');
console.log(upsampleSupport.supported); // true

// HD upscaling only works with 16:9
const portraitUpsample = isFeatureSupported('upsample', 'pro', '9:16');
console.log(portraitUpsample.supported); // false
console.log(portraitUpsample.reason);    // 'HD upscaling only supports 16:9 landscape videos'

// Check quality mode support
const qualitySupport = isFeatureSupported('quality_mode', 'pro');
console.log(qualitySupport.supported); // true

Video Generation Types

TypeDescription
text-to-videoGenerate from text prompt
image-to-videoGenerate from first frame image
image-to-video-flGenerate from first and last frame images
extendExtend existing video
reshootCamera control reshoot
upsampleHD upscaling (1080p)
reference-imagesMulti-image reference video

Video Model Keys

The SDK automatically selects the correct model based on generation type, tier, mode, and aspect ratio.

Text-to-Video Models

TierModeModel Key
Pro/Ultrafastveo_3_1_t2v_fast_ultra
Pro/Ultraqualityveo_3_1_t2v

Image-to-Video Models

TierModeAspectModel Key
Pro/Ultrafast16:9, 1:1veo_3_1_i2v_s_fast_ultra
Pro/Ultrafast9:16veo_3_1_i2v_s_fast_portrait_ultra
Pro/Ultraquality16:9, 1:1veo_3_1_i2v_s
Pro/Ultraquality9:16veo_3_1_i2v_s_portrait

Camera Control Models

AspectModel Key
16:9veo_3_0_reshoot_landscape
9:16veo_3_0_reshoot_portrait
1:1veo_3_0_reshoot_square

Reference Images Models

TierModel Key
Proveo_3_0_r2v_fast
Ultraveo_3_0_r2v_fast_ultra

Upscale Model

All tiers use veo_2_1080p_upsampler_8s for HD upscaling.

Aspect Ratio Enums

Video Aspect Ratios

RatioEnum Value
16:9VIDEO_ASPECT_RATIO_LANDSCAPE
9:16VIDEO_ASPECT_RATIO_PORTRAIT
1:1VIDEO_ASPECT_RATIO_SQUARE

Image Aspect Ratios

RatioEnum Value
16:9IMAGE_ASPECT_RATIO_LANDSCAPE
9:16IMAGE_ASPECT_RATIO_PORTRAIT
1:1IMAGE_ASPECT_RATIO_SQUARE

Utility Functions

getVideoAspectRatioEnum

import { getVideoAspectRatioEnum } from '@vrex/glabs-sdk';

getVideoAspectRatioEnum('16:9'); // 'VIDEO_ASPECT_RATIO_LANDSCAPE'
getVideoAspectRatioEnum('9:16'); // 'VIDEO_ASPECT_RATIO_PORTRAIT'
getVideoAspectRatioEnum('1:1');  // 'VIDEO_ASPECT_RATIO_SQUARE'

getImageAspectRatioEnum

import { getImageAspectRatioEnum } from '@vrex/glabs-sdk';

getImageAspectRatioEnum('16:9'); // 'IMAGE_ASPECT_RATIO_LANDSCAPE'
getImageAspectRatioEnum('9:16'); // 'IMAGE_ASPECT_RATIO_PORTRAIT'
getImageAspectRatioEnum('1:1');  // 'IMAGE_ASPECT_RATIO_SQUARE'

getVideoModelKey

import { getVideoModelKey } from '@vrex/glabs-sdk';

getVideoModelKey('text-to-video', 'pro', '16:9', 'fast');
// Returns: 'veo_3_1_t2v_fast_ultra'

getVideoModelKey('image-to-video-fl', 'ultra', '9:16', 'quality');
// Returns: 'veo_3_1_i2v_s_portrait_fl'

On this page