방송하기 API

구현 상태: 예정

송출자가 방송 시작 준비를 생성할 때 호출하는 API입니다.

1) Endpoint

POST /broadcasts

2) Header

Content-Type: application/json
X-API-Key: {API_KEY}

3) Request Body

{
  "broadcasterProfileImage": "string",
  "broadcasterNickname": "string",
  "broadcastAllowed": true,
  "title": "string",
  "category": "string",
  "latencyMode": "STANDARD",
  "maxParticipants": 200,
  "maxQuality": "720p",
  "donationEnabled": true
}
필드 타입 필수 설명
broadcasterProfileImage string 선택 방송자 프로필 이미지 URL
broadcasterNickname string 필수 방송자 닉네임
broadcastAllowed boolean 선택 기본값 true
title string 필수 방송 제목
category string 필수 카테고리
latencyMode string 선택 STANDARD | LOW, 기본값 STANDARD
maxParticipants number 선택 기본값 100
maxQuality string 선택 기본값 720p
donationEnabled boolean 선택 기본값 false

4) Request Example

curl -sS -X POST \
  -H "Content-Type: application/json" \
  -H "X-API-Key: {API_KEY}" \
  -d "{
    \"broadcasterNickname\":\"스트리머\",
    \"title\":\"오늘의 라이브\",
    \"category\":\"게임\",
    \"latencyMode\":\"STANDARD\"
  }" \
  "{BASE_URL}/broadcasts"

5) Response (성공)

{
  "success": true,
  "data": {
    "broadcastId": "string",
    "broadcasterNickname": "string",
    "broadcasterProfileImage": "string",
    "title": "string",
    "category": "string",
    "latencyMode": "STANDARD",
    "maxParticipants": 200,
    "streamKey": "string",
    "ingestEndpoint": "string",
    "status": "READY",
    "ttlSeconds": 90
  }
}

6) Response (실패)

{
  "success": false,
  "error": {
    "code": "BROADCAST_NOT_ALLOWED",
    "message": "방송 권한이 없습니다."
  }
}

7) 공통 에러 코드

  • INVALID_API_KEY
  • BROADCAST_NOT_ALLOWED
  • INVALID_PARAMETER
  • ALREADY_BROADCASTING
  • INTERNAL_ERROR