SqueezeBrandConfig

Summary

SqueezeBrandConfig maintains brand-level default configurations for squeezeback operations. These settings define the visual appearance and behavior of squeezeback layouts and serve as defaults that can be overridden at the event level via SqueezeEventConfig.

Use Cases

  • Set consistent squeezeback parameters across all events for a brand
  • Define default box positions, sizes, and animations
  • Configure frame styling (thickness, colors) for brand identity
  • Set concurrent stream limits for capacity planning

Model Definition

Field Type Default Description
brand_id integer - Unique brand identifier (primary key)
brand_name string - Brand name identifier
banner_sources string - Banner image sources for branding
content_sqz_box_ratio float 0.6 Content box squeeze ratio. Value 0.6 means squeeze to 40% (1-0.6=0.4). Range: 0.1-1.0
ad_sqz_box_ratio float 0.5 Ad box squeeze ratio. Value 0.5 means squeeze to 50% (1-0.5=0.5). Range: 0.1-1.0
content_box_vertical_pos float 0.2 Content vertical position from top (0.0=top, 1.0=bottom)
content_box_horizontal_pos float 0.0 Content horizontal position (0.0=left, 1.0=right)
ad_box_vertical_pos float 0.2 Ad vertical position from top (0.0=top, 1.0=bottom)
ad_box_horizontal_pos float 1.0 Ad horizontal position (0.0=left, 1.0=right)
vertical_pos float 0.0 Deprecated: Use specific box positions instead
in_animation_dur float 2.0 Squeeze-in animation duration in seconds
out_animation_dur float 2.0 Squeeze-out animation duration in seconds
show_frames boolean false Deprecated: Use content_frame/ad_frame instead
content_frame boolean false Show frame border around content box
ad_frame boolean false Show frame border around ad box
frames_thickness integer 3 Deprecated: Use specific frame thickness fields
content_frame_thickness integer 3 Content frame border thickness in pixels
ad_frame_thickness integer 3 Ad frame border thickness in pixels
frames_color string “white@0.8” Deprecated: Use specific frame color fields
content_frame_color string “white@0.8” Content frame color with opacity (format: “color@opacity”)
ad_frame_color string “white@0.8” Ad frame color with opacity (format: “color@opacity”)
manifest_polling integer - Manifest polling interval for live events
max_concurrents integer 10 Maximum concurrent streams (0 = unlimited)

REST Operations

GET /api/v1/squeeze-brand-config/{brandId}

Return brand configuration for specified brand ID.

Parameters:

  • brandId (path, required): Brand identifier

Response: 200 OK

{
  "brand_id": 1,
  "brand_name": "paramount_plus",
  "content_sqz_box_ratio": 0.6,
  "ad_sqz_box_ratio": 0.5,
  "content_box_vertical_pos": 0.2,
  "content_box_horizontal_pos": 0.0,
  "ad_box_vertical_pos": 0.2,
  "ad_box_horizontal_pos": 1.0,
  "in_animation_dur": 2.0,
  "out_animation_dur": 2.0,
  "content_frame": true,
  "ad_frame": true,
  "content_frame_thickness": 3,
  "ad_frame_thickness": 3,
  "content_frame_color": "white@0.8",
  "ad_frame_color": "white@0.8",
  "max_concurrents": 100
}

GET /api/v1/squeeze-brand-config?brand_name={name}

Return brand configuration by brand name.

Query Parameters:

  • brand_name (query, required): Brand name to lookup

Response: 200 OK (same structure as above)

POST /api/v1/squeeze-brand-config

Create new brand configuration.

Request Body:

{
  "brand_name": "paramount_plus",
  "content_sqz_box_ratio": 0.6,
  "ad_sqz_box_ratio": 0.5,
  "content_box_vertical_pos": 0.2,
  "content_box_horizontal_pos": 0.0,
  "ad_box_vertical_pos": 0.2,
  "ad_box_horizontal_pos": 1.0,
  "in_animation_dur": 2.0,
  "out_animation_dur": 2.0,
  "content_frame": true,
  "ad_frame": true,
  "content_frame_thickness": 3,
  "ad_frame_thickness": 3,
  "content_frame_color": "white@0.8",
  "ad_frame_color": "white@0.8",
  "max_concurrents": 100
}

Response: 201 Created with created brand config

PUT /api/v1/squeeze-brand-config/{brandId}

Update existing brand configuration.

Parameters:

  • brandId (path, required): Brand identifier

Request Body: Same as POST (all fields optional for update)

Response: 200 OK with updated brand config

DELETE /api/v1/squeeze-brand-config/{brandId}

Delete brand configuration. Note: This will cascade delete all associated event configurations.

Parameters:

  • brandId (path, required): Brand identifier

Response: 204 No Content

Notes

  • All position values are percentages (0.0 to 1.0)
  • Squeeze ratios represent the amount to squeeze (not the final size)
  • Frame colors use format: "colorname@opacity" (e.g., “white@0.8” for 80% opaque white)
  • Setting max_concurrents to 0 removes the limit
  • Changes to brand config do not automatically update existing events (use event-level overrides)