AI 생성 클립을 위한 X(트위터) 영상 업로드 규격
X는 30 또는 60 fps의 H.264와 1280x720 또는 720x1280을 권장하고, 기본 계정의 Post 영상을 20분으로 제한합니다. Sume 클립을 항목별로 대조합니다.

X의 미디어 문서는 30 또는 60 fps에 1280x720, 720x1280, 720x720 픽셀 중 하나인 H.264 High Profile 영상, AAC LC 오디오, 5,000 kbps 이상의 영상 비트레이트를 권장합니다. X Premium이 없으면 Post 영상은 0.5초에서 20분 길이, 8 GB까지 올릴 수 있습니다. Sume의 영상 트림과 Timeline 1.0은 이 크기와 프레임 레이트는 설정할 수 있지만 비트레이트와 H.264 프로필은 설정할 수 없으므로, 업로드하기 전에 이 두 가지를 확인하세요.
X의 수치는 2026-09-27에 확인한 미디어 모범 사례 페이지에서 인용했으며, X가 바꿀 수 있습니다. Sume의 수치는 영상 트림, Timeline 1.0, 영상 검사 문서와 Sume API 레퍼런스, 그리고 현재 동작하는 Sume 미디어 컴파일러에서 가져왔습니다.
X의 영상 크기와 길이 한도는 어떻게 되나요?
한도는 개발자 API 요금제가 아니라 게시하는 계정의 X Premium 또는 인증 상태에 따라 정해집니다. 업로드와 Post 생성은 따로 검사되므로, finalize까지 마친 영상도 POST /2/tweets에서 거부될 수 있으며 영상이 너무 길면 403이 반환됩니다. 일반 Post에는 tweet_video를, 광고 소재에는 amplify_video를 쓰세요.
| 미디어 카테고리 | 기본 계정 | X Premium 또는 인증 계정 |
|---|---|---|
Post 영상: tweet_video, amplify_video | 0.5초–20분, 8 GB | 0.5초–125분, 16 GB |
DM 영상: dm_video | 0.5–140초, 512 MB | 0.5초–10분, 1 GB |
이미지: tweet_image | 5 MB | 5 MB |
애니메이션 GIF: tweet_gif | 15 MB | 15 MB |
X의 페이지에서 서로 모순되는 부분은 어디인가요?
같은 페이지 안에서 두 쌍의 항목이 서로 어긋나며, 페이지는 어느 쪽이 우선하는지 밝히지 않습니다.
- 크기. 권장 목록은 세로 크기로 720x1280을 제시하면서, 구독 사용자는 “can upload a 1080p video and get 1080p playback”(1080p 영상을 올려 1080p로 재생 가능)이라고 적습니다. 고급 목록은 크기가 “must be between 32x32 and 1280x1024”(32x32에서 1280x1024 사이여야 함)이라고 하는데, 720x1280이나 1920x1080 프레임은 이 범위를 넘습니다. 두 항목을 모두 만족하는 크기는 가로 1280x720과 정사각형 720x720뿐입니다.
- 비트레이트. 권장 목록은 최소 영상 비트레이트로 5,000 kbps를 제시합니다. 페이지 아래쪽의 표는 1280x720, 720x1280, 720x720에 2048K를 제안하고, 각 행을 “an upload recommendation, but is not a requirement”(필수가 아닌 업로드 권장 사항)이라고 설명합니다.
Sume 클립을 X의 권장 형식에 맞추려면 어떻게 하나요?
해당 비율을 나열하는 모델에서 aspect_ratio를 16:9, 9:16, 1:1 중 하나로 지정해 생성하세요. 픽셀 단위 size를 보내면 400 unsupported_parameter가 반환됩니다. 21:9부터 9:21까지 Sume 영상 목록의 모든 비율은 X가 요구하는 1:3에서 3:1 범위 안에 있습니다.
그런 다음 완성된 클립을 GET /v1/jobs/{id}/result에서 받은 media.sume.com 아티팩트 URL로 지정해, X의 크기 중 하나와 30 또는 60 fps로 맞추세요. 두 도구 모두 가로와 세로를 256–2160픽셀 범위에서 받습니다.
- 클립 하나:
output: { width, height, fps }를 담아POST /v1/video-trim을 호출하세요. 유지한 오디오는 AAC로 기록됩니다. 아래 요청은 높이 1280픽셀, 30 fps인 12초 클립을 만듭니다. 현재는height만 지정하면 너비가 소스의 화면 비율을 따르므로, 소스가 정확히 9:16이면 결과는 X의 세로 크기인 720x1280이 됩니다. - 클립 여러 개: 짝수
output.width와output.height에output.fps를 더해POST /v1/timeline-1.0/render를 호출하세요. 기본 fit인cover는 프레임을 채우고 넘치는 부분을 잘라 내며, 소리는 클립이 아니라 렌더의 오디오 스파인에서 나옵니다. 두 도구 모두 영상의 프레임 레이트나 해상도 바꾸기에서 다룹니다.
curl -X POST https://api.sume.com/v1/video-trim \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: x-portrait-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
"start": 0,
"duration": 12,
"output": { "height": 1280, "fps": 30 }
}'X의 인코딩 항목 중 Sume에서 설정할 수 없는 것은 무엇인가요?
트림과 Timeline은 codec, crf 같은 인코더 필드를 거부하므로, 이 항목들은 설정하는 것이 아니라 확인하는 대상입니다. YouTube Shorts 영상 규격에서 Sume의 인코딩을 설정별로 비교하며, X의 항목과 대조하면 다음과 같습니다.
| X의 항목 | X의 기준 | Sume 출력 |
|---|---|---|
| 픽셀 포맷 | YUV 4:2:0만 | 트림과 Timeline 출력 모두 yuv420p |
| 프레임 레이트 | 30 또는 60 fps 권장, 60 이하 필수 | 트림이나 Timeline에서 fps를 30 또는 60으로 |
| 영상 코덱 | H.264 High Profile 권장 | H.264(libx264), 프로필은 명시되지 않음, 설정 없음 |
| 영상 비트레이트 | 최소 5,000 kbps 권장 | 고정 품질(CRF), 비트레이트 설정 없음 |
| 오디오 | AAC LC, 최소 128 kbps 권장, 모노 또는 스테레오 | 192 kbps AAC, 프로필은 명시되지 않음 |
| GOP와 스캔 | 오픈 GOP 불가, 프로그레시브 스캔 | Sume 문서에 명시되지 않음 |
X에 올리기 전에 클립을 어떻게 확인하나요?
frames: false와 함께 POST /v1/video-inspect를 실행하세요. 과금되지 않는 프로브 전용 검사입니다. 이 검사는 width, height, fps, duration_seconds, video_codec, pix_fmt, audio_codec, audio_channels, audio_sample_rate, size_bytes를 보고하지만 프로필과 비트레이트는 보고하지 않습니다. 오디오를 포함한 평균 비트레이트는 size_bytes × 8 ÷ duration_seconds이므로, 이 값을 X의 영상 기준인 5,000 kbps와 비교하세요. 프로브 호출은 영상의 길이, 해상도, fps 확인하기에서 볼 수 있습니다.
그런 다음 X가 모든 영상에 쓰라고 안내하는 청크 업로드 흐름으로 서버에서 업로드하세요. POST /2/media/upload/initialize, /{id}/append, /{id}/finalize 순서입니다. 스틸 이미지는 POST /v1/images가 해당 형식을 나열하는 모델에서 png, jpeg, webp로 만들며, 모두 X가 받는 형식입니다. 각 파일이 X의 이미지 상한인 5 MB를 넘지 않는지 확인하세요.
출처
관련 글
미디어 도구 카테고리의 다른 글
- YouTube Shorts 영상 규격: 3분, 정사각형 또는 세로
YouTube는 3분 이하의 정사각형·세로 업로드를 Shorts로 분류하고 MP4, H.264, AAC-LC, 48 kHz를 권장합니다. Sume 출력과 비교해 봅니다.
- 영상 프레임으로 YouTube 썸네일 만들기: 추출·업스케일 API
POST /v1/video-frames로 Sume에 호스팅된 영상에서 원본 크기 PNG를 추출한 뒤, YouTube가 썸네일에 권장하는 3840×2160으로 업스케일하세요.
- Timeline 1.0 API로 롱폼 영상을 조립하는 방법
Timeline 1.0은 오디오 스파인 하나와 순서가 있는 영상 슬롯 1–200개를 MP4 하나로 렌더링합니다. 모든 URL은 Sume에 호스팅되어야 하며, plan 사전 검사는 과금되지 않습니다.
- Sume API로 영상에 자막을 입히는 방법
공개 HTTPS 영상 URL을 POST /v1/video-captions로 보내면 음성 인식이나 직접 넣은 텍스트로 타이밍을 맞춘 자막 영상을 Job 기반으로 받습니다.
작성자 Sume