Codia
Presentation Conversion API

PDF to Editable PPT API

Turn PDF pages into fully editable PowerPoint decks with selectable text, vector shapes, images, and page-level layout preserved.

API pipeline
PDF to Editable PPT API
POST
Input
PDF
PDF URL inside a unified task request
Codia Open API
Page layout reconstruction
Auth
Queue
Result
Output
Editable PPTX
Text, vectors, images
Mode
Async task with polling or webhook
Credits
13 credits per submitted page
Output
Downloadable .pptx URL
POST /v1/open/tasks
curl 'https://api.codia.ai/v1/open/tasks' \
  -H 'Authorization: Bearer {codia_api_key}' \
  -H 'Idempotency-Key: ppt-job-2026-05-28-001' \
  -H 'Content-Type: application/json' \
  --data '{
    "operation": "pdf_to_ppt",
    "input": {
      "upload_id": "upl_550e8400-e29b-41d4-a716-446655440000",
      "page_no": [0, 1, 2],
      "title": "Quarterly report"
    },
    "callback_url": "https://your-server.com/webhook/codia-task"
  }'
Response
{
  "code": 0,
  "message": "ok",
  "data": {
    "task_id": "550e8400-e29b-41d4-a716-446655440000",
    "operation": "pdf_to_ppt",
    "status": "pending",
    "created_at": 1764000000
  }
}

Built for production API workflows

Each Codia Open API shares the same authentication, billing, and operational model, so teams can add new visual conversion capabilities without new infrastructure.

Native editable text

Text blocks stay selectable and reusable instead of being flattened into screenshots.

Vector-aware conversion

Lines, paths, shapes, and embedded images are reconstructed as deck objects.

Production async flow

Submit tasks, poll status, or receive signed webhooks when the PPTX is ready.

Developer reference

The fields below are the pieces most teams need before wiring the API into a real product flow.

Endpoint
POST /v1/open/tasks
Polling endpoint
POST /v1/open/tasks/{task_id}
Content types
application/json
Input
PDF URL inside a unified task request

Request fields

FieldTypeRequiredNotes
operation*pdf_to_pptYesTask operation. Use pdf_to_ppt for editable PowerPoint generation.
input.upload_id*stringYesOpaque ID returned by POST /v1/open/uploads. Codia-managed uploads do not expose public file URLs.
input.page_no*number[]Yes0-indexed page numbers to convert. Supports up to 20 pages per task.
input.titlestringNoOutput PPTX title. Defaults to the source file name when omitted.
callback_urlstring URLNoHTTPS webhook called when the conversion completes or fails.

Response fields

FieldTypeRequiredNotes
task_id*uuidYesStore this ID and use it with GET /v1/open/tasks/{task_id}.
operation*pdf_to_pptYesOperation associated with this task.
status*pending | processing | succeeded | failed | canceledYesTask lifecycle state returned by the status endpoint.
result.ppt_urlstring URLNoGenerated PPTX download URL. Present when status is succeeded.
errorstringNoFailure reason. Present when status is failed.

Integration flow

Build the happy path first, then add polling, retry, and terminal error handling around it. Async APIs should store the returned task or record ID before the user leaves the current screen.

1

Submit pages

Create a pdf_to_ppt task with a public PDF URL and the 0-indexed pages you want converted.

2

Track the task

Poll GET /v1/open/tasks/{task_id} every few seconds or listen for your callback webhook.

3

Store the deck

Fetch the generated PPTX from the temporary download URL and persist it in your system.

Copy-ready examples

Start with curl, then adapt the TypeScript or Python flow for your backend worker.

Submit with curl · bash
curl 'https://api.codia.ai/v1/open/tasks' \
  -H 'Authorization: Bearer {codia_api_key}' \
  -H 'Idempotency-Key: ppt-job-2026-05-28-001' \
  -H 'Content-Type: application/json' \
  --data '{
    "operation": "pdf_to_ppt",
    "input": {
      "upload_id": "upl_550e8400-e29b-41d4-a716-446655440000",
      "page_no": [0, 1, 2],
      "title": "Quarterly report"
    },
    "callback_url": "https://your-server.com/webhook/codia-task"
  }'

Limits and production notes

