๐ŸŽฌCreate an Explainer Video

Produce your first AI-powered explainer video in just a few steps. This walkthrough uses the same /content/Create endpoint as podcasts, but switches the payload to outputType: "video" so the service renders motion visuals instead of audio-only narration.

Step 1: Create Content Request

Send a POST request to /content/Create with your preferred resources and set outputType to video:

curl -X POST "https://api.autocontentapi.com/content/Create" \
  -H "accept: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "resources": [
      {
        "type": "website",
        "content": "https://example.com/article-about-ai"
      },
      {
        "type": "youtube", 
        "content": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
      }
    ],
    "outputType": "video",
    "text": "Create an engaging two-minute explainer about current AI developments",
    "duration": "long"
  }'

Example Response

{
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": 0
}

Important: Save the request_id โ€” you'll use it to poll status and download the final video.

Step 2: Poll for Status

Use the request_id to check the processing status by calling /content/Status/{id}:

curl -X GET "https://api.autocontentapi.com/content/Status/550e8400-e29b-41d4-a716-446655440000" \
  -H "accept: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

While Processing

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": 5,
  "updated_on": "2024-01-15T10:32:00Z",
  "error_code": 0,
  "requested_on": "2024-01-15T10:30:00Z"
}

Status Codes:

  • 0 = Pending (queued for processing)

  • 5 = Processing (generation in progress)

  • 100 = Completed (video ready!)

Step 3: Get Your Video

When status reaches 100, the payload includes a link to your generated video:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "video_title": "AI Developments Discussion",
  "status": 100,
  "video_url": "https://storage.autocontentapi.com/video/550e8400-e29b-41d4-a716-446655440000.mp4",
  "image_url": "https://storage.autocontentapi.com/thumbnails/550e8400-e29b-41d4-a716-446655440000.jpg",
  "response_text": "Full narration that describes the generated visuals...",
  "requested_on": "2024-01-15T10:30:00Z",
  "updated_on": "2024-01-15T10:35:00Z",
  "request_type_id": 1,
  "error_code": 0,
  "error_on": null,
  "citations": [],
  "file_size": 51234567,
  "video_duration": 456,
  "share_url": "https://autocontentapi.com/share/video/550e8400-e29b-41d4-a716-446655440000/20240115"
}

๐ŸŽ‰ Success! Your explainer video is ready at the video_url, and you can grab the thumbnail from image_url.

Resource Types

You can mix and match resource types just like you would for a podcast:

Type
Description
Example

website

Any web page URL

"https://techcrunch.com/article"

youtube

YouTube video URL

"https://www.youtube.com/watch?v=VIDEO_ID"

text

Direct text content

"Your custom instructions or content"

pdf

PDF document URL

"https://example.com/document.pdf"

Duration Options

Control the length of your generated explainer video:

  • "short" - 60-90 seconds

  • "default" - 2-3 minutes

  • "long" - 4-5 minutes

Need a specific payload? Check the new Explainer Video Scenario Examples for copy-paste curl requests covering languages, durations, styles, and every supported resource type.

Tips for Better Results

  1. Mix resource types โ€“ Combine websites, videos, and text for richer storytelling.

  2. Provide clear instructions โ€“ Use the text field to direct the pacing, tone, or call-to-action.

  3. Surface thumbnails โ€“ Store the image_url for embedding preview artwork alongside the finished video.

  4. Check status regularly โ€“ Processing typically takes 2-5 minutes for standard durations.

  5. Save the request_id โ€“ You'll need it to retrieve your video and any associated transcript.

Error Handling

If something goes wrong, the status response will include error details:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": 0,
  "error_code": 400,
  "error_message": "Invalid resource URL provided",
  "error_on": "2024-01-15T10:31:00Z",
  "requested_on": "2024-01-15T10:30:00Z"
}

What's Next?

Last updated