AI로 YouTube Shorts 자동화하기: 생성 후 업로드
AI로 YouTube Shorts를 자동화하는 일은 두 가지 작업입니다. 스케줄에 맞춰 세로 영상을 생성하고, 여러분의 코드에서 YouTube Data API로 업로드하세요.

AI로 YouTube Shorts를 자동화할 수 있지만, 이는 서로 다른 두 가지 작업입니다. 스케줄에 맞춰 세로 영상을 생성하는 일과, 그 영상을 채널에 업로드하는 일입니다. 첫 번째는 AI 영상 서비스가 맡습니다. 업로드는 YouTube Data API를 거치며, 채널의 권한 승인을 받은 여러분의 코드가 직접 호출합니다. Sume에는 YouTube 전용 커넥터가 없습니다.
YouTube의 규칙은 Videos: insert와 Videos 리소스 API 페이지, 그리고 삼 분 길이 Shorts에 관한 고객센터 페이지에서 인용했습니다. Sume 관련 내용은 Scheduled와 실행과 결과 (영문) 문서에서 가져왔습니다. 모두 2026-09-27에 확인했습니다.
업로드한 영상이 Shorts로 분류되는 조건은 무엇인가요?
형태와 길이입니다. 그러니 9:16을 요청하고 영상을 삼 분 미만으로 유지하세요. 표준 채널에서 YouTube는 2024년 10월 15일부터 업로드된 영상 중 화면 비율이 정사각형이나 세로이고 길이가 최대 삼 분인 영상을 Shorts로 분류합니다. 파일 설정은 YouTube Shorts 영상 규격에서 다룹니다.
스케줄에 맞춰 세로 영상을 생성하려면 어떻게 하나요?
직접 운영하는 스케줄러가 Sume를 호출하거나, Sume 스케줄이 자체 시계에 맞춰 발동합니다.
- 직접 운영하는 스케줄러가 Format을 호출하는 방법. 서버의 cron 작업이나 Vercel Cron 같은 플랫폼 스케줄러가 날짜로 만든
Idempotency-Key와communication.webhook_url을 담아 Format 실행을 시작합니다. 실행이 완료되거나 실패하면 Sume가 그 URL로 영수증을 한 번 POST하고, 이를 받은 핸들러가 업로드를 맡습니다. - Sume 스케줄. 대시보드에서 IANA 타임존 기준 5필드 cron 표현식으로 만들며, 발동할 때마다 저장된 지시문을 새 스레드에서 에이전트로 실행합니다. 결과를 모으려면
GET /v1/actions/{action_id}/runs로 스케줄의 실행 목록을 가져온 뒤, 완료된 각 실행의 영수증을GET /v1/action-runs/{run_id}/result에서 읽어primary_output_url을 확인하세요. - 두 방법 모두 지출 상한을 설정하세요. Format 실행은 요청에
generation_spend_cap_usd를 받습니다. 스케줄의 실행당 생성 상한은 설정하지 않으면 $1.00이고, 실행 요청으로 낮출 수는 있어도 올릴 수는 없으므로, 대시보드에서 API 요금 기준으로 영상 하나에 드는 비용만큼 설정하세요.
curl -sS -X POST "https://api.sume.com/v1/formats/acme/daily-short/runs" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: daily-short-2026-09-27" \
-d '{
"instruction": "Vertical 9:16 Short, under 60 seconds, on the topic in the input.",
"input": { "topic": "Three tips for better sleep" },
"generation_spend_cap_usd": 15,
"communication": { "webhook_url": "https://example.com/hooks/sume" }
}'웹훅 핸들러는 업로드하기 전에 무엇을 해야 하나요?
핸들러는 두 작업이 만나는 지점이며, 허술하게 만들면 같은 Shorts 영상을 두 번 업로드합니다.
- 서명을 검증하세요. 타임스탬프와 원본 본문에 대한 HMAC-SHA256이며, 본문을 파싱하기 전에 확인합니다. 검증 코드는 영상 실행용 서명된 웹훅에 있습니다.
- 빠르게 응답하세요. Sume는 10초 안에 돌아온
2xx를 모두 전달 성공으로 보므로, 이벤트를 내구성 있게 기록하고 응답한 뒤에 업로드하세요. request_id로 중복을 제거하세요. 이 값은 실행 ID와 같고 재시도할 때마다 그대로 반복되므로, 재시도된 전달이 두 번째 업로드를 시작해서는 안 됩니다.- 봉투의
status가OK이고 영수증의primary_output_url이 채워져 있을 때만 업로드하세요. 실패한 실행은ERROR로 도착하며,payload가null이면 영수증이 1 MiB를 넘었다는 뜻입니다. 이때는 봉투가 알려 주는error.result_url에서 영수증을 가져오세요.
영상을 YouTube에 자동으로 업로드하려면 어떻게 하나요?
YouTube Data API의 videos.insert 메서드를 쓰세요. 미디어 업로드이므로 코드가 파일 자체를 보내야 합니다. 내구성 있는 media.sume.com URL인 primary_output_url에서 MP4를 내려받고, 그 바이트를 snippet.title, status.privacyStatus 같은 속성을 설정한 video 리소스와 함께 업로드에 넘기세요.
YouTube의 두 가지 세부 사항이 자동화 방식을 좌우합니다. 28 July 2020 이후에 만든 미인증 API 프로젝트에서 videos.insert로 업로드한 영상은 그 프로젝트가 감사를 통과할 때까지 비공개로만 볼 수 있습니다. 그리고 생성한 Shorts 영상이 사실적으로 보인다면, 채널 소유자는 리소스의 status.containsSyntheticMedia 플래그로 업로드할 때 사실적인 변형 콘텐츠나 합성 콘텐츠임을 밝힐 수 있습니다. YouTube가 드는 예에는 실제로 일어나지 않은 일을 사실적으로 보여 주는 장면이 있습니다.
| videos.insert | 레퍼런스 내용 |
|---|---|
| 엔드포인트 | POST https://www.googleapis.com/upload/youtube/v3/videos |
| 인증 | OAuth. https://www.googleapis.com/auth/youtube.upload 같은 스코프 사용 |
| 파일 | video/* 또는 application/octet-stream, 최대 256GB |
| 할당량 | 하루 100회 호출. 호출마다 Video Uploads 할당량 버킷에서 1단위 사용 |
| 공개 범위 | 28 July 2020 이후에 만든 미인증 API 프로젝트는 감사 전까지 비공개만 가능 |
출처
관련 글
활용 사례 카테고리의 다른 글
- 비포 애프터 영상 생성 API: 변화를 드러내는 장면 만들기
Sume API로 비포 애프터 영상을 만들려면 sume-before-after Format을 호출하거나, 첫·마지막 프레임을 지정한 클립을 만들거나, 스틸 두 장을 Timeline 와이프로 이으세요.
- 블로그 글 영상 변환 AI: 새 글마다 영상 만들기
블로그 글 영상 변환 AI는 글을 내레이션 영상으로 만듭니다. 자동화하려면 새 글의 텍스트를 지출 상한, 글에 묶인 키와 함께 영상 에이전트에 보내세요.
- AI로 사진 배경 바꾸는 방법
AI 이미지 모델에 사진과 새 배경을 적은 프롬프트를 보내거나, 먼저 피사체를 오려 내세요. Sume API로 두 방법을 모두 하는 법을 설명합니다.
- 얼굴 없는 영상 API: 보이스오버, B-roll, 음악, 자막
Sume API로 얼굴 없는 영상을 만들려면 TTS 내레이션을 스파인으로 삼아 생성한 B-roll과 Sume 호스팅 배경 음악을 깔고, 자막은 TTS 단어 타이밍에 맞추세요.
작성자 Sume