Skip to main content
POST
/
render
const response = await fetch("https://api.joinoverlap.com/render", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.OVERLAP_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    companyId: process.env.OVERLAP_COMPANY_ID,
    clipId: "clip-id-from-results"
  })
});

const data = await response.json();

Endpoint

POST https://api.joinoverlap.com/render
Use this endpoint after saving clip edits with POST /update-clip, or whenever you need a finalized export for an existing clip. Rendering runs synchronously, so the request stays open until the render finishes or fails.

Authentication

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Request Body

{
  "companyId": "your-company-id",
  "clipId": "clip-id-from-results"
}
FieldTypeRequiredDescription
companyIdstringYesYour Overlap company or organization identifier.
clipIdstringYesThe clip id returned by GET /workflow-results/{triggerId}.
const response = await fetch("https://api.joinoverlap.com/render", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.OVERLAP_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    companyId: process.env.OVERLAP_COMPANY_ID,
    clipId: "clip-id-from-results"
  })
});

const data = await response.json();

Response

{
  "status": "finished",
  "renderUrl": "https://cdn.overlap.ai/rendered/final-clip.mp4"
}
FieldTypeDescription
statusstringfinished, failed, or rendering.
renderUrlstringURL of the newly rendered clip when rendering succeeds.
errorstringError message when rendering fails.
codestringSpecific error code when available.

Performance

  • Rendering runs synchronously.
  • Expected runtime is about 20 seconds + video_length_seconds * 0.5.
  • Keep the connection open until the response returns.

Clip Model

Review the clip fields returned by workflow results