Skip to main content

Introduction

The Narrative Sports API provides endpoints for processing live sports streams using SRT protocol. Highlights are detected and generated in real-time.
SRT ingest requires both video and audio streams. Commentary is a separate requirement: clear spoken commentary is needed for reliable highlight detection. A stream can have audio and still underperform if it is crowd/noise-only. Also use at least 3000 kb/s source bitrate for portrait cropping. See Video Input Requirements.

Base URL

Authentication

All endpoints require Bearer token authentication via the Authorization header:
API keys can be created and managed in the API Dashboard. See the Authentication guide for details.

Endpoints Overview

Task Management

Highlights

Highlight Packages

Recaps

Request Format

All POST requests should include:
Request bodies should be valid JSON.

Response Format

All responses are JSON with the following structure: Success:
Error (400/401):
No usage limit (403):
Returned by task-creation endpoints (/tasks/create-task, and the deprecated /tasks/warmup) when your account has no concurrent task limit configured. Narrative manages concurrent task limits centrally; organization members cannot change them through the API or dashboard. Rate limit exceeded (429):
Returned when you have reached your maximum number of concurrent tasks. Kill a running task or wait for one to finish before creating a new one. Server Error (500):
Server errors (500) indicate a transient infrastructure issue. Retry after a short delay.

Task Statuses

These values appear as task_status in task-management responses like GET /tasks/list-tasks and GET /tasks/{task_id}/info.

Quick Start

Create Task

Create a task, launch a worker, and receive the SRT URL in one call (recommended)

Quickstart

End-to-end walkthrough — from API key to highlights in the dashboard