Add editable exports to a document product
Let users send a PDF through your existing application and receive an editable PPTX without exposing your API key to the client.
REST API → editable PowerPoint workflow
Create authenticated conversion tasks from uploaded PDFs or public URLs, select pages, poll status or receive a signed callback, and download the resulting PPTX from a temporary signed URL.
Start with 10 one-time pages. No credit card required.
What this workflow does
Reslide exposes the same credit balance and conversion service used by the web workspace through a Bearer-key REST API. Every response uses the envelope {code, message, data}; code is 0 on success and otherwise mirrors the HTTP status.
The API is asynchronous because conversion is a task rather than a request that holds the connection open. Create a task, store its task_id, and either poll the status endpoint or supply an HTTPS callback_url. Treat download URLs and uploads as temporary: both are documented with a 24-hour lifetime.
Step by step
The source stays important after conversion: use it to verify the new, editable representation before sharing or automating downstream work.
Sign in at /keys, create a tpx_live_ key, store it in a secret manager, and send it as Authorization: Bearer on every /v1 request. Do not embed it in browser code or documentation.
Upload a local PDF and use upload_id, or supply pdf_url. Image-list tasks instead accept ordered upload_ids or image_urls. PDF tasks may add 1-based pages to convert a subset.
POST /v1/tasks with operation pdf_to_pptx or images_to_pptx. Send your own unique Idempotency-Key so a retry returns the existing task instead of reserving credits twice.
Poll GET /v1/tasks/{task_id}, or verify the HMAC-SHA256 X-Tosea-Signature on an at-least-once callback. On success, download and persist result.pptx_url before it expires.
curl -X POST https://pptx-api.tosea.ai/v1/tasks \
-H "Authorization: Bearer $TOSEA_PPTX_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: conversion-123" \
-d '{
"operation": "pdf_to_pptx",
"input": {
"pdf_url": "https://example.com/deck.pdf",
"pages": [1, 2, 5],
"title": "Editable review deck"
},
"callback_url": "https://example.com/webhooks/reslide"
}'Good fit
Let users send a PDF through your existing application and receive an editable PPTX without exposing your API key to the client.
Use task listing, status filters, plan concurrency, idempotency keys, and webhooks to coordinate server-side work.
Expose a wrapper that accepts explicit files or URLs, creates one task, waits for a terminal state, and saves the result without granting unrelated account access.
Before you convert
Service rules
Honest boundaries
Reslide reconstructs from the submitted visual source. It does not claim to recover information, behavior, or authoring structure that the source no longer contains.
The current defaults are 100 pages per task and 100MB per upload, while concurrent tasks depend on plan. Query GET /v1/limits instead of hard-coding assumptions.
Use uploads for local or private files. URL inputs are for public sources the backend can fetch; do not place credentials in URLs.
Webhook delivery is at-least-once with retries. Verify the raw-body signature and deduplicate by task_id before applying side effects.
FAQ
The documented Bearer-key API includes POST /v1/uploads; POST and GET /v1/tasks; GET /v1/tasks/{task_id}; POST /v1/tasks/{task_id}/cancel; GET /v1/credits; GET /v1/usage; and GET /v1/limits. Use /openapi.json as the machine-readable source of truth.
One credit equals one converted page. Failed or canceled tasks have zero net billable task credits; reservations are reconciled against their original paid and bonus pools subject to those pools' lifecycle rules. The web workspace and API share the account balance.
A 429 response includes Retry-After. The current per-key implementation uses a 10 request/second rate with a burst of 30, and task concurrency also depends on plan. Back off and query the task rather than creating a duplicate.
Compute HMAC-SHA256 over the raw request body with the webhook secret shown in /keys, prefix the hexadecimal digest with sha256=, and compare it safely with X-Tosea-Signature. Return a 2xx promptly and deduplicate by task_id.
Continue exploring
Convert in the workspace, or use the documented REST API for a repeatable server-side workflow. Review the PPTX before it becomes a final deliverable.