TurboslideDocumentationNew Presentation

Objects on a slide

The actions of the block group, with their input fields and their names on every transport.

43 actions: 43 on the command line, 43 as MCP tools, 43 as HTTP endpoints and 43 in the page.

block.set

Set block property. Writes one property of a block by JSON pointer; an absent value deletes it.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
pathstringyesJSON pointer inside the block, such as /key
valueunknownnoThe new value; omit it to delete the property
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block set <slideId>#<blockId> <path> <value>
  • MCP tool: deck_update_block
  • HTTP: POST /api/actions/block.set
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.insert

Insert block. Inserts a block into a slot after the named block, or first; a block carrying pos on a slide that is not a canvas yet converts the slide first and lands as an object.

FieldTypeRequiredDescription
slideIdstringyes
slotone of 8 valuesyes
afterstringno
block__schema0yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block insert <slideId> --slot <slot> --after <after> < block.json
  • MCP tool: deck_insert_block
  • HTTP: POST /api/actions/block.insert
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.remove

Remove block. Removes a block from its slide.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block remove <slideId>#<blockId>
  • MCP tool: deck_remove_block
  • HTTP: POST /api/actions/block.remove
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.move

Move block. Moves a block to a slot after the named block, or first.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
slotone of 8 valuesyes
afterstringno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block move <slideId>#<blockId> --slot <slot> --after <after>
  • MCP tool: deck_move_block
  • HTTP: POST /api/actions/block.move
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.align

Align blocks. Aligns objects on one edge, against the selection for several, the slide for one, or the content box; against the selection the shared edge is the extreme object's own edge unless snap is true, and the slide's and the content box's edges stay exact; a slide that is not a canvas yet converts first (docs/FOCUS.md rank 14).

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yesThe blocks to move, top level of a freeform slide
edge"left" | "center" | "right" | "top" | "middle" | "bottom"yesleft, center or right move x; top, middle or bottom move y
to"selection" | "content" | "sheet"noThe reference box; 'selection' for several blocks and 'sheet' (the slide) for one unless set
snapbooleannoSnap the selection's shared edge to the guides and the grid; off unless true, and never applied to the slide's or the content box's edges
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block align <slideId> --blocks <blockIds> --edge <edge> --to <to>
  • MCP tool: deck_align_blocks
  • HTTP: POST /api/actions/block.align
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.distribute

Distribute blocks. Spreads freeform blocks along one axis with equal gaps between the first and the last, or with a fixed gap; with snap the moved edges round to the 8 px grid.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
axis"horizontal" | "vertical"yes
gapnumbernoA fixed gap in px instead of equal spacing
snapbooleanno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block distribute <slideId> --blocks <blockIds> --axis <axis> --gap <gap>
  • MCP tool: deck_distribute_blocks
  • HTTP: POST /api/actions/block.distribute
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.order

Order block. Moves a freeform block through the stacking order, to the front or back or by one step, or to a given z rank, and renumbers the stack densely.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
move"front" | "back" | "forward" | "backward"no
zintegernoThe target rank in the stack, 0 at the back
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block order <slideId>#<blockId> --move <move> --z <z>
  • MCP tool: deck_order_block
  • HTTP: POST /api/actions/block.order
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.duplicate

Duplicate block. Copies the named blocks of a slide with fresh ids, each after its original; a positioned copy sits 16 px right and down and on top of the stack, a copied group takes a fresh tag and copied connectors keep their attachments to copied targets.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block duplicate <slideId> --blocks <blockIds>
  • MCP tool: deck_duplicate_block
  • HTTP: POST /api/actions/block.duplicate
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.group

Group. Writes one group tag on two or more objects of a slide in one write; the tag is generated when none is given; a slide that is not a canvas yet converts first.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
groupstringnoThe tag; a fresh one when absent
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block group <slideId> --blocks <blockIds> --as <group>
  • MCP tool: deck_group_blocks
  • HTTP: POST /api/actions/block.group
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.ungroup

