addedInput schema / properties / batch
Added value: +{
+ "description": "Add the jobs to this batch; omit for jobs on their own",
+ "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"
+}
removedInput schema / properties / batchId
Removed value: -{
- "description": "Add the job to this batch; omit for a job on its own",
- "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"
-}
removedInput schema / properties / fileName
Removed value: -{
- "description": "Name of the rendered file, without extension",
- "maxLength": 200,
- "type": "string"
-}
removedInput schema / properties / flowId
Removed value: -{
- "description": "Instead of pageId: a flow to render as a video (get_template_inputs flows), with a video outputFormat",
- "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 / jobs
Added value: +{
+ "description": "1 to 10 jobs",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "flow": {
+ "description": "Instead of page: a flow to render as a video (get_template_inputs flows), with a video output format",
+ "minLength": 1,
+ "type": "string"
+ },
+ "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"
+ },
+ "page": {
+ "description": "The page to render (get_template_inputs pages). Give this or flow",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "maxItems": 10,
+ "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 / pageId
Removed value: -{
- "description": "The page to render (get_template_inputs pages). Give this or flowId",
- "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"
-}
removedInput schema / properties / row
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"
- }
- ]
- },
- "description": "One row, keyed and valued as create_batch rows are; rowExample in get_template_inputs is a ready one",
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
-}
changedInput schema / properties / run / description
Previous value: -"Render it now, spending its creditCost"New value: +"Render them now, spending their creditCost"
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": "Optional with pageId or flowId; alone it renders the template's first page",
- "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"
-}
changedInput schema / required
Previous value: -[
- "row"
-]New value: +[
+ "jobs"
+]
removedOutput schema / properties / batchId
Removed value: -{
- "anyOf": [
- {
- "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"
- },
- {
- "type": "null"
- }
- ],
- "description": "The batch it joined; null for a job on its own"
-}
removedOutput schema / properties / creditCost
Removed value: -{
- "description": "Credits the render spends when it succeeds",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
-}
removedOutput schema / properties / error
Removed value: -{
- "description": "Why the render failed",
- "type": [
- "string",
- "null"
- ]
-}
removedOutput schema / properties / flowId
Removed value: -{
- "anyOf": [
- {
- "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"
- },
- {
- "type": "null"
- }
- ]
-}
removedOutput schema / properties / id
Removed value: -{
- "description": "jobId for run_job and get_job",
- "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"
-}
addedOutput schema / properties / jobs
Added value: +{
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "batch": {
+ "anyOf": [
+ {
+ "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"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The batch it is in; null for a job on its own"
+ },
+ "creditCost": {
+ "description": "Credits the render spends when it succeeds",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "error": {
+ "description": "Why the render failed",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "file": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "contentType": {
+ "type": "string"
+ },
+ "creativeId": {
+ "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"
+ },
+ "fileName": {
+ "type": "string"
+ },
+ "height": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "sizeBytes": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "url": {
+ "description": "Link to the rendered file",
+ "type": "string"
+ },
+ "width": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "creativeId",
+ "url",
+ "fileName",
+ "contentType",
+ "sizeBytes",
+ "width",
+ "height"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The rendered file; null until the job succeeds"
+ },
+ "flow": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The flow it renders as a video, if it does"
+ },
+ "id": {
+ "description": "jobId for run_job, get_job and update_job",
+ "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"
+ },
+ "modifications": {
+ "anyOf": [
+ {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The values it renders, by layer; null for a job made in the Kalpana app"
+ },
+ "output": {
+ "additionalProperties": false,
+ "properties": {
+ "format": {
+ "description": "File format the job renders to",
+ "enum": [
+ "png",
+ "jpeg",
+ "webp",
+ "pdf",
+ "mp4",
+ "gif",
+ "webm",
+ "mov"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "description": "image for still renders (png, jpeg, webp, pdf); video for mp4, gif, webm or mov",
+ "enum": [
+ "image",
+ "video"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "format",
+ "kind"
+ ],
+ "type": "object"
+ },
+ "page": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The page it renders; null for a video"
+ },
+ "status": {
+ "description": "pending waits for run_batch, processing is rendering, success has rendered, failed has a render error, cancelled was stopped by cancel_batch or cancel_job (final, not charged)",
+ "enum": [
+ "pending",
+ "processing",
+ "success",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string"
+ },
+ "template": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "status",
+ "template",
+ "page",
+ "flow",
+ "batch",
+ "modifications",
+ "output",
+ "creditCost",
+ "error",
+ "file"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
removedOutput schema / properties / output
Removed value: -{
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "contentType": {
- "type": "string"
- },
- "creativeId": {
- "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"
- },
- "fileName": {
- "type": "string"
- },
- "height": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "sizeBytes": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "url": {
- "description": "Link to the rendered file",
- "type": "string"
- },
- "width": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "creativeId",
- "url",
- "fileName",
- "contentType",
- "sizeBytes",
- "width",
- "height"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "The rendered file; null until the job succeeds"
-}
removedOutput schema / properties / outputFormat
Removed value: -{
- "description": "File format the job renders to",
- "enum": [
- "png",
- "jpeg",
- "webp",
- "pdf",
- "mp4",
- "gif",
- "webm",
- "mov"
- ],
- "type": "string"
-}
removedOutput schema / properties / outputKind
Removed value: -{
- "description": "image for still renders (png, jpeg, webp, pdf); video for mp4, gif, webm or mov",
- "enum": [
- "image",
- "video"
- ],
- "type": "string"
-}
removedOutput schema / properties / pageId
Removed value: -{
- "anyOf": [
- {
- "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"
- },
- {
- "type": "null"
- }
- ]
-}
changedOutput schema / properties / status / description
Previous value: -"pending waits for run_batch, processing is rendering, success has rendered, failed has a render error, cancelled was stopped by cancel_batch or cancel_job (final, not charged)"New value: +"processing while any job renders (get_job a few seconds later), pending while any waits for run_job, done when each has finished"
changedOutput schema / properties / status / enum
Previous value: -[
- "pending",
- "processing",
- "success",
- "failed",
- "cancelled"
-]New value: +[
+ "processing",
+ "pending",
+ "done"
+]
removedOutput schema / properties / templateId
Removed value: -{
- "anyOf": [
- {
- "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"
- },
- {
- "type": "null"
- }
- ]
-}
changedOutput schema / required
Previous value: -[
- "id",
- "status",
- "batchId",
- "templateId",
- "pageId",
- "flowId",
- "outputKind",
- "outputFormat",
- "creditCost",
- "error",
- "output"
-]New value: +[
+ "status",
+ "jobs"
+]