채널
YouTube
uplika 를 통해 에이전트가 YouTube 에서 할 수 있는 것, 다른 채널과 다른 점, 그리고 아예 안 되는 것.
한눈에 보기
| 이름 | 타입 | 설명 |
|---|---|---|
characters | text | 5,000 |
images | media | up to 0 per post |
carousel | media | not supported |
video | media | 1 per post |
text alone | media | media required |
posts / 24h | limit | 5 |
deletes / 24h | limit | 20 |
status | state | beta |
서버가 검증에 쓰는 바로 그 파일에서 읽은 값이라 실제 발행이 받는 것과 어긋날 수 없습니다. 설명 상한은 글자가 아니라 UTF-8 바이트 기준입니다.
연결할 때 어떤 권한을 요청하나요?
구글에 youtube.force-ssl 하나를 요청합니다. 댓글 숨기기를 받아 주는 유일한 스코프이고, 업로드·삭제·조회·답글까지 이미 다 덮습니다. 여기에 더 얹으면 쓰지도 않을 권한을 받는 셈입니다.
에이전트 토큰이 갖는 권한
| 이름 | 타입 | 설명 |
|---|---|---|
accounts:read | read | List connected channels. |
posts:read | read | Read publishing history, replies and insights. |
posts:write | write | Publish, delete, reply, hide and upload. |
offline_access | oauth | Keep the agent connected after the browser closes. |
첫 영상을 어떻게 올리나요?
파일을 올린 다음 미디어 id 와 제목을 넣어 publish 를 부릅니다. YouTube 는 영상 정확히 하나만 받고 이미지는 안 받습니다.
curl -X POST https://api.uplika.com/v1/posts \
-H "Authorization: Bearer $UPLIKA_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Description that shows under the video",
"accountIds": ["conn_..."],
"mediaIds": ["med_..."],
"options": {
"youtube": {
"title": "My first upload",
"tags": ["vlog", "behind the scenes"],
"privacyStatus": "private"
}
}
}'Shorts 는 어떻게 되나요?
Shorts 전용 API 가 따로 없습니다. 올리는 방법은 같고 분류는 YouTube 가 합니다. 세로이거나 정사각이면서 3분 이하면 Short 가 됩니다. uplika 는 업로드 전에 그것을 예측해 응답에 실어 보냅니다. 그 값에 걸린 것이 하나 있기 때문입니다.
썸네일이 왜 안 걸렸나요?
YouTube 는 Shorts 에 커스텀 썸네일을 안 받습니다. 올라간 뒤 앱에서 프레임을 고르고 그 선택은 바꿀 수 없습니다. 그래서 uplika 는 Short 로 예측되는 영상의 썸네일을 업로드가 시작되기 전에 거절합니다. 영상이 이미 채널에 올라간 뒤에 거절하면 되돌릴 수 없기 때문입니다. 롱폼 썸네일도 채널 자체가 인증돼 있어야 합니다. 영상이 올라간 뒤 썸네일만 실패하면 그 글은 발행 성공으로 남고 경고가 같이 붙습니다.
영상을 예약할 수 있나요?
됩니다. 그리고 예약이 되는 채널은 YouTube 뿐입니다. privacyStatus 를 private 으로 두고 options.youtube.publishAt 을 같이 보냅니다. 영상은 숨겨진 채로 올라갔다가 그 시각에 공개됩니다. 한 번도 공개된 적 없는 영상에만 걸립니다.
한도가 어떻게 되나요?
예산이 둘입니다. 워크스페이스마다 하루 발행 수가 있고, 그 위에 구글이 우리 API 프로젝트 전체에 하루 업로드 100회와 그 밖의 10,000 units 를 줍니다. 뒤쪽은 uplika 를 쓰는 모두가 나눠 씁니다. 영상 삭제와 댓글 작성이 각각 50 units, 조회가 1 units 입니다. 둘 다 태평양시 자정에 리셋되고, get_quota 가 둘을 같이 알려 주므로 무엇에 막혔는지 알 수 있습니다.
안 되는 것은?
스레드가 안 됩니다. YouTube 계정에 threadItems 를 보내면 토막 수만큼 영상이 올라가므로 거절합니다. 깊은 지표도 안 됩니다. 조회수·좋아요·댓글 수는 오지만 노출·시청 지속·Shorts 전용 지표는 YouTube Analytics API 라는 다른 API 에 있고, 스코프도 달라서 우리가 요청하지 않습니다.