Ungroup. Removes the group tag from the named objects, or from every member of a named group, in one write.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]no
groupstringno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block ungroup <slideId> --group <group> --blocks <blockIds>
  • MCP tool: deck_ungroup_blocks
  • HTTP: POST /api/actions/block.ungroup
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.regroup

Regroup. Writes a tag back on the named objects, the set the editor remembers from the last ungroup.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
groupstringyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block regroup <slideId> --blocks <blockIds> --as <group>
  • MCP tool: deck_regroup_blocks
  • HTTP: POST /api/actions/block.regroup
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.rotate

Rotate. Rotates objects to an angle or by an angle, degrees clockwise normalized to 0 up to 360, about each box or about the selection (a group rotation moves the members around the union centre); attached connectors follow; a slide that is not a canvas yet converts first.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
tonumbernoThe angle in degrees
bynumbernoDegrees added to the current angle
about"each" | "selection"no'each' unless set
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block rotate <slideId>#<blockId> --to <to> --by <by> --about <about>
  • MCP tool: deck_rotate_block
  • HTTP: POST /api/actions/block.rotate
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.flip

Flip. Toggles one flip axis on objects; about the selection every member also mirrors about the union centre and its angle becomes 360 minus itself (a group flip); attached connectors follow.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
axis"h" | "v"yesh flips horizontally, v vertically
about"each" | "selection"no
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block flip <slideId>#<blockId> --axis <axis> --about <about>
  • MCP tool: deck_flip_block
  • HTTP: POST /api/actions/block.flip
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.crop

Crop image. Writes the crop of a picture as fractions of it trimmed from each side; a slide that is not a canvas yet converts first when the picture is positioned.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
trimobjectyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block crop <slideId>#<blockId> --left <left> --right <right> --top <top> --bottom <bottom>
  • MCP tool: deck_crop_image
  • HTTP: POST /api/actions/block.crop
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.mask

Mask image. Clips a picture to a closed shape preset, or removes the mask with null.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
maskstring | nullyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block mask <slideId>#<blockId> <mask>
  • MCP tool: deck_mask_image
  • HTTP: POST /api/actions/block.mask
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.resetImage

Reset image. Removes the crop, the mask, the adjustments and the round one crop anchor and aspect of a picture in one write.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block reset-image <slideId>#<blockId>
  • MCP tool: deck_reset_image
  • HTTP: POST /api/actions/block.resetImage
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.adjust

Adjustments. Writes a picture’s transparency (0 to 1), brightness and contrast (-1 to 1); null clears one.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
transparencynumber | nullno
brightnessnumber | nullno
contrastnumber | nullno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block adjust <slideId>#<blockId> --transparency <transparency> --brightness <brightness> --contrast <contrast>
  • MCP tool: deck_adjust_image
  • HTTP: POST /api/actions/block.adjust
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.setAlt

Alt text. Writes the description of an object: on the block for a shape, chart, line or text box, on the asset for a block that shows a picture, so two pictures of one asset share one description; the output names where it went.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
altstringyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block alt <slideId>#<blockId> <alt>
  • MCP tool: deck_set_alt_text
  • HTTP: POST /api/actions/block.setAlt
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.shadow

Drop shadow. Writes or removes the drop shadow of objects: colour, opacity, angle, distance and blur, the absent ones at their defaults.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
shadowobject | nullyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block shadow <slideId>#<blockId> --on --color <color> --opacity <opacity> --angle <angle> --distance <distance> --blur <blur>
  • MCP tool: deck_set_shadow
  • HTTP: POST /api/actions/block.shadow
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

block.autofit

Text fitting. Writes the fitting mode of a text carrying block: Do not autofit, Shrink text on overflow or Resize shape to fit text (grow, positioned blocks only); with apply the fit is measured and written in the same write, and the output names the fields written.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
autofit"none" | "shrink" | "grow"yes
applytruenoMeasure the block and write the fit now: the box height for grow, the size step for shrink
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block autofit <slideId>#<blockId> <autofit> --apply
  • MCP tool: deck_set_autofit
  • HTTP: POST /api/actions/block.autofit
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

