2026-08-15
2026년 X·Bluesky 영상 길이 제한 (그리고 클립 하나로 둘 다 맞추는 법)
같은 클립을 X와 Bluesky에 동시에 올리려 하면 두 플랫폼이 서로 맞는 게 거의 없다는 걸 알게 된다. X 무료 등급과 Bluesky 모두 영상 길이를 몇 분 안쪽으로 제한하지만, 정확한 초 수도, 용량 상한도, 심지어 어떤 컨테이너 포맷을 받아주는지까지 서로 달라서 한쪽에 맞춰 만든 클립이 다른 쪽에서는 거부되거나 원치 않게 더 세게 압축당할 수 있다. 지금 시점의 정확한 숫자와 출처를 두 플랫폼 모두 정리하고, 어느 쪽 제한이 더 빡빡하든 클립 하나로 대응할 수 있는 트림 우선 순서를 소개한다.
X가 허용하는 것 — X 공식 고객센터 기준
- 무료 계정: X 자체 고객센터 문서는 업로드 영상을 140초(2분 20초), 512MB로 제한한다. 이 숫자는 트위터에서 X로 리브랜딩되기 전부터 이어져 온 값이라 꽤 오래됐다 — 예전에 기억하던 길이 제한을 그대로 믿고 있다면, 지금도 140초가 맞는지 다시 확인해 볼 만하다.
- Premium 구독자: 별도의 고객센터 문서는 이 상한을 크게 끌어올린다 — 최대 4시간, 최대 16GB까지, 2시간 미만은 1080p로, 2~4시간 구간은 720p로 낮춰야 한다. 이건 유료 구독에 걸린 숫자이지 무료 등급의 값이 아니므로, 실제로 구독하고 있지 않다면 이 숫자를 기준으로 계획을 짜면 안 된다.
Bluesky가 허용하는 것, 그리고 얼마나 최근에 바뀌었는지
- 길이: Bluesky의 영상 기능은 X보다 훨씬 늦게 생겼다 — 2024년 9월 60초 제한으로 처음 시작했다는 건 당시 TechCrunch 보도에 나온다. 그 상한은 앱 버전 1.99 업데이트에서 3분(180초)으로 세 배 늘었고, TechCrunch와 gHacks 모두 2025년 3월 10~11일에 이를 보도했다 — 이번 글을 쓰며 확인한 어떤 출처를 봐도 그게 현재까지 이어지는 상한이다.
- 형식: 이 부분은 Bluesky 자체 프로토콜 소스코드가 명확하게 말해준다.
GitHub의 bluesky-social/atproto 저장소에 실제로 들어 있는
app.bsky.embed.video렉시콘은"accept": ["video/mp4"]라고 못박아 놓았다 — 앱 자체가 그 위에서 돌아가는 스키마 그대로, MP4만 받고 다른 건 안 받는다. - 용량: 같은 렉시콘 파일은 임베드 레코드의 원시
maxSize를 300,000,000바이트(약 286MB)로 정의하고 있지만, 이건 프로토콜상의 상한일 뿐 실제 업로드가 실제로 통과하는 값이 아니다 — bluesky-social/social-app 저장소에 아직 열려 있는 이슈에서 한 사용자가 그 300MB 스키마 상한보다 훨씬 전에 앱이 실제로 강제하는, 더 낮은 상한에 걸려 정확한 오류 메시지를 그대로 인용하고 있다. 실제로 업로드를 막는 숫자로 계속 등장하는 값은 100MB다 — 스키마에 적힌 300MB가 아니라 이 숫자를 현실적인 목표로 삼아야 한다.
변환보다 트림이 먼저인 이유
NearVid의 트림 카드는 앱 안에서 스스로를 이렇게 설명한다 — "재인코딩 없이 클립을 자릅니다 — 빠르고 무손실이며, 원본 포맷도 그대로 유지됩니다." 여기서 가장 먼저 손 대야 할 게 바로 이 기능이다. X 무료 등급의 140초, Bluesky의 180초 안에 들어가도록 클립을 자르는 데는 프레임 하나 재인코딩할 필요가 없다 — 트림은 스트림 복사이므로 잘라내도 화질 손실이 없고, 대부분 파일에서 1초도 채 걸리지 않는다. 소스가 이미 MP4라면(휴대폰 촬영본이나 화면 녹화 대부분이 그렇다) 트림 한 번으로 끝나는 경우가 많다 — 컨테이너도 코덱도 그대로, 길이만 짧아지고, Bluesky의 렉시콘이 실제로 받아주는 바로 그 포맷 그대로다.
길이뿐 아니라 용량이 실제 제약일 때 NearVid가 하는 일
길이와 용량이 항상 같이 움직이는 건 아니다. NearVid 자체 수치로 계산해 보면 그 차이가 구체적으로 드러난다 — MP4 High 품질 프리셋으로 Bluesky의 정확한 상한인 180초짜리 클립 전체를 내보내면 대략 88.6MB가 나오는데, 이건 그 플랫폼의 실제 상한인 약 100MB 아래이긴 하지만 여유가 아주 넉넉하지는 않다. Medium으로 낮추면 같은 180초가 약 45.7MB, Low는 약 19.9MB까지 내려간다. X 무료 등급에서는 140초라는 길이 제한 때문에 용량은 거의 문제가 되지 않는다 — MP4 High로도 약 68.9MB에 그쳐 512MB와는 거리가 멀다. 정리하면: Bluesky에서는 최고 품질 프리셋으로 긴 클립을 내보내기 전에 한 번 확인해 볼 가치가 있고, X 무료 등급에서는 사실상 길이만 신경 쓰면 된다. 이 계산을 직접 손으로 할 필요는 없다 — NearVid의 MP4 내보내기 화면에서 Quality 드롭다운 옆에 작게 뜨는 "≈" 표시가 프리셋이나 트림 범위를 바꿀 때마다 예상 결과 용량을 실시간으로 보여주므로, 실제로 재인코딩을 누르기 전에 확인할 수 있다. 이건 비트레이트 × 길이로 즉시 계산한 근사값이지 실제 인코딩을 한 번 돌려본 값은 아니라서 바이트 단위까지 보장하지는 않지만, Bluesky의 100MB와 비교해 볼 값으로는 정확히 그 숫자다.
범위를 분명히 하자면 — "MP4로 변환"은 브라우저에 내장된 H.264 + AAC 인코더를 WebCodecs로 실제 호출하는 진짜 재인코딩이고, 현재는 그 인코딩을 지원하는 Chrome 및 Chromium 계열 브라우저에서만 이용할 수 있다. NearVid는 이걸 브라우저 이름을 보고 짐작하는 게 아니라 파일마다, 브라우저마다 자동으로 확인해서, 안 될 때는 MP4 카드 자체를 아예 보여주지 않는다. 반면 트림에는 이런 제약이 없다 — 무손실 스트림 복사 경로는 어떤 브라우저에서든, 어떤 소스 포맷이든 그대로 동작하는데, 애초에 인코더를 전혀 건드리지 않기 때문이다.
정직한 요약
지금 시점(2026년 중반)의 숫자: X 무료 등급은 자체 고객센터 기준 영상을 140초, 512MB로 제한하고, X Premium은 이를 최대 4시간, 16GB까지 끌어올린다. Bluesky는 길이를 3분(180초)으로 제한하는데 이 상한이 실제로 적용된 건 2025년 3월부터고, 자체 프로토콜 소스 기준 MP4만 받으며, 스키마에 적힌 300MB보다 훨씬 낮은 약 100MB 선에서 실제 업로드를 막는다. 이 숫자들 중 어느 것도 NearVid가 정한 게 아니다 — 각 플랫폼이 지금 정해 둔 자체 규칙이며, 1~2년 전 기억으로 판단하고 있었다면 다시 확인해 볼 가치가 있다. NearVid가 실제로 바꿔주는 건 거기까지 가는 방식이다 — 더 빡빡한 길이 제한에 맞춰 먼저 무손실로 트림해서 화질 손실 없이 자르고, 소스 자체의 용량까지 줄여야 할 때만 품질 프리셋으로 재인코딩하면서 실제로 걸리는 쪽 상한과 "≈" 용량 예상치를 비교하면 된다.