Contentdrips API Playground

Generate your social media posts with the Contentdrips API

Render Render a template
Get Status Get the status of a job
Get Result Get the result of a job

Template ID

Bearer Token

Features

Branding: Update name, handle, avatar, and bio on the template.

Content Update: Update text or image content with specific labels.

Carousel Maker: Create carousels with headings, descriptions, and images.

Output Format

PDF: Returns a single PDF file URL.

PNG (Carousel): Returns multiple .png image URLs in an array.

PNG (Single Image): Returns a single .png image file URL.

API Request Preview

const response = await fetch("https://generate.contentdrips.com/render", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: "Bearer "
  },
  body: JSON.stringify({
      template_id: "",
      output: "png"
  })
});

Result

Generation Response Examples

✅ Success Response (202 Accepted):

{
 "job_id": "5844c4b4-dd6d-4b60-8d0f-e3818043fb11",
 "status": "queued",
 "message": "Job has been queued for processing",
 "estimated_time": "2-5 minutes",
 "check_status_url": "/job/5844c4b4-dd6d-4b60-8d0f-e3818043fb11/status"
}

❌ Bad Request (400):

{
 "error": "Validation error",
 "message": "template_id is required"
}

🔒 Unauthorized (401):

{
 "error": "Unauthorized",
 "message": "Invalid or missing Bearer token"
}

⚠️ Server Error (500):

{
 "error": "Failed to queue job",
 "message": "Redis connection failed"
}

Job ID

API Request Preview

const statusResponse = await fetch("https://generate.contentdrips.com/job/{job_id}/status", {
  method: "GET",
  headers: {
    "Content-Type": "application/json"
  }
});

const statusData = await statusResponse.json();
console.log(statusData);

Status Result

""

Job Status Response Examples

📊 Job Status Response (/status endpoint):

Queued:

{
 "job_id": "5844c4b4-dd6d-4b60-8d0f-e3818043fb11",
 "status": "queued",
 "updated_at": "2024-01-15T10:30:00.000Z",
 "startedAt": null,
 "progress": "Job is waiting in queue"
}

Processing:

{
 "job_id": "5844c4b4-dd6d-4b60-8d0f-e3818043fb11",
 "status": "processing",
 "updated_at": "2024-01-15T10:32:00.000Z",
 "startedAt": "2024-01-15T10:32:00.000Z",
 "progress": "Loading fonts and templates"
}

Completed:

{
 "job_id": "5844c4b4-dd6d-4b60-8d0f-e3818043fb11",
 "status": "completed",
 "updated_at": "2024-01-15T10:35:00.000Z",
 "startedAt": "2024-01-15T10:32:00.000Z",
 "progress": "Job completed successfully"
}

Failed:

{
 "job_id": "5844c4b4-dd6d-4b60-8d0f-e3818043fb11",
 "status": "failed",
 "updated_at": "2024-01-15T10:33:00.000Z",
 "startedAt": "2024-01-15T10:32:00.000Z",
 "progress": "Error: Template not found",
 "error_details": "Invalid template ID provided"
}

Job ID

API Request Preview

const resultResponse = await fetch("https://generate.contentdrips.com/job/{job_id}/result", {
  method: "GET",
  headers: {
    "Content-Type": "application/json"
  }
});

const result = await resultResponse.json();
console.log(result);

Result

""

Job Result Response Examples

📝 Job Result When Pending (/result endpoint):

{
 "job_id": "5844c4b4-dd6d-4b60-8d0f-e3818043fb11",
 "status": "processing",
 "message": "Job not yet completed",
 "check_again_in": "30 seconds"
}

✅ Job Result When Completed (/result endpoint):

Single Image:

{
 "date": "2024-01-15T10:35:00.000Z",
 "type": "normal",
 "export_url": "https://your-bucket.s3.amazonaws.com/.../template.png"
}

Carousel PDF:

{
 "date": "2024-01-15T10:35:00.000Z",
 "type": "carousel",
 "export_url": "https://your-bucket.s3.amazonaws.com/.../carousel.pdf"
}

Carousel PNG Array:

{
 "date": "2024-01-15T10:35:00.000Z",
 "type": "carousel",
 "export_url": [
   "https://your-bucket.s3.amazonaws.com/.../frame-0.png",
   "https://your-bucket.s3.amazonaws.com/.../frame-1.png",
   "https://your-bucket.s3.amazonaws.com/.../frame-2.png"
 ]
}

❌ When Job has Failed:

{
 "job_id": "5844c4b4-dd6d-4b60-8d0f-e3818043fb11",
 "status": "failed",
 "message": "Template not found or processing error occurred",
 "error_details": "Invalid template ID provided"
}