removedInput schema / properties / columns
Removed value: -{
- "description": "For array rows: the layer key of each cell, in order, like a spreadsheet header",
- "items": {
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 100,
- "minItems": 1,
- "type": "array"
-}
removedInput schema / properties / defaults
Removed value: -{
- "additionalProperties": {
- "anyOf": [
- {
- "description": "A text layer's text, with <s1>...</s1> tags for runs when it has several styles; or an image layer's asset id or file name",
- "type": "string"
- },
- {
- "additionalProperties": {},
- "description": "A text layer's text and visibility",
- "properties": {
- "text": {
- "description": "The layer's new text, tagged like a string value",
- "type": "string"
- },
- "visible": {
- "description": "false hides the layer; layout closes the gap",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- {
- "additionalProperties": {},
- "description": "An image layer's image and framing",
- "properties": {
- "asset": {
- "description": "An asset id (search_assets, upload_images), the image's file name, or a designer image key. Omit to keep the template's image and only re-frame it.",
- "type": "string"
- },
- "fit": {
- "description": "cover fills the slot and crops (default), contain shows the whole image, stretch distorts to the slot. The designer's names work too: fill is cover, fit is contain",
- "enum": [
- "cover",
- "contain",
- "stretch",
- "fill",
- "fit"
- ],
- "type": "string"
- },
- "panX": {
- "description": "Moves the image by this fraction of the slot width; positive = right",
- "maximum": 1,
- "minimum": -1,
- "type": "number"
- },
- "panY": {
- "description": "Moves the image by this fraction of the slot height; positive = down",
- "maximum": 1,
- "minimum": -1,
- "type": "number"
- },
- "visible": {
- "description": "false hides the layer",
- "type": "boolean"
- },
- "zoom": {
- "description": "Zoom about the slot centre; 1 = none",
- "maximum": 4,
- "minimum": 0.2,
- "type": "number"
- }
- },
- "type": "object"
- }
- ]
- },
- "description": "Values every row gets unless it gives its own, such as a logo or call to action shared by all rows",
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
-}
addedInput schema / properties / flow
Added value: +{
+ "description": "Instead of pages: one flow (get_template_inputs flows), a video joining some of its template's pages, that every row renders as, with a video output format. A name fills that layer on every page of the video; `<pageId>@<layer>` one page, `<pageId>#2@<layer>` a page's second visit.",
+ "minLength": 1,
+ "type": "string"
+}
removedInput schema / properties / flowIds
Removed value: -{
- "description": "Instead of pageIds: this template's flows (get_template_inputs flows), each a video joining some of its pages, that every row renders as, one video per row per flow, with a video outputFormat. A name fills every layer with it across a video's pages.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "maxItems": 20,
- "minItems": 1,
- "type": "array"
-}
removedInput schema / properties / outputFormat
Removed value: -{
- "default": "png",
- "description": "Output format. png, jpeg and webp render one image per row and pdf one vector page; mp4 and gif render each row's whole motion as a video, and webm (VP9) and mov (ProRes 4444) as a transparent video for overlaying on other footage. Video needs an animated template (get_template_inputs isAnimated) and costs more credits per row",
- "enum": [
- "png",
- "jpeg",
- "webp",
- "pdf",
- "mp4",
- "gif",
- "webm",
- "mov"
- ],
- "type": "string"
-}
removedInput schema / properties / pageIds
Removed value: -{
- "description": "This template's pages (get_template_inputs pages) every row renders on, in order: one id for one file per row, several for one file per row per page, such as a carousel's slides. The first page when omitted. A row may carry keys of any of these pages; each page takes the keys it has.",
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
- },
- "maxItems": 20,
- "minItems": 1,
- "type": "array"
-}
addedInput schema / properties / pages
Added value: +{
+ "description": "Page ids (get_template_inputs pages, from any templates) every row renders on, in order: one id for one file per row, several for one file per row per page, such as a carousel's slides. A row's plain keys fill every page that has the layer; `<pageId>@<layer>` fills one page.",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 1,
+ "type": "array"
+}
changedInput schema / properties / rows / description
Previous value: -"1 to 500 rows. Each keys a layer by its name (case aside) or id, the key get_template_inputs gives, to a plain value: text as a string, an image as an asset id or file name, or { asset, fit, zoom, panX, panY } and { text, visible } when framing or visibility changes. rowExample in get_template_inputs is a ready row. With columns, a row is instead an array of cells in column order, which keeps large batches small. null leaves a layer at the template's own value. Layers left out keep the template's value, or the one in defaults."New value: +"1 to 1,000 rows, each its own modifications and output, rendered on every page named (or as the flow's video)"
addedInput schema / properties / rows / items / additionalProperties
Added value: +false
removedInput schema / properties / rows / items / anyOf
Removed value: -[
- {
- "additionalProperties": {
- "anyOf": [
- {
- "anyOf": [
- {
- "description": "A text layer's text, with <s1>...</s1> tags for runs when it has several styles; or an image layer's asset id or file name",
- "type": "string"
- },
- {
- "additionalProperties": {},
- "description": "A text layer's text and visibility",
- "properties": {
- "text": {
- "description": "The layer's new text, tagged like a string value",
- "type": "string"
- },
- "visible": {
- "description": "false hides the layer; layout closes the gap",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- {
- "additionalProperties": {},
- "description": "An image layer's image and framing",
- "properties": {
- "asset": {
- "description": "An asset id (search_assets, upload_images), the image's file name, or a designer image key. Omit to keep the template's image and only re-frame it.",
- "type": "string"
- },
- "fit": {
- "description": "cover fills the slot and crops (default), contain shows the whole image, stretch distorts to the slot. The designer's names work too: fill is cover, fit is contain",
- "enum": [
- "cover",
- "contain",
- "stretch",
- "fill",
- "fit"
- ],
- "type": "string"
- },
- "panX": {
- "description": "Moves the image by this fraction of the slot width; positive = right",
- "maximum": 1,
- "minimum": -1,
- "type": "number"
- },
- "panY": {
- "description": "Moves the image by this fraction of the slot height; positive = down",
- "maximum": 1,
- "minimum": -1,
- "type": "number"
- },
- "visible": {
- "description": "false hides the layer",
- "type": "boolean"
- },
- "zoom": {
- "description": "Zoom about the slot centre; 1 = none",
- "maximum": 4,
- "minimum": 0.2,
- "type": "number"
- }
- },
- "type": "object"
- }
- ]
- },
- {
- "type": "null"
- }
- ]
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- {
- "items": {
- "anyOf": [
- {
- "anyOf": [
- {
- "description": "A text layer's text, with <s1>...</s1> tags for runs when it has several styles; or an image layer's asset id or file name",
- "type": "string"
- },
- {
- "additionalProperties": {},
- "description": "A text layer's text and visibility",
- "properties": {
- "text": {
- "description": "The layer's new text, tagged like a string value",
- "type": "string"
- },
- "visible": {
- "description": "false hides the layer; layout closes the gap",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- {
- "additionalProperties": {},
- "description": "An image layer's image and framing",
- "properties": {
- "asset": {
- "description": "An asset id (search_assets, upload_images), the image's file name, or a designer image key. Omit to keep the template's image and only re-frame it.",
- "type": "string"
- },
- "fit": {
- "description": "cover fills the slot and crops (default), contain shows the whole image, stretch distorts to the slot. The designer's names work too: fill is cover, fit is contain",
- "enum": [
- "cover",
- "contain",
- "stretch",
- "fill",
- "fit"
- ],
- "type": "string"
- },
- "panX": {
- "description": "Moves the image by this fraction of the slot width; positive = right",
- "maximum": 1,
- "minimum": -1,
- "type": "number"
- },
- "panY": {
- "description": "Moves the image by this fraction of the slot height; positive = down",
- "maximum": 1,
- "minimum": -1,
- "type": "number"
- },
- "visible": {
- "description": "false hides the layer",
- "type": "boolean"
- },
- "zoom": {
- "description": "Zoom about the slot centre; 1 = none",
- "maximum": 4,
- "minimum": 0.2,
- "type": "number"
- }
- },
- "type": "object"
- }
- ]
- },
- {
- "type": "null"
- }
- ]
- },
- "type": "array"
- }
-]
addedInput schema / properties / rows / items / properties
Added value: +{
+ "modifications": {
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "description": "A text layer's text, with <s1>...</s1> tags for runs when it has several styles; or an image layer's asset id or file name",
+ "type": "string"
+ },
+ {
+ "additionalProperties": {},
+ "description": "A text layer's text and visibility",
+ "properties": {
+ "text": {
+ "description": "The layer's new text, tagged like a string value",
+ "type": "string"
+ },
+ "visible": {
+ "description": "false hides the layer; layout closes the gap",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "description": "An image layer's image and framing",
+ "properties": {
+ "asset": {
+ "description": "An asset id (search_assets, upload_images), the image's file name, or a designer image key. Omit to keep the template's image and only re-frame it.",
+ "type": "string"
+ },
+ "fit": {
+ "description": "cover fills the slot and crops (default), contain shows the whole image, stretch distorts to the slot. The designer's names work too: fill is cover, fit is contain",
+ "enum": [
+ "cover",
+ "contain",
+ "stretch",
+ "fill",
+ "fit"
+ ],
+ "type": "string"
+ },
+ "panX": {
+ "description": "Moves the image by this fraction of the slot width; positive = right",
+ "maximum": 1,
+ "minimum": -1,
+ "type": "number"
+ },
+ "panY": {
+ "description": "Moves the image by this fraction of the slot height; positive = down",
+ "maximum": 1,
+ "minimum": -1,
+ "type": "number"
+ },
+ "visible": {
+ "description": "false hides the layer",
+ "type": "boolean"
+ },
+ "zoom": {
+ "description": "Zoom about the slot centre; 1 = none",
+ "maximum": 4,
+ "minimum": 0.2,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "default": {},
+ "description": "Layer key to value: a layer's name (case aside) or id, the key get_template_inputs gives, to a plain value: text as a string, an image as an asset id or file name, or { asset, fit, zoom, panX, panY } and { text, visible } when framing or visibility changes. rowExample in get_template_inputs is ready to use. null leaves a layer at the page's own value; layers left out keep it too.",
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "output": {
+ "additionalProperties": false,
+ "description": "What to make; png when omitted",
+ "properties": {
+ "fileName": {
+ "description": "The file's name, without extension",
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "format": {
+ "default": "png",
+ "description": "png, jpeg and webp render an image and pdf one vector page; mp4 and gif render the whole motion as a video, and webm (VP9) and mov (ProRes 4444) as a transparent video for overlaying on other footage. Video needs an animated template (get_template_inputs isAnimated) and costs more credits",
+ "enum": [
+ "png",
+ "jpeg",
+ "webp",
+ "pdf",
+ "mp4",
+ "gif",
+ "webm",
+ "mov"
+ ],
+ "type": "string"
+ },
+ "stillTime": {
+ "description": "Animated pages, images only: the second of the motion the image shows. Omit it to use the page's own still time (get_template_inputs stillTime), else the last frame. If the page has no still time, ask the user, because an outro or a loop can make the last frame a bad image.",
+ "maximum": 600,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ }
+}
addedInput schema / properties / rows / items / type
Added value: +"object"
changedInput schema / properties / rows / maxItems
Previous value: -500New value: +1000
removedInput schema / properties / stillTime
Removed value: -{
- "description": "Animated templates only: the second of the motion that each image shows. Omit it to use the page's own still time (get_template_inputs stillTime), else the last frame. If the page has no still time, ask the user, because an outro or a loop can make the last frame a bad image.",
- "maximum": 600,
- "minimum": 0,
- "type": "number"
-}
removedInput schema / properties / templateId
Removed value: -{
- "description": "The whole template, from search_templates. Not a page or flow id.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
- "type": "string"
-}
addedInput schema / properties / templates
Added value: +{
+ "description": "Instead of pages: template ids whose every page each row renders on, in page order",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 1,
+ "type": "array"
+}
changedInput schema / required
Previous value: -[
- "templateId",
- "name",
- "rows"
-]New value: +[
+ "name",
+ "rows"
+]
changedOutput schema / properties / jobCount / description
Previous value: -"Jobs created: one per row per page or flow"New value: +"Jobs created: one per row per page"
addedOutput schema / properties / status
Added value: +{
+ "description": "draft until run_batch",
+ "type": "string"
+}
removedOutput schema / properties / warnings
Removed value: -{
- "description": "Not errors: pass these on to the user, such as a flow longer than a video renders",
- "items": {
- "type": "string"
- },
- "type": "array"
-}
removedOutput schema / properties / workspaceId
Removed value: -{
- "type": "string"
-}
changedOutput schema / required
Previous value: -[
- "id",
- "workspaceId",
- "rowCount",
- "creditCost"
-]New value: +[
+ "id",
+ "status",
+ "rowCount",
+ "jobCount",
+ "creditCost"
+]