text.style

Text style. Marks a range of a Text italic, underlined, struck, superscript or subscript, gives it a text or highlight colour, or a size in pixels (true sets, false clears, null clears a colour or the size), as one text.replace of the whole Text; the output returns the new markup.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
pathstringyesJSON pointer of the Text inside the block, such as /text
range[integer, integer]yesThe range in the plain text of the Text, [start, end], one character per paragraph break
marksobjectyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide text style <slideId>#<blockId> <path> --range <range> --italic --underline --strike --superscript --subscript --color <color> --highlight <highlight> --size <px>
  • MCP tool: deck_style_text
  • HTTP: POST /api/actions/text.style
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

text.list

List options. Writes the marker, the preset and the items’ levels of a list block (a paragraph or text box converts to a list first); levels run 1 to 9.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
marker"rule" | "bullet" | "number"no
presetone of 15 valuesno
itemsinteger[]noThe items a level write applies to; every item unless set
levelintegerno
levelBy1 | -1no
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide text list <slideId>#<blockId> --marker <marker> --preset <preset> --items <items> --level <level>
  • MCP tool: deck_set_list
  • HTTP: POST /api/actions/text.list
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

text.spacing

Line and paragraph spacing. Writes the line spacing (a factor) and the space before and after paragraphs (px) of text blocks; null clears one.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
linenumber | nullno
beforenumber | nullno
afternumber | nullno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide text spacing <slideId>#<blockId> --line <line> --before <before> --after <after>
  • MCP tool: deck_set_spacing
  • HTTP: POST /api/actions/text.spacing
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

text.columns

Columns. Writes the column count of text blocks, 1 to 3.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
columns1 | 2 | 3yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide text columns <slideId>#<blockId> <columns>
  • MCP tool: deck_set_columns
  • HTTP: POST /api/actions/text.columns
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

text.indent

Indent. Steps the left indent of text blocks by 64 px in or out, or writes it; on a list block with items the items’ levels step instead.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
by1 | -1noOne step in (1) or out (-1)
tonumbernoThe indent in px
itemsinteger[]noList items whose level steps
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide text indent <slideId>#<blockId> --in --out --to <to> --items <items>
  • MCP tool: deck_indent_text
  • HTTP: POST /api/actions/text.indent
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

text.case

Capitalization. Rewrites the characters of a range in lowercase, UPPERCASE or Title Case, marks and links kept, as one text.replace.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
pathstringyesJSON pointer of the Text inside the block, such as /text
range[integer, integer]yesThe range in the plain text of the Text, [start, end], one character per paragraph break
mode"lower" | "upper" | "title"yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide text case <slideId>#<blockId> <path> --range <range> <mode>
  • MCP tool: deck_set_case
  • HTTP: POST /api/actions/text.case
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

text.insert

Insert text. Inserts a string at a plain text offset of a Text, the special characters picker’s write, as one text.replace at [at, at].

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
pathstringyesJSON pointer of the Text inside the block, such as /text
atintegeryes
textstringyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide text insert <slideId>#<blockId> <path> --at <at> <text>
  • MCP tool: deck_insert_text
  • HTTP: POST /api/actions/text.insert
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

chart.setData

Edit chart data. Writes a chart’s categories and series in one write; every series carries one value per category.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
categoriesstring[]yes
seriesobject[]yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide chart set-data <slideId>#<blockId> < data.json
  • MCP tool: deck_set_chart_data
  • HTTP: POST /api/actions/chart.setData
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

chart.setKind

Chart type. Writes a chart’s kind; a pie keeps the first series and the output names the dropped ones.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
kind"bar" | "column" | "line" | "pie"yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide chart set-kind <slideId>#<blockId> <kind>
  • MCP tool: deck_set_chart_kind
  • HTTP: POST /api/actions/chart.setKind
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

