방송국 · 카테고리
GET /categories
카테고리(장르) 목록. 인증 불필요.
curl https://tune.tideflo.work/api/v1/categories
{
"success": true,
"data": [
{ "slug": "news", "name_ko": "뉴스·시사", "name_en": "News", "icon": "📰", "color": null },
{ "slug": "music", "name_ko": "음악", "name_en": "Music", "icon": "🎵", "color": null }
]
}
GET /stations
방송국(채널) 목록. 인증 불필요.
쿼리 파라미터
| 파라미터 | 예 | 설명 |
|---|---|---|
category |
music |
카테고리 slug 필터 |
broadcaster |
kbs |
방송사 slug 필터 |
region |
부산 |
지역 필터 |
band |
FM |
FM/AM/SW/INTERNET |
country |
KR |
국가코드 |
featured |
1 |
추천만 |
q |
클래식 |
이름·주파수 검색 |
page |
1 |
페이지(기본 1) |
per_page |
30 |
페이지 크기(기본 30, 최대 100) |
curl "https://tune.tideflo.work/api/v1/stations?category=music&page=1&per_page=20"
{
"success": true,
"data": [
{
"id": 11,
"slug": "sbs-powerfm",
"name_ko": "SBS 파워FM",
"name_en": "SBS Power FM",
"frequency": "FM 107.7",
"band": "FM",
"region": null,
"coverage": "metro",
"language": "ko",
"logo_url": null,
"is_featured": true,
"broadcaster": { "id": 3, "slug": "sbs", "name_ko": "SBS", "name_en": "Seoul Broadcasting System", "logo_url": null },
"categories": [ { "slug": "music", "name_ko": "음악", "icon": "🎵" } ],
"stream": { "available": true, "access_model": "token_signed", "media_type": "audio", "requires_resolve": true }
}
],
"meta": { "page": 1, "per_page": 20, "total": 8, "total_pages": 1 }
}
stream.requires_resolve가true면 재생 전/stations/{id}/stream호출로 URL을 발급받아야 합니다.
GET /stations/{id|slug}
방송국 상세. 숫자 id 또는 문자열 slug 모두 가능.
curl https://tune.tideflo.work/api/v1/stations/kbs-coolfm
{
"success": true,
"data": {
"id": 5,
"slug": "kbs-coolfm",
"name_ko": "KBS 2FM 쿨FM",
"frequency": "FM 89.1",
"band": "FM",
"coverage": "national",
"language": "ko",
"description": null,
"homepage_url": null,
"nowplaying_support": "none",
"is_featured": true,
"broadcaster": { "id": 1, "slug": "kbs", "name_ko": "KBS", "app_name": "KBS Kong" },
"categories": [ { "slug": "music", "name_ko": "음악", "icon": "🎵" } ],
"streams": [
{
"id": 5,
"label": "기본",
"access_model": "token_signed",
"protocol": "hls",
"format": "aac",
"media_type": "audio",
"bitrate": null,
"requires_resolve": true,
"requires_app_headers": false,
"health_status": "unknown",
"url": null,
"resolve_endpoint": "https://tune.tideflo.work/api/v1/stations/5/stream?stream_id=5"
}
]
}
}
streams[].url—open_static스트림은 재생 URL이 바로 들어있습니다.streams[].url이null이면resolve_endpoint(또는/stations/{id}/stream)로 발급받으세요.
재생 방법은 스트리밍 문서 참고.