Wildmoka supports the use of variables to dynamically populate text and image metadata across overlays and publish metadata.
This means you can automatically insert values like event names, dates, teams, or speaker names without having to enter them manually each time.
It’s a powerful way to save time, reduce human error, and ensure your content stays accurate and consistent across all destinations.
Illustration
Illustration of variable applied to text overlays in the template editor
Illustration of variable applied to Title field - based on an event
Where can I set my variables?
You can set your variables in the Template Editor, or alternatively, in the Profiles Management menu in the Destinations section.
Popular variables
To automate generation of text fields in templates, you can use a set of variables.
The format to use a variable is:
{{ variable }}
Filters can be applied to a variable to update rendering, format is:
{{ variable|filter|filter|... }} (See second table)
| Generic variables | ||
|---|---|---|
| VARIABLE | DESCRIPTION | OUTPUT EXAMPLE |
| now | Print the current timestamp | 1512665888.90876 |
| title | Title computed before if available | It's the Title Used to explain filters |
| Filters | ||
|---|---|---|
| FILTER | DESCRIPTION | OUTPUT EXAMPLE |
| TIMESTAMP FILTERS | ||
| now|timestamp(X) | Add X Days to the current timestamp | 1512665888.90876 |
| now|dateFormat | Format the current timestamp to date format (YYYY-MM-DD) |
2017-12-15 |
| now|timestamp(X)|dateFormat | Format the date in X days to date format (YYYY-MM-DD) |
2017-12-18 |
| now|dateFormat('DD/MM/YYYY HH:mm:ss') | Apply a specific format to the date | 15/12/2018 15:43:31 |
| STRING FILTERS | ||
| title|upper | Apply upper case on the entire string | IT'S THE TITLE USED TO EXPLAIN FILTERS |
| title|lower | Apply lower case on the entire string | it's the title used to explain filters |
| title|capitalize | Update case to first char upper and all other lower | It's the title used to explain filters |
| title|title | Update case to first char of each word upper and other lower | It's The Title Used To Explain Filters |
| title|length | Return length of the string | 38 |
| title|pprint | Add quote or double quote if needed around the string | "It's the Title Used to explain filters" |
| title|truncate(19) | Truncate the string at char 19, remove last word cut and add "..." at the end | It's the Title ... |
| title|truncate(19, True) | Don't remove the last cut word | It's the Title U... |
| title|truncate(19, False, '!') | Last parameter is to choose the end of string added (using '' will not add anything) |
It's the Title ! |
| title|urlencode | Prevent forbidden chars to put the var in an URL | It%27s%20the%20Title%20Used %20to%20explain%20filters |
If you need to do some computation on variables, you can use the following syntax:
| Computation on variables | ||
| SYNTAX | DESCRIPTION | OUTPUT EXAMPLE |
| {% if title %} {{ title }} {% else %} Default title if no title {% endif %} | Check if variable title is not empty. Display {{ title }} if available (not empty) or display "Default text if no title". |
title = "Good title" --> display: Good Title title = "" --> display: Default title if no title |
| {% if string|length < 8 %} {{ string }} {% else %} title is too long {% endif %} | Use any Filter defined above to make computation | title = "It's the Title Used to explain filters" --> display: title is too long title = "Title !" --> display: Title ! |
If you have an EPG configured on your streams, you will be able to use these specific variables:
| Specific EPG Variables | ||
|---|---|---|
|
variable
|
description
|
output example
|
| epg.program_name | Program name | Breaking News 8PM |
| epg.hashtag | Program Hashtag | #BN8 |
| epg.plurimedia_id | Program identifier | 12345 |
| epg.description | Program description | See latest news each days at 8PM |
| epg.category | Program category | News |
If you are clipping from an event, you will be able to use these variables:
| Specific Event Variables | ||
|---|---|---|
| VARIABLE | DESCRIPTION | OUTPUT EXAMPLE |
| event.during[0] | Timestamp of the begin of the event | 1512665851.511114 |
| event.during[1] | Timestamp of the end of the event | 1514664000.0 |
| event.name | Name of the event | Match A vs B |
If you have subscribed to specific sports management, you will be able to use these specific variables related to each sport available:
| Specific Soccer Variables | ||
|---|---|---|
| VARIABLE | DESCRIPTION | OUTPUT EXAMPLE |
| football_score.team1_score | Current score of Team 1 | 3 |
| football_score.team2_score | Current score of Team 2 | 2 |
| football_actions.moment_type | Type of action used to generate the clip | Goal on field |
| football_actions.team_name | Name of the team which do the action | Paris Saint-Germain |
| football_actions.team_hashtag | HashTag of the team which do the action | #PSG |
| football_actions.player_name | Name of the principal player which do the action | Dani Alves |
| football_actions.player_hashtag | HashTag of the team which do the action | @DaniAlvesD2 |
| football_actions.player_2_name | Name of the secondary player linked on the action | Julian Draxler |
| football_actions.time_display | User friendly time of the action | 14' |
| football_actions.moment_time | Absolute timestamp of the action | 1512665985.993985 |
| football_actions.title | Title computed or written by editor of the action | Title for action |