table.merge

Merge cells. Merges the cells from one corner to another into the anchor; the covered cells’ texts join the anchor’s with a line break.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
from[integer, integer]yes
to[integer, integer]yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide table merge <slideId>#<blockId> --from <from> --to <to>
  • MCP tool: deck_merge_cells
  • HTTP: POST /api/actions/table.merge
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

table.unmerge

Unmerge cells. Removes the merge that covers a cell.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
at[integer, integer]yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide table unmerge <slideId>#<blockId> --at <at>
  • MCP tool: deck_unmerge_cells
  • HTTP: POST /api/actions/table.unmerge
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

table.insertRows

Insert rows. Inserts rows above or below a row, merges and cell styles shifted, in one write.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
atintegeryes
countintegerno
where"above" | "below"yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide table insert-rows <slideId>#<blockId> --at <at> --count <count> --above --below
  • MCP tool: deck_insert_rows
  • HTTP: POST /api/actions/table.insertRows
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

table.insertColumns

Insert columns. Inserts columns left or right of a column, every row gaining empty cells, merges and cell styles shifted, in one write.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
atintegeryes
countintegerno
where"left" | "right"yes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide table insert-columns <slideId>#<blockId> --at <at> --count <count> --left --right
  • MCP tool: deck_insert_columns
  • HTTP: POST /api/actions/table.insertColumns
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

table.deleteRows

Delete rows. Deletes the rows from one index to another; deleting every row removes the table.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
fromintegeryes
tointegerno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide table delete-rows <slideId>#<blockId> --from <from> --to <to>
  • MCP tool: deck_delete_rows
  • HTTP: POST /api/actions/table.deleteRows
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

table.deleteColumns

Delete columns. Deletes the columns from one index to another; deleting every column removes the table.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
fromintegeryes
tointegerno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide table delete-columns <slideId>#<blockId> --from <from> --to <to>
  • MCP tool: deck_delete_columns
  • HTTP: POST /api/actions/table.deleteColumns
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

table.distribute

Distribute rows or columns. Gives every row an equal height or every column an equal width from a total; without a total the widths or heights clear so the content sizes them.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
axis"rows" | "columns"yes
totalnumbernoThe measured or declared total in px
range[integer, integer]noThe first and last index to distribute; every one unless set
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide table distribute <slideId>#<blockId> <axis> --total <total>
  • MCP tool: deck_distribute_table
  • HTTP: POST /api/actions/table.distribute
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

table.cellStyle

Cell fill and border. Writes the fill and the border of cells in one write; null clears one; a border weight of 0 draws no border.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
cells[integer, integer][]yes
fill"ink" | "paper" | "ink-2" | "titanium" | "hair" | "hair-soft" | "plate" | "edge" | "green" | "amber" | "red" | "blue" | "accent" | string | nullno
borderobject | nullno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide table cell-style <slideId>#<blockId> --at <cells> --fill <fill> --border-color <color> --border-weight <weight> --border-dash <dash>
  • MCP tool: deck_style_cells
  • HTTP: POST /api/actions/table.cellStyle
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

shape.set

Shape. Writes the shape fields of shape blocks in one write: the preset, its adjust values, fill, border colour, weight, dash and corner radius; null clears one.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
kindstringno
adjustnumber[] | nullno
fill"ink" | "paper" | "ink-2" | "titanium" | "hair" | "hair-soft" | "plate" | "edge" | "green" | "amber" | "red" | "blue" | "accent" | string | nullno
stroke"ink" | "paper" | "ink-2" | "titanium" | "hair" | "hair-soft" | "plate" | "edge" | "green" | "amber" | "red" | "blue" | "accent" | string | nullno
width1 | 1.5 | 2 | 3 | 4 | nullno
dash"solid" | "dot" | "dash" | "dashDot" | "longDash" | "longDashDot" | nullno
radiusnumber | nullno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide shape set <slideId>#<blockId> --kind <kind> --adjust <adjust> --fill <fill> --stroke <stroke> --width <width> --dash <dash> --radius <radius>
  • MCP tool: deck_set_shape
  • HTTP: POST /api/actions/shape.set
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

