Render a structured document to a native PowerPoint (.pptx) deck.
Use describe("pptx.render") when your code needs the complete live JSON Schemas.
At a glance
| Property | Value |
|---|---|
| Package | @runstamp/pptx |
| Domain / verb | pptx / render |
| Customer jobs | create |
| Deterministic | Yes |
| Side effects | network |
Availability
| Local | SDK | CLI | MCP | Managed API |
|---|---|---|---|---|
| public ga | public ga | public ga | public ga | public ga |
Managed API route: POST /api/v2/operations/pptx/render. Managed execution requires a free-trial workspace or an active Platform or Enterprise workspace, and an environment-bound API key.
Input and result
| Schema | Required fields | Optional fields |
|---|---|---|
| Input | none | none |
| Options | none | deterministic, deterministicSeed, timeoutMs, locale, lossPolicy, limits, render |
| Result value | bytes, mediaType, extension, byteLength, hash | none |
Every success also carries losses, diagnostics, and a hash-bound receipt.
Defaults, limits, and format constraints
Defaults
| Path | Default |
|---|---|
$.deterministic | default=true |
$.lossPolicy | default="collect" |
Formats and profiles
| Path | Constraint |
|---|---|
$.anyOf[0].version | const="1.0" |
$.anyOf[1].version | const="1.0" |
Other limits
| Path | Constraint |
|---|---|
$.anyOf[0].meta.language | pattern="^[a-zA-Z]{2,3}(-[a-zA-Z0-9]+)*$" |
$.anyOf[0].slideSize.width | exclusiveMinimum=0maximum=5600 |
$.anyOf[0].slideSize.height | exclusiveMinimum=0maximum=5600 |
$.anyOf[0].notesSize.width | exclusiveMinimum=0maximum=5600 |
$.anyOf[0].notesSize.height | exclusiveMinimum=0maximum=5600 |
$.anyOf[0].theme.colorScheme.dk1 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.lt1 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.dk2 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.lt2 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.accent1 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.accent2 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.accent3 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.accent4 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.accent5 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.accent6 | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.hlink | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].theme.colorScheme.folHlink | pattern="^#[0-9A-Fa-f]{6}$" |
$.anyOf[0].sections | maxItems=100 |
$.anyOf[0].sections[].slideIndices | maxItems=500 |
$.anyOf[0].sections[].slideIndices[] | minimum=0maximum=9007199254740991 |
$.anyOf[0].masters | maxItems=20 |
$.anyOf[0].masters[].layouts | minItems=1maxItems=50 |
$.anyOf[0].masters[].layouts[].placeholders | maxItems=50 |
$.anyOf[0].masters[].layouts[].placeholders[].idx | minimum=0maximum=9007199254740991 |
$.anyOf[0].masters[].background.oneOf[0].color.anyOf[0] | pattern="^#[0-9A-Fa-f]{6}$" |
Showing 32 of 377 constraints. Use describe() or the machine-readable reference for the complete schema.
Invoke
const input = await fetch("https://runstamp.com/demo-evidence/operation-evidence/pptx/pptx.render/input.json").then((response) => response.json());
const result = await runstamp.run("pptx.render", input);
if (!result.ok) throw new Error(`${result.error.code}: ${result.error.remediation}`);
console.log(result.value, result.losses, result.diagnostics, result.receipt);curl -fsS https://runstamp.com/demo-evidence/operation-evidence/pptx/pptx.render/input.json -o input.json
npx -p @runstamp/sdk runstamp ops invoke pptx.render --input input.json{
"tool": "runstamp_invoke_operation",
"arguments": {
"operation": "pptx.render",
"input": "<JSON from https://runstamp.com/demo-evidence/operation-evidence/pptx/pptx.render/input.json>",
"execution_mode": "local"
}
}Errors and losses
Declared errors (7)
common/SCHEMA_REJECTEDcommon/CONTRACT_VIOLATIONcommon/OPERATION_CANCELLEDcommon/OPERATION_TIMEOUTcommon/RESOURCE_LIMIT_EXCEEDEDcommon/INPUT_CORRUPTpptx/LOSS_POLICY_VIOLATED
Declared losses (18)
pptx/PROPERTY_NOT_RENDEREDpptx/FONT_SUBSTITUTEDpptx/FONT_EMBED_FAILEDpptx/FONT_EMBED_UNAVAILABLEpptx/TEXT_OVERFLOWS_SHAPEpptx/TABLE_CELL_OVERFLOWSpptx/CHART_DATA_MISSINGpptx/CHART_FALLBACK_MISSINGpptx/CHART_LABELS_COLLIDEpptx/VISUAL_FALLBACK_MISSINGpptx/HYPERLINK_DANGLINGpptx/ANIMATION_REFERENCE_BROKENpptx/RELATIONSHIP_TARGET_MISSINGpptx/ASSET_MISSINGpptx/BRAND_TOKEN_SUBSTITUTEDpptx/LAYOUT_SUBSTITUTEDpptx/MASTER_REFERENCE_UNRESOLVEDpptx/UNCLASSIFIED_CONDITION
SDK AbortSignal, CLI exit 130, and MCP cancellation return the typed common/OPERATION_CANCELLED failure envelope.
Verified example and exact contract
- Fixture:
icp-workflow(pptx-board-strategy-update.json). - Example input — SHA-256
61cdf570477e9403612a519fda57d0bff0c4b47e2f2320b2b7de169c3273f930. - Example result — SHA-256
99255f4c75ad5e4c2391b547315a8039868b79efa7d761901a273cd31aadacd3. - Verified result SHA-256:
ad1d0f081cddaade999b66e448e7f3de22d14ece44ba89aaec6da4664288bc71. - Qualification lane:
10-pptx-docx.
Contract fingerprints
- Descriptor:
216a2c03697fc1276066c3c9b8282b7c06268a54b67b80035ffbc4ff8e7911d7. - Input schema:
bce46d7d688b912aba56c73d9f889635287b6acfae77facc20729899197d617f. - Options schema:
f4ebacf8a8ab4800c5969f4c3d2b2f6148ca8ae0f3c20ac0577245b7eb2f45a5. - Result value schema:
73e84f12ca6fd72d728bde4136b0d7c45fe5273490d2ed01d895a153a04fef30.
The machine-readable operation reference publishes the complete schemas, qualification results, and evidence bindings for every operation.