changedOutput schema / properties / jobs / items / properties / preset / anyOf
Previous value: -[
- {
- "enum": [
- "highlight",
- "clean",
- "boxed"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "enum": [
+ "highlight",
+ "clean",
+ "boxed",
+ "karaoke",
+ "word",
+ "punch",
+ "wordbox",
+ "reveal",
+ "glow"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+]
addedOutput schema / properties / jobs / items / properties / style
Added value: +{
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "animation": {
+ "description": "How each caption arrives: none (the default), or pop (scales in with a small overshoot).",
+ "enum": [
+ "none",
+ "pop"
+ ],
+ "type": "string"
+ },
+ "boxColor": {
+ "description": "The plate colour on boxed, default black. wordbox's box marks the spoken word, so highlightColor sets it.",
+ "pattern": "^#?[0-9a-fA-F]{6}$",
+ "type": "string"
+ },
+ "boxPadding": {
+ "description": "Box padding as a percent of the text size, 5 to 60, on boxed (default 22) and wordbox (default 18).",
+ "maximum": 60,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "breakOnSentence": {
+ "description": "Start a new caption after every . ! ? or …, so no caption spans two sentences. Default off.",
+ "type": "boolean"
+ },
+ "fontSize": {
+ "description": "Text size as a percent of the preset's own size, 50 to 200, default 100. Above 100 it is a maximum: a word too wide for the frame is shrunk to fit. Bigger text puts fewer words on each caption.",
+ "maximum": 200,
+ "minimum": 50,
+ "type": "integer"
+ },
+ "highlightColor": {
+ "description": "The spoken word's colour as a hex RGB such as #FFE500: its text on highlight and punch, the sweep on karaoke, its box on wordbox. Defaults to the CaptionPipe accent (yellow on punch).",
+ "pattern": "^#?[0-9a-fA-F]{6}$",
+ "type": "string"
+ },
+ "maxWords": {
+ "description": "At most this many words on screen at once, 1 to 12. Default unlimited (a character budget applies), 1 on word, 3 on punch.",
+ "maximum": 12,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "offsetY": {
+ "description": "Distance from the bottom or top edge, as a percent of the frame height, 0 to 45. Default 22 on a portrait video, 12 on 16:9. Ignored when position is middle.",
+ "maximum": 45,
+ "minimum": 0,
+ "type": "number"
+ },
+ "outlineColor": {
+ "description": "The outline colour as a hex RGB, or the halo's on glow. Default black, violet on glow. Ignored by boxed, whose plate replaces the outline.",
+ "pattern": "^#?[0-9a-fA-F]{6}$",
+ "type": "string"
+ },
+ "paddingX": {
+ "description": "Space kept clear at each side, as a percent of the frame width, 0 to 20. Default 9 on a portrait video (clear of TikTok's side icons), 6 on 16:9.",
+ "maximum": 20,
+ "minimum": 0,
+ "type": "number"
+ },
+ "position": {
+ "description": "Where captions sit: bottom, middle or top. Default middle on word, bottom on every other preset.",
+ "enum": [
+ "bottom",
+ "middle",
+ "top"
+ ],
+ "type": "string"
+ },
+ "textColor": {
+ "description": "The text colour as a hex RGB. Default white.",
+ "pattern": "^#?[0-9a-fA-F]{6}$",
+ "type": "string"
+ },
+ "uppercase": {
+ "description": "Burn the captions in capitals. Default off, on for punch. The SRT, VTT and words.json keep normal case.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+}
changedOutput schema / properties / jobs / items / required
Previous value: -[
- "jobId",
- "status",
- "preset",
- "durationSeconds",
- "chargedSeconds",
- "createdAt",
- "completedAt",
- "renderStatus",
- "expiresAt",
- "expired",
- "errorCode",
- "sourceKind",
- "retryAfterSeconds",
- "uploadUrlExpiresAt",
- "uploadClaimExpiresAt"
-]New value: +[
+ "jobId",
+ "status",
+ "preset",
+ "style",
+ "durationSeconds",
+ "chargedSeconds",
+ "createdAt",
+ "completedAt",
+ "renderStatus",
+ "expiresAt",
+ "expired",
+ "errorCode",
+ "sourceKind",
+ "retryAfterSeconds",
+ "uploadUrlExpiresAt",
+ "uploadClaimExpiresAt"
+]