What makes a row invalid
Before any video is made, every row is checked against the template it feeds. A row that would produce a broken video, or no video at all, is marked Invalid: it is left out of the batch, it is not charged, and the reason appears beside its status in the Status column.
This check is the reason automations exist. A field arriving empty is by far the most common cause of a failed render, and it is cheap to catch beforehand and expensive to discover afterwards.
Running the check
Press Validate in the toolbar of the Input dataset tab and every row is checked against the template the table shows results for, with its current mapping. The button reads Checking⦠while it works.
You do not have to remember to:
- The Render videos dialog checks the rows nobody has checked yet before it tells you how many will render, so the number on its button is a real count, not an optimistic one. Above 2,000 unchecked rows it offers to β check them now β instead of doing it on its own, so you know why it is taking a while.
- A batch checks every row again itself before it renders it. A row that slipped past is still refused, not charged.
When the check finishes, a notice says how many rows are ready and how many are blocked β "118 of 120 rows are ready to render, 2 blocked. They would cost about 1,180β1,420 credits." β with a Show the 2 blocked button, which switches the table to the Invalid chip.
Editing a cell makes the result out of date. The notice then says "Rows have changed since this check β run it again before rendering." A row you changed after it rendered shows a warning icon beside its date if it would no longer pass.
Errors and warnings
Two levels:
- An error blocks the row. It will not render and will not be charged.
- A warning lets the row through. It tells you the video will not be quite what you expect.
Every reason is shown on the row, in the Status column. Hover it for the full list.
Things that block a row
A required field is empty
Headlineis empty in this row, and this template needsheadlinein every video.
The commonest one. Optional variables can be empty β the template's own value is used.
A value is the wrong kind of thing
Pricemust be a number and this row has"ask us".
Checked for numbers, dates, yes/no fields and options, and inside an object for each of its own fields. Nothing is converted silently: a value that does not fit is reported, not coerced. The one exception is deliberate, and is a mapping rather than a repair: a column of links feeding a photo.
An option is not one the template accepts
Layoutis"widescreen", which this template does not accept. It takes one of:square,vertical,landscape.
A photo, an audio or a voice has nothing in it
A photo, an audio or an avatar is a field with several things inside it β the file and the settings around it (Objects). A cell holding only the template's settings looks full and renders nothing, so the check asks the only question that matters: is there anything you put there? An aspect ratio or a zoom on its own is not content.
So a required photo, audio or avatar image with no file is blocked, and so are a Voice with no voice chosen, a Font with no family and a Text block with no text. The message names the field and says what to do β "β¦ Pick one from your media library, or paste a link."
A field inside the cell that the template marks as required, and that is empty, is reported on its own:
Subtitleshas nolanguage, which this template needs in every video.
A file link is not a link
Photomust be a link to a file and this row has"kitchen.jpg". Use a full https:// address, or pick a file from your media library.
This is checked on the file inside a photo, audio or avatar field β including the one a column of links put there. A web address in a plain text variable is text as far as the template is concerned, and is not checked as a file.
A file link does not work
Every distinct file address is checked once β the addresses inside photo, audio and avatar fields, and the ones a column of links put there. If the far end refuses the address β 404, 403, a dead host β the row is blocked:
Photopoints at https://β¦/kitchen.jpg, which answered 404. The render would fail on it. Fix the address, or upload the file to your media library.
If the address simply could not be reached from our side, that is a warning, not a block β "It may well work; nothing was ruled out." Being unable to check something is not the same as knowing it is broken. On a very large table the file checks can run out of time before the end; the rows that were not checked say so, rather than quietly passing. Validate again to include them.
A list is empty, or not a list
This group is specific to templates with a repeating scene, and it exists because the render engine fails silently on all of them.
| What is wrong | What would happen without the check |
|---|---|
| The list has no items and the template requires it | The repeating scene is dropped from the video. No error: a shorter video and no explanation. |
| The cell is not a list at all | Same: the scene disappears silently. |
| The items are plain values instead of items with fields (possible from an API source) | The scene produces no copies. No error at all. |
| Some items are plain values | Those copies of the scene come out blank. |
| A required field inside an item is empty | That copy renders with the field missing. |
| The template repeats over a list this row does not send at all, or sends a single value instead of a list | Worse: the whole render fails, not just the scene. |
If the list simply has no items and the template does not require it, that is a warning: that section of the video will not appear, and nothing fails.
A list with more than 100 items is a warning too β only the first 100 are rendered, and the rest are never reached.
Things that block a whole template
A few faults are not about one row. They would kill every render the same way, so they are said once, in a notice above the table β "Nothing in this dataset can be rendered yet" β and nothing renders from that template until they are fixed:
- The template repeats over a list fed by a single value β a text column mapped to a list variable. Every render would fail, not just skip the scene.
- The template repeats over something that is not one of its variables, or over something that is not a list. The template itself has to be fixed.
- Fields inside a group are mapped one by one, but the template's description of that group is too large to store, so the fields nobody mapped would be lost. Map the whole group to one column instead.
Two things are only warnings at this level, because the videos still render:
- Nothing feeds the list a scene repeats over. Every video then repeats the template's own items β the same ones in every video. Map a list column to it if each row should bring its own.
- A list column is mapped, but none of the fields inside it are. Every repeated scene would render with its fields empty.
What you get back
After a check, each row's Status is one of:
| Status | Meaning |
|---|---|
| Not checked | Not checked yet, or changed since it was. |
| Ready | Checked, and ready to render. |
| Invalid | Blocked, with the reason beside it. |
Along with the verdicts you get a credit estimate, as a range. It is a range on purpose: a video costs what it lasts, a row with 3 items in a list makes a shorter video than one with 12, and some things β a scene as long as the video inside it β cannot be known before the render. When the top of the range cannot be known at all, the estimate says why instead of quietly leaving it out. See Why the cost is a range.