Skip to content

Export an existing project

On the development integration API (dapi), one request enhances the latest saved edit and exports it. Existing export routes and creation-time automation remain available.

Enhance and export

curl -X POST "https://dapi.shuffllmedia.com/api/v1/auth/project/PROJECT_ID/export" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"toEnhance": true, "toUseScriptForSubtitles": true}'
FieldDefaultBehavior
toEnhancetrueEnhance before rendering. Set false to render current media and captions.
toUseScriptForSubtitlesfalsePull saved scene scripts and align their words to speech timestamps. Requires toEnhance: true.

An empty body {} or no body uses the defaults. You do not need to send the script. Script mode regenerates captions for this export snapshot, leaving working scene captions and template settings unchanged. Explicitly disabled subtitles remain disabled. Unmatched words receive estimated timings.

HTTP 202:

{ "projectId": "PROJECT_ID", "editId": "EXPORT_EDIT_ID" }

Keep both IDs. Rendering starts after the enhancement jobs complete.

Poll this export

curl "https://dapi.shuffllmedia.com/api/v1/auth/project/PROJECT_ID/edit/EXPORT_EDIT_ID/status/export" \
  -H "x-api-key: YOUR_API_KEY"
  • 202: pending; poll after 5–10 seconds.
  • 200 with isDone: true: complete; download urls.uploadPath. dashPath and hlsPath provide streaming manifests when generated. Metadata and thumbnails may also be returned.
  • 422 with status: "failed": stop polling and inspect error.

POST can return 400 for invalid flags, missing media, or missing scripts, and 409 if enhancement/export is active or the saved edit changed during reservation. Wait for the active operation or reload before retrying. Do not start duplicate requests while polling.

Create now, export later

Create with toAutoEnhance: false and toAutoExport: false. Wait until /auth/project/{projectId}/create/status reports DONE, make edits, and call the new export endpoint. Its flags are request-specific and do not change creation settings.

For fully automatic creation, explicitly set both creation flags to true. Omitted flags inherit the template’s API settings. See Quickstart.

Existing export routes

These retain their existing behavior and do not accept the new flags:

POST /auth/project/{projectId}/edit/export
POST /auth/project/{projectId}/edit/{editId}/export

They return HTTP 200 with { "projectId": "...", "editId": "..." }. Poll the returned edit ID. Existing /edit/status/export and /edit/status/enhance polling routes also remain supported for default-edit workflows.

See recent API changes and the API reference for environment availability and schemas.