Convert a deck to PDF, reporting every approximation as a loss.
Use describe("pptx.convert.pdf") when your code needs the complete live JSON Schemas.
At a glance
| Property | Value |
|---|---|
| Package | @runstamp/pptx |
| Domain / verb | pptx / convert |
| Customer jobs | convert, transform |
| 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/convert/pdf. 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, to, pdf |
| 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" |
$.to | default="pdf" |
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.convert.pdf/input.json").then((response) => response.json());
const result = await runstamp.run("pptx.convert.pdf", 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.convert.pdf/input.json -o input.json
npx -p @runstamp/sdk runstamp ops invoke pptx.convert.pdf --input input.json{
"tool": "runstamp_invoke_operation",
"arguments": {
"operation": "pptx.convert.pdf",
"input": "<JSON from https://runstamp.com/demo-evidence/operation-evidence/pptx/pptx.convert.pdf/input.json>",
"execution_mode": "local"
}
}Errors and losses
Declared errors (8)
common/SCHEMA_REJECTEDcommon/CONTRACT_VIOLATIONcommon/OPERATION_CANCELLEDcommon/OPERATION_TIMEOUTcommon/RESOURCE_LIMIT_EXCEEDEDcommon/INPUT_CORRUPTpptx/LOSS_POLICY_VIOLATEDcommon/UNSUPPORTED_FEATURE
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
0a494155fba6d330ee75ef922bb5828fbccf8370e9308746b845e507701d220d. - Verified result SHA-256:
a387aa3d4e7c298120bb170d7f9ae9e48f55f37b8c078ad92e5a5fce5fae1c35. - Qualification lane:
10-pptx-docx.
Contract fingerprints
- Descriptor:
37c0151ae996d2854aa0e2ca630789908b4b984da6fab46115186e69b5f32380. - Input schema:
bce46d7d688b912aba56c73d9f889635287b6acfae77facc20729899197d617f. - Options schema:
e00fa259bacf5b9a633c0a4b1c15bc096593fdcecef85aae9422c66d00d90078. - Result value schema:
e7e0bc52bf866264c04c0cc2a2d2d788751a82a731f6a8bc31b2efb72d06d08c.
The machine-readable operation reference publishes the complete schemas, qualification results, and evidence bindings for every operation.