Limits

  • Convert up to 20 selected pages per task.
  • Credits are deducted when the task is submitted: 13 credits per submitted page.
  • Failed tasks refund reserved credits idempotently. Canceled PDF to PPT tasks refund only pages that have not been converted yet.
  • Add-on packs: 100 credits for $19.99, 200 credits for $29.99, or 500 credits for $49.99.
  • Use HTTPS URLs that can be fetched without cookies, JavaScript, or login gates.
  • Poll every 3-5 seconds; avoid tight loops while the document is processing.
  • Use /v1/open/tasks to inspect active tasks and /v1/open/tasks/{task_id}/cancel to cancel pending or processing work.
  • Task status, list, and cancel operations are scoped to the API key that created the task.

Implementation checklist

  • Persist task_id before returning control to the user so a page refresh does not lose the job.
  • Send Idempotency-Key on create requests if your client may retry after a timeout. The key is scoped to the current API key and operation.
  • Reusing the same Idempotency-Key with different input or callback_url returns HTTP 409.
  • Use POST /v1/open/tasks to create PDF to PPT jobs, GET /v1/open/tasks/{task_id} for status, GET /v1/open/tasks for paginated history, and POST /v1/open/tasks/{task_id}/cancel to cancel active work.
  • If you provide callback_url, verify X-Codia-Signature before trusting the webhook payload.
  • Download and self-host the completed PPTX if your app needs long-term access.
  • Split long PDFs into multiple tasks and merge or present results in your own workflow.

Error handling

CodeMeaningWhat to do
400Invalid request body, missing required fields, unsupported file, or malformed URL.Validate input client-side and log the API response message for the failed request.
401Missing or invalid API key.Send Authorization: Bearer {codia_api_key}; rotate the key if validation keeps failing.
402Insufficient Open API credits.Stop retrying automatically and ask the workspace owner to top up or upgrade.
429Rate limit or concurrency limit reached.Retry with exponential backoff and a small amount of jitter.
500Temporary server-side failure.Retry idempotent polling calls; for submit calls, store your client request ID and avoid duplicate work.

Status values timeline

pending

Task accepted and waiting for processing.

processing

Conversion is running.

succeeded

PPTX is ready and result.ppt_url is available.

failed

Conversion failed; inspect error and decide whether to retry.

canceled

Task was canceled. For PDF to PPT, only unconverted pages are refunded; for example, canceling a 15-page task after 10 pages finished refunds 65 credits.

Where teams use it

Codia APIs are designed for applications that need visual understanding, asset conversion, and editable outputs at scale.

Rebuild slide decks that only exist as exported PDFs.

Let AI agents create editable presentations from source reports.

Batch-convert customer PDFs into reviewable PowerPoint drafts.

Move PDF-based sales, education, and training content into editable workflows.

Which API should you use?

Similar visual APIs solve different integration problems. Use this table to route users to the right endpoint.

APIBest forNot for
PDF to Editable PPTTurning PDF decks, reports, and training documents into editable PowerPoint files.Extracting UI layout JSON or Figma-style design structure from a PDF.
PDF to Visual SchemaUnderstanding PDF page layout, components, and styling as structured design data.Generating a downloadable .pptx presentation.
Image to DSLConverting screenshots into editable UI/design structure.Working with multi-page PDF documents or PowerPoint output.

Harga

Harga yang transparan untuk setiap produk. Mulai gratis, tingkatkan sesuai kebutuhan Anda.

FAQ

Common implementation questions for PDF to Editable PPT API.

No. The API reconstructs text, images, and vector shapes as PowerPoint objects so the result can be edited after download.

Submit up to the documented page limit per task and split larger documents into multiple jobs. Each job returns a task ID that can be tracked independently.

Yes. Provide a callback URL at submission time and verify the Codia signature header before trusting the callback payload.

Yes. Upload the local PDF to POST /v1/open/uploads first, then pass the returned upload_id to POST /v1/open/tasks. Use input.pdf_url only for files hosted by your own storage.

All three APIs use the unified Codia Open API balance. You can subscribe to an Open API plan or buy add-on credits: 100 credits for $19.99, 200 credits for $29.99, or 500 credits for $49.99.

Build with PDF to Editable PPT API

Use one Codia Open API balance across visual structure, presentation conversion, vectorization, background removal, and image processing workflows.