{"openapi":"3.0.3","info":{"title":"APICK 유튜브 영상 정보 조회","version":"1.0.0","description":"유튜브 공개 영상의 제목·채널·길이·조회수·좋아요·업로드일·설명·태그·챕터·썸네일 목록을 조회합니다."},"servers":[{"url":"https://apick.app"}],"paths":{"/rest/youtube_metadata":{"post":{"summary":"유튜브 영상 정보 조회","description":"유튜브 공개 영상의 제목·채널·길이·조회수·좋아요·업로드일·설명·태그·챕터·썸네일 목록을 조회합니다.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"서비스별 성공·처리 상태 응답","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"video_id":{"type":"string","description":"11자리 영상 ID"},"url":{"type":"string","description":"영상 주소"},"title":{"type":"string","description":"영상 제목"},"description":{"type":"string","description":"영상 설명"},"channel":{"type":"object","properties":{"id":{"type":"string","description":"채널 ID"},"name":{"type":"string","description":"채널 이름"},"url":{"type":"string","description":"채널 주소"},"handle":{"type":"string","description":"채널 핸들(@아이디). 없으면 null","nullable":true},"follower_count":{"type":"integer","description":"구독자 수. 비공개이면 null","nullable":true},"is_verified":{"type":"boolean","description":"인증 채널 여부"}},"description":"채널 정보"},"upload_date":{"type":"string","description":"업로드일 (YYYY-MM-DD)"},"duration":{"type":"integer","description":"영상 길이(초). 라이브 방송은 null일 수 있습니다.","nullable":true},"view_count":{"type":"integer","description":"조회수"},"like_count":{"type":"integer","description":"좋아요 수. 비공개이면 null","nullable":true},"comment_count":{"type":"integer","description":"댓글 수. 확인할 수 없으면 null","nullable":true},"categories":{"type":"array","items":{"type":"string"},"description":"카테고리 목록"},"tags":{"type":"array","items":{"type":"string"},"description":"태그 목록"},"language":{"type":"string","description":"영상 언어 코드. 없으면 null","nullable":true},"live_status":{"type":"string","description":"not_live: 일반 영상is_live: 라이브 중was_live: 종료된 라이브is_upcoming: 예정된 라이브"},"availability":{"type":"string","description":"공개 범위 (public, unlisted 등)"},"age_limit":{"type":"integer","description":"연령 제한(세). 제한이 없으면 0"},"chapters":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"챕터 제목"},"start_time":{"type":"number","description":"시작 시각(초)"},"end_time":{"type":"number","description":"끝 시각(초)"}}},"description":"챕터 목록. 없으면 빈 배열"},"thumbnail":{"type":"string","description":"가장 큰 썸네일 이미지 주소"},"thumbnails":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","description":"이미지 주소"},"width":{"type":"integer","description":"가로(px)"},"height":{"type":"integer","description":"세로(px)"}}},"description":"크기별 썸네일 목록 (큰 순서)"},"subtitle_languages":{"type":"array","items":{"type":"string"},"description":"수동 자막 언어 코드 목록"},"automatic_caption_count":{"type":"integer","description":"자동 생성 자막 언어 수"},"success":{"type":"integer","description":"과금 여부0: 실패1: 성공"}},"description":"조회 데이터"},"api":{"type":"object","properties":{"success":{"type":"boolean","description":"API 서버 정상 응답 여부"},"cost":{"type":"integer","description":"API 호출 요금"},"pl_id":{"type":"integer","description":"API 결제 로그 ID"},"ms":{"type":"integer","description":"API 응답 시간"}},"description":"API 호출 공통 데이터"}}}}}},"default":{"description":"HTTP 상태 및 서비스 오류코드 확인","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"유튜브 영상 URL 또는 11자리 영상 ID (예: https://www.youtube.com/watch?v=..., https://youtu.be/..., /shorts/...) (string)","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}},"required":["url"]}}}}}}},"x-code-tables":[{"title":"HTTP 상태 코드","columns":["HTTP","상황","설명"],"rows":[["400","입력 오류","유튜브 영상 주소 또는 영상 ID가 아닙니다."],["404","영상 없음","삭제·비공개 영상이거나 잘못된 주소입니다."],["424","조회 불가","연령 제한·회원 전용 영상이거나 일시적으로 조회하지 못했습니다. 실패한 호출은 과금하지 않습니다."]]}],"x-service-errors":[],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}