Use this when the person wants to change a made clip's captions, anything a person can change by hand, without a render: style (list_styles names), size (smaller, bigger, small, medium, large, extra_large), position (up, down, top, middle, lower, bottom) or an exact height (caption_y, e.g. to keep them clear of a scene's drawing), colour, highlight colour, font, case, outline, shadow, words per line, captions off, and stretches with no captions (hide: where a scene already writes the words on screen, so they are not shown twice); also weight, italic, size_fraction, appearance (how words appear: word by word, karaoke, typewriter...), card (a box behind the words), letter, word and line spacing, effect (glow, gradient, echo, depth, knockout), highlight_block and highlight_size for the highlighted word, blur in and out, arrangement (a stacked layout), colour_by_speaker and reset. scope {from_word, to_word} gives just those captions their own look; words [{word, color, size, weight, font, italic, case, highlight, big}] styles single words. list_styles kinds font, appearance, effect and arrangement list the choices. A clip with scenes from you follows the change. Use restyle_clip only when the person wants a new video made straight away.
View input schema
{
"type": "object",
"properties": {
"clip_id": {
"type": "string",
"description": "The clip's id (from get_episode, get_job or the Slice link)."
},
"style": {
"type": "string"
},
"caption_size": {
"type": "string"
},
"position": {
"type": "string"
},
"color": {
"type": "string",
"description": "The caption words' colour, \"#rrggbb\"."
},
"highlight_color": {
"type": "string",
"description": "The highlighted word's colour, \"#rrggbb\"."
},
"font": {
"type": "string",
"description": "One of Slice's caption fonts: Inter, Montserrat, Poppins, Sora, TeX Gyre Heros, DM Sans, IBM Plex Mono, JetBrains Mono, Courier Prime, Anton, Bebas Neue, Oswald, Nunito, DM Serif Display, Instrument Serif, Cormorant Garamond, Lora, Libre Baskerville, Merriweather, Playfair Display, Space Mono, Pacifico, Courgette, Satisfy, Dancing Script, Kaushan Script, Yellowtail, Grand Hotel, Parisienne, Caveat, Archivo Black, Barlow Condensed, Baloo 2, Anybody, Archivo, Bricolage Grotesque, Epilogue, Figtree, Manrope, Outfit, Plus Jakarta Sans, Space Grotesk, Urbanist, Bitter, Bodoni Moda, EB Garamond, Fraunces, Libre Bodoni, Newsreader, Spectral, Young Serif, Zilla Slab, Alfa Slab One, Big Shoulders Display, Black Ops One, Bungee, Fjalla One, Fugaz One, Lilita One, Passion One, Rubik Mono One, Staatliches, Teko, Titan One, Ultra, Abril Fatface, Bungee Inline, Lobster Two, Lobster, Monoton, Poiret One, Sacramento, Silkscreen, Yeseva One, Amatic SC, Bangers, Caveat Brush, Chewy, Fredoka, Gloria Hallelujah, Indie Flower, Luckiest Guy, Patrick Hand, Rock Salt, Shrikhand, Sriracha, Audiowide, Chakra Petch, Major Mono Display, Michroma, Orbitron, Rajdhani, Share Tech Mono, VT323, Heebo, Rubik, Assistant, Frank Ruhl Libre, Secular One, Suez One."
},
"case": {
"type": "string",
"enum": [
"upper",
"as_said"
]
},
"outline": {
"description": "false, true, or { \"width\": 0 to 0.3 (fraction of the font size), \"color\": \"#rrggbb\" }."
},
"shadow": {
"description": "false, true, or { \"color\": \"#rrggbb\", \"blur\": 0 to 0.5, \"offset_y\": 0 to 0.3 }."
},
"words_per_line": {
"description": "At most this many words a caption line, 1 to 7, or \"auto\"."
},
"captions": {
"type": "string",
"enum": [
"on",
"off"
],
"description": "Captions on or off for the whole clip."
},
"hide": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from_seconds": {
"type": "number"
},
"to_seconds": {
"type": "number"
}
},
"required": [
"from_seconds",
"to_seconds"
]
},
"description": "Stretches (seconds on the clip) with no captions, e.g. where a scene already writes the words on screen. Replaces the clip's hidden stretches; [] shows captions everywhere again."
},
"hide_also": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from_seconds": {
"type": "number"
},
"to_seconds": {
"type": "number"
}
},
"required": [
"from_seconds",
"to_seconds"
]
},
"description": "Stretches to add to the hidden ones."
},
"caption_y": {
"type": "number",
"description": "The caption block's centre: a fraction of the frame's height (0.7) or px of 1920 (1340). Kept inside Instagram's safe area. On a clip with scenes from you it holds on every scene."
},
"weight": {
"type": "integer",
"description": "100 to 900; snapped to the weights the font has."
},
"italic": {
"type": "boolean"
},
"size_fraction": {
"type": "number",
"description": "Exact caption size: a fraction of the frame height, 0.015 to 0.15 (0.05 is large)."
},
"appearance": {
"type": "string",
"description": "How the words appear: phrase, fade, rise, pop (word by word), bounce, karaoke, word (one at a time), typewriter, punch, slide, sweep, around."
},
"card": {
"description": "A box behind the words: false, true, or { \"color\", \"opacity\" 0-1, \"padding\" 0-1.5, \"radius\" 0-1.5 }."
},
"letter_spacing": {
"type": [
"number",
"null"
],
"description": "em, -0.1 to 0.5; null for the style's own."
},
"word_spacing": {
"type": [
"number",
"null"
],
"description": "em, -0.2 to 1; null for the style's own."
},
"line_height": {
"type": [
"number",
"null"
],
"description": "0.7 to 2; null for the style's own."
},
"effect": {
"description": "none, glow, gradient, echo, depth or knockout, or { \"type\", \"color\", \"color2\" }."
},
"highlight_block": {
"description": "A block behind the highlighted word: false, true, or { \"color\", \"opacity\", \"padding\", \"radius\" }."
},
"highlight_size": {
"type": "number",
"description": "The highlighted word's size, 0.5 to 3 times the others."
},
"blur": {
"description": "Words blur in and out: false, true, or { \"in\", \"out\", \"strength\": \"soft\" | \"full\" }."
},
"arrangement": {
"type": [
"string",
"null"
],
"description": "A stacked layout id (list_styles kind \"arrangement\"), or null to take it off."
},
"colour_by_speaker": {
"description": "true gives each voice its own colour, false takes it off, or { \"<voice>\": \"#rrggbb\" }."
},
"reset": {
"description": "\"look\" (back to the style's own look), \"captions\" (every caption back on the clip's look), \"positions\" (captions placed by hand back in line) or \"all\"."
},
"scope": {
"type": "object",
"properties": {
"from_word": {
"type": "integer"
},
"to_word": {
"type": "integer"
}
},
"required": [
"from_word",
"to_word"
],
"description": "Give only the captions holding these words this look (colour, font, case, weight, size, outline, shadow, card, effect, appearance...)."
},
"words": {
"type": "array",
"items": {
"type": "object",
"properties": {
"word": {
"type": "integer"
},
"color": {
"type": [
"string",
"null"
]
},
"size": {
"type": [
"number",
"null"
]
},
"weight": {
"type": [
"integer",
"null"
]
},
"font": {
"type": [
"string",
"null"
]
},
"italic": {
"type": "boolean"
},
"case": {
"type": [
"string",
"null"
],
"enum": [
"upper",
"lower",
"as_said",
null
]
},
"highlight": {
"type": "boolean"
},
"big": {
"type": "boolean"
}
},
"required": [
"word"
]
},
"description": "Looks for single words (index from get_clip_edit): colour, size (0.5 to 3 times), weight, font, italic, case, highlight, big (the one big word of a Big word caption)."
}
},
"required": [
"clip_id"
]
}