TikTok 영상 규격: API 업로드와 광고, Sume로 맞추기

TikTok 게시 API는 MP4, WebM, MOV를 23–60 fps, 360–4,096 px, 최대 10분까지 받습니다. Sume 클립을 이 기준에 맞추고 업로드하는 방법입니다.

읽는 시간 5분Sume
전체 글

TikTok의 Content Posting API는 H.264, H.265, VP8, VP9로 인코딩한 MP4, WebM, MOV 영상을 23–60 fps, 각 변 360–4,096픽셀, 최대 4 GB까지 받으며, Upload Video 엔드포인트로는 최대 10분 길이까지 올릴 수 있습니다. Sume 영상을 게시하려면 9:16으로 생성하고, 프로브 값을 읽고, 필요하면 영상 트림으로 프레임 레이트나 크기를 맞춘 뒤 FILE_UPLOAD로 바이트를 업로드하세요. TikTok의 URL 풀(pull) 방식은 여러분이 인증한 도메인이나 URL 접두사에 있는 URL만 받기 때문입니다.

TikTok의 한도는 미디어 전송 가이드(최종 업데이트 August 4, 2026)와 옥션 인피드 광고 도움말 페이지(최종 업데이트 June 2026)에서 인용했으며, 모두 2026-09-27에 확인했습니다. 두 페이지 모두 바뀔 수 있습니다. Sume 관련 사실은 영상 생성 (영문), 영상 트림, Timeline 1.0, 영상 검사 문서에서 가져왔습니다.

API 업로드와 광고용 TikTok 영상 규격은 무엇인가요?

게시 API와 Non-Spark 인피드 광고는 서로 다른 한도를 공개합니다. Spark Ads는 파일 형식으로 .mp4나 .mov만 나열하고, 길이 제한은 두지 않습니다.

  • 모든 TikTok 크리에이터는 3분 영상을 게시할 수 있고, 일부는 5분이나 10분 영상도 게시할 수 있습니다. TikTok 사용자는 개발자가 보낸 영상을 앱에서 잘라 자기 계정의 최대 길이에 맞출 수 있습니다.
TikTok 미디어 전송 가이드와 옥션 인피드 광고 기준, 2026-09-27 확인.
항목Content Posting APINon-Spark 인피드 광고
컨테이너MP4(권장), WebM, MOV.mp4, .mov, .mpeg, .3gp, .avi
코덱H.264(권장), H.265, VP8, VP9명시 없음
프레임 레이트23–60 fps명시 없음
화면 크기높이와 너비 각각 360–4,096 px9:16(권장) ≥ 540×960; 16:9 ≥ 960×540; 1:1 ≥ 640×640
길이Upload Video 엔드포인트로 최대 10분최대 10분
파일 크기최대 4 GB최대 500 MB
비트레이트명시 없음최소 516 kbps

TikTok용 세로 클립은 어떻게 생성하나요?

9:16을 지원하는 모델에 aspect_ratio: "9:16"을 넣어 POST /v1/videos를 보내세요. 모델별 목록과 요청 예시는 세로형 9:16 영상 생성에 있습니다. 생성 클립 하나의 최대 길이는 seedance-2.5나 wan-3.0에서 가능한 30초이므로(모델별 길이), 더 긴 TikTok 영상은 Timeline으로 조립합니다. 아바타 영상은 기본 9:16에 720p이며, Sume가 4–60초로 추정하는 스크립트를 받습니다.

픽셀 크기를 공개하는 모델은 없으므로(supported_sizes가 null), 결과물의 너비와 높이는 프로브에서 읽으세요.

Sume 출력을 TikTok 한도와 비교하면 어떤가요?

영상 트림, 영상 필터, Timeline은 MP4 파일을 반환합니다. Timeline, 필터, 그리고 트림의 기본 exact 모드는 영상을 libx264로 인코딩하며, FFmpeg 문서는 이를 H.264 인코더로 설명합니다(전체 인코더 설정). TikTok의 수치와 비교하면 다음과 같습니다.

  • 프레임 레이트: Timeline과 트림의 output.fps는 24, 25, 30, 60을 받으며, 모두 TikTok의 23–60 안에 있습니다. 생성 클립 자체의 레이트는 문서화되어 있지 않으니 확인하세요.
  • 화면 크기: Timeline과 트림은 변마다 256–2,160 px를 받으므로 360 이상을 고르세요. Timeline의 기본값 1080×1920은 광고 최소 크기인 540×960도 넘습니다.
  • 길이: Timeline은 media.sume.com 클립으로 1–1,800초를 조립합니다. Upload Video 엔드포인트의 10분에 맞추려면 audio.duration_seconds를 600 이하로, 모든 크리에이터가 게시할 수 있는 3분에 맞추려면 180 이하로 제한하세요.