line.set

Line. Writes the line fields of line blocks in one write: the kind, the start and end decorations, weight, dash, bend and points; a connect end attaches to a shape’s connection site and moves the end onto it, null detaches.

FieldTypeRequiredDescription
slideIdstringyes
blockIdsstring[]yes
kindone of 7 valuesno
startone of 10 valuesno
endone of 10 valuesno
weight1 | 1.5 | 2 | 3 | 4no
dash"solid" | "dot" | "dash" | "dashDot" | "longDash" | "longDashDot" | nullno
bendnumber | nullno
points[number, number][]no
connectobjectno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide line set <slideId>#<blockId> --kind <kind> --start <start> --end <end> --weight <weight> --dash <dash> --bend <bend> --points <points> --connect-start <connectStart> --connect-end <connectEnd> --detach <detach>
  • MCP tool: deck_set_line
  • HTTP: POST /api/actions/line.set
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

shader.insert

Insert a shader. Lands a shader as an object on the named slide: the entry’s featured preset unless one is named (the diamond for liquid metal), the common controls with their resolved uniforms beside them, motion.play show, in the largest free rectangle of the body slot (or at the box named), selected in the editor; a slide that is not a canvas converts first.

FieldTypeRequiredDescription
slideIdstringyes
materialIdstringyesA catalog id from shader.list (paper:liquid-metal)
presetstringnoA preset of the entry; its featured one when absent
controlsobjectno
atobjectnoThe box in sheet px; the free rectangle when absent
altstringno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide shader insert <slideId> <materialId> --preset <preset> --controls <controls> --at <at>
  • MCP tool: deck_shader_insert
  • HTTP: POST /api/actions/shader.insert
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

shader.set

Set a shader field. One write on a shader block: /preset writes the preset and clears the control overrides and the uniforms; /controls or /controls/<name> writes the controls and their resolved uniforms together; any other pointer (/anchor, /motion, /uniforms, /twoTone, /plate) is one block.set. One history entry.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
pathstringyesA JSON pointer under the block
valueunknownnoAbsent removes the field
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide shader set <slideId> <blockId> <path> <value>
  • MCP tool: deck_shader_set
  • HTTP: POST /api/actions/shader.set
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

picture.dither

Dither. Writes the deck’s two tone screen over a picture’s continuous source as a non destructive field, or removes it with null; a slide that is not a canvas converts first when the picture is positioned; answers the variant key, the metrics and any warnings.

FieldTypeRequiredDescription
slideIdstringyes
blockIdstringyes
ditherobject | nullyes
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide block dither <slideId>#<blockId> --pattern <pattern> --tone <tone> --cell <cell> --strength <strength> --black <black> --white <white> --gamma <gamma> --polarity <polarity> --off
  • MCP tool: deck_dither_picture
  • HTTP: POST /api/actions/picture.dither
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.

picture.materialize

Materialize dithers. Writes the variant files and records of every dithered picture on the named slides, prunes the variants no picture references when asked, or names the missing variants without writing under dryRun; server side.

FieldTypeRequiredDescription
slideIds"all" | string[]noA subset; 'all' when absent
blockIdsstring[]no
prunebooleanno
scale1 | 2noDevice pixels per sheet pixel; 2 unless set
dryRunbooleanno
baseRevisionintegeryesThe revision the caller read; a stale value is rejected with 409
  • Command line: turboslide picture materialize <slideIds> --prune --scale <scale> --dry-run
  • MCP tool: deck_materialize_pictures
  • HTTP: POST /api/actions/picture.materialize
  • Runs on: command line, MCP, HTTP, page.
  • Changes the presentation: yes; send the baseRevision you read.