Overview

The Batch Transcribe API processes multiple video and audio files simultaneously, allowing you to transcribe content at scale. Simply provide a list of media URLs, and the API will return transcriptions for each.

Features

  • All Transcribe Features: Includes all existing Transcribe API capabilities
  • Bulk Processing: Transcribe multiple media files in a single request (limit depends on your plan)
  • Cross-Platform Support: Process videos and audio from different platforms in one request
  • Progress Tracking: Monitor the status of each transcription in real time
  • Webhook Support: Receive real-time notifications when the entire batch is complete

Basic Usage

To transcribe multiple videos, simply add the media URLs to the post_urls parameter as a list. E.g. ["https://www.youtube.com/watch?v=example1", "https://www.tiktok.com/@user/video/123456789"].

You can optionally include a callback_url to receive a notification when the entire batch is complete. E.g. https://your-domain.com/webhook.

If using a proxy, provide the proxy_url to route downloads through a specific server and set max_mb_download_on_proxy to limit the maximum file size downloaded via the proxy.

curl --request POST \
  --url https://api.scribesocial.ai/v1/transcribe-batch \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "post_urls": [
    "<string>"
  ],
  "callback_url": "<string>",
  "proxy_url": "<string>",
  "max_mb_download_on_proxy": 123
}'

Checking Batch Status

Batch transcriptions are processed asynchronously, and you can track their progress using the operation polling URL. When you submit a batch request, the API response will include a Location header with the polling URL, which you can use to check the status of the transcription.

Example Operation Polling URL: https://api.scribesocial.ai/v1/transcribe-result/{operation-id}

If you’ve provided a callback_url, the API will send a notification to your endpoint once the batch is complete. This request will include a Scribe-Verification-Token header, which corresponds to the API key ID used in the original request, allowing you to verify that the callback is from dScribe AI and is legitimate.

curl --request GET \
  --url https://api.scribesocial.ai/v1/transcribe-result/{operationId} \
  --header 'Authorization: Bearer <token>'

Example Response

{
  "status": "completed",
  "operation_id": "abc123xyz789",
  "data": [
    {
      "video_url": "https://www.youtube.com/watch?v=example1",
      "post_url": "https://www.youtube.com/watch?v=example1",
      "description": "Part 1 of the machine learning tutorial series",
      "transcription": "Welcome to part one of our machine learning series...",
      "paragraphs": [
        {
          "sentences": [
            {
              "text": "Welcome to part one of our machine learning series.",
              "start": 0,
              "end": 3.2
            },
            {
              "text": "Today we'll cover the fundamental concepts.",
              "start": 3.2,
              "end": 6.5
            }
          ],
          "num_words": 18,
          "start": 0,
          "end": 6.5
        }
      ],
      "video_id": "example1",
      "transcribed_duration": 180,
      "total_duration": 180,
      "status": "completed",
      "platform": "youtube",
      "title": "Machine Learning Fundamentals - Part 1",
      "metadata": {
        "upload_time": "2024-01-15T10:30:00Z",
        "comment_count": 423,
        "like_count": 892,
        "thumbnail": "https://i.ytimg.com/vi/example1/maxresdefault.jpg",
        "retweet_count": null,
        "quote_count": null
      }
    },
    {
      "video_url": "https://www.tiktok.com/@user/video/example2",
      "post_url": "https://www.tiktok.com/@user/video/example2",
      "description": "Quick tips for machine learning beginners",
      "transcription": "Here are three essential tips for getting started...",
      "paragraphs": [
        {
          "sentences": [
            {
              "text": "Here are three essential tips for getting started.",
              "start": 0,
              "end": 2.8
            }
          ],
          "num_words": 9,
          "start": 0,
          "end": 2.8
        }
      ],
      "video_id": "example2",
      "transcribed_duration": 60,
      "total_duration": 60,
      "status": "completed",
      "platform": "tiktok",
      "title": "ML Tips for Beginners",
      "metadata": {
        "upload_time": "2024-01-16T15:45:00Z",
        "comment_count": 156,
        "like_count": 2341,
        "thumbnail": "https://p16-sign-va.tiktokcdn.com/example2.jpg",
        "retweet_count": null,
        "quote_count": null
      }
    }
  ],
  "markdown": "# Machine Learning Fundamentals - Part 1\n\n## Introduction (00:00)\nWelcome to part one of our machine learning series...\n\n# ML Tips for Beginners\n\n## Quick Tips (00:00)\nHere are three essential tips for getting started..."
}

For more details about request parameters, response fields, and status codes, check out our Batch Transcribe API Reference.