업로드 전에 파일을 확인하고 규격에 맞추려면 어떻게 하나요?

frames: false로 무료 프로브 전용 POST /v1/video-inspect를 실행하세요. 응답에는 duration_seconds, width, height, fps, video_codec, audio_codec, size_bytes 등이 담깁니다(프로브 필드).

레이트나 크기가 맞지 않으면 POST /v1/video-trim으로 start: 0부터 클립 전체 duration(최대 900초)까지, output: { width, height, fps }를 붙여 재인코딩하세요. 두 변을 모두 지정할 때는 클립의 화면 비율이 유지되는 값만 쓰세요. 현재는 두 변을 지정하면 프레임이 정확히 그 크기로 스케일됩니다(컨폼 자세히 보기).

curl -X POST https://api.sume.com/v1/video-trim \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: tiktok-conform-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
    "start": 0,
    "duration": 20,
    "output": { "width": 1080, "height": 1920, "fps": 30 }
  }'

TikTok에 파일을 어떻게 업로드하나요?

미디어 전송 가이드에는 두 가지 전송 방법이 나와 있습니다.

  • FILE_UPLOAD: 초기화하면 upload_url이 반환되고, 그 URL로 바이트를 보냅니다. 청크는 5–64 MB(마지막 청크는 최대 128 MB)이고, 5 MB 미만 파일은 통째로 보내며, 64 MB를 넘는 파일은 반드시 청크로 나눠야 합니다. 청크는 순서대로 1–1,000개를 올립니다.
  • PULL_FROM_URL: TikTok이 URL에서 파일을 내려받으며, 이 URL은 TikTok for Developers에서 인증한 도메인이나 URL 접두사에 속해야 합니다. https를 써야 하고 리다이렉트되면 안 되며, 3xx 응답은 유효하지 않은 것으로 처리됩니다. 다운로드는 시작 후 한 시간이 지나면 타임아웃됩니다.

TikTok에 넘길 수 있는 Sume URL은 무엇인가요?

Sume URL은 둘 다 TikTok의 풀 방식 규칙을 통과하지 못합니다. 완료된 Job에는 https://media.sume.com 아래의 공개 아티팩트가 포함될 수 있는데, 이 도메인은 Sume의 도메인이지 TikTok의 풀 방식이 요구하는 여러분 소유의 경로가 아닙니다. /v1/videos/{id}/content 링크는 API 키가 필요하고 리다이렉트로 응답합니다. 따라서 GET /v1/jobs/{id}/result에서 media.sume.com URL을 가져와 내려받은 뒤 FILE_UPLOAD로 바이트를 보내거나(다운로드 단계), 파일을 여러분이 인증한 도메인으로 복사하세요.

Sume가 TikTok에 맞게 설정할 수 없는 것은 무엇인가요?

업로드 전에 다음 항목은 직접 확인하세요.

  • 비트레이트와 파일 크기: 트림, 필터, Timeline에는 비트레이트나 크기 필드가 없고, 코덱이나 crf 키는 거부됩니다. 광고 최저 기준을 확인하려면 프로브 값으로 평균을 size_bytes × 8 ÷ duration_seconds ÷ 1,000(kbps, 오디오 포함)으로 계산해 516과 비교하세요.
  • 세이프 존: TikTok은 세이프 존을 내려받는 템플릿 파일로 공개하며, 이 파일은 화면 형태, 광고 캡션 길이, 추가 형식에 따라 달라지므로 대응시킬 수치가 없습니다. 영상에 입힌 자막은 design.placement.anchor_ratio로 옮길 수 있지만, punch와 tiktok-green은 예외입니다(자막 위치).

출처

관련 글

미디어 도구 카테고리의 다른 글

미디어 도구 글 전체 보기

작성자 Sume