채널

YouTube

uplika 를 통해 에이전트가 YouTube 에서 할 수 있는 것, 다른 채널과 다른 점, 그리고 아예 안 되는 것.

한눈에 보기

이름타입설명
characterstext5,000
imagesmediaup to 0 per post
carouselmedianot supported
videomedia1 per post
text alonemediamedia required
posts / 24hlimit5
deletes / 24hlimit20
statusstatebeta

서버가 검증에 쓰는 바로 그 파일에서 읽은 값이라 실제 발행이 받는 것과 어긋날 수 없습니다. 설명 상한은 글자가 아니라 UTF-8 바이트 기준입니다.

연결할 때 어떤 권한을 요청하나요?

구글에 youtube.force-ssl 하나를 요청합니다. 댓글 숨기기를 받아 주는 유일한 스코프이고, 업로드·삭제·조회·답글까지 이미 다 덮습니다. 여기에 더 얹으면 쓰지도 않을 권한을 받는 셈입니다.

에이전트 토큰이 갖는 권한

이름타입설명
accounts:readreadList connected channels.
posts:readreadRead publishing history, replies and insights.
posts:writewritePublish, delete, reply, hide and upload.
offline_accessoauthKeep 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 에 있고, 스코프도 달라서 우리가 요청하지 않습니다.