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_concurrentsto 0 removes the limit - Changes to brand config do not automatically update existing events (use event-level overrides)