Communitygithub.com

publora/tiktok-post

사용자가 Publora를 통해 TikTok 동영상을 업로드하거나 예약할 때 사용하며, 공개 범위, 댓글, 듀엣, 스티치 및 상업적 콘텐츠 공개 설정을 지원합니다. 동영상은 3초에서 10분, 23FPS 이상이어야 하며, 캐러셀은 최대 35개의 이미지를 사용할 수 있습니다. 감사되지 않은 앱은 비공개 동영상만 게시할 수 있습니다. Reels에는 사용하지 마십시오(instagram-post 사용).

tiktok-post란 무엇인가요?

이 스킬은 Publora MCP 서버를 통해 TikTok 동영상을 업로드하고 예약하는 기능을 제공합니다. 사용자는 공개 범위 제어, 댓글, 듀엣, 스티치와 같은 상호작용 설정, 그리고 상업적 콘텐츠 공개 여부를 구성할 수 있습니다. Claude Code, Cursor, Codex, OpenClaw, Claude Desktop 등 다양한 AI 에이전트 플랫폼에서 MCP 프로토콜을 통해 연결되며, REST API를 대체 수단으로도 사용할 수 있습니다. 동영상은 3초~10분, 23FPS 이상, MP4/MOV/WebM 형식을 지원하며, 이미지 캐러셀은 최대 35장까지 가능합니다. 감사되지 않은 TikTok 앱은 `SELF_ONLY`(비공개) 모드로만 게시할 수 있다는 중요한 제한이 있습니다. 또한 하루 게시 한도는 15~20개, 분당 2개 동영상으로 제한됩니다.

지원 대상✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/publora/skills/tree/main/skills/tiktok-post

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

TikTok 포스트

Publora MCP 서버를 사용하여 TikTok에 동영상을 업로드하고 예약합니다. 공개 범위 제어, 상호작용 설정(댓글, 듀엣, 스티치), 상업적 콘텐츠 공개를 지원합니다.

필수 조건

요금제: 무료 Starter 요금제에서 작동합니다. 현재 한도 및 가격: publora.com/pricing

시작하기

  1. 계정 생성: publora.com/register (무료)
  2. TikTok 연결: Publora 대시보드에서 OAuth를 통해 연결
  3. API 키 발급: app.publora.com/dashboard/api
  4. MCP 서버에 에이전트 연결: https://mcp.publora.com, 인증은 Authorization: Bearer sk_YOUR_API_KEY 사용. Claude Code의 경우:
claude mcp add publora --transport http https://mcp.publora.com \
  --header "Authorization: Bearer sk_YOUR_API_KEY"

Claude Desktop, Cursor, Codex, OpenClaw 및 claude.ai 커넥터는 각각 다른 설정 파일이나 흐름이 필요합니다. 자세한 경로와 코드 조각은 클라이언트 설정을 참조하세요.

REST API 대체 방법

MCP 서버를 사용할 수 없거나 오류가 발생하는 경우 REST API를 직접 사용하세요:

기본 URL: https://api.publora.com/api/v1

인증: x-publora-key 헤더 사용 (Authorization: Bearer 아님):

# 연결된 플랫폼 조회
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
  -H "x-publora-key: sk_your_api_key"

# 포스트 생성
curl -X POST "https://api.publora.com/api/v1/create-post" \
  -H "x-publora-key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["tiktok-99887766"],
    "content": "동영상 캡션 #해시태그",
    "scheduledTime": "2026-03-25T10:00:00Z",
    "platformSettings": {
      "tiktok": {
        "viewerSetting": "PUBLIC_TO_EVERYONE",
        "allowComments": true
      }
    }
  }'

플랫폼 ID 형식: tiktok-{id} 여기서 {id}는 /platform-connections 응답에서 가져옵니다.

예시 ID: tiktok-99887766, tiktok-123456789

📖 전체 API 문서: docs.publora.com

플랫폼 제한 (API vs 네이티브 앱)

네이티브 TikTok 앱과 다른 중요한 API 제한:

동영상 요구 사항

사양API 제한네이티브 앱
최대 길이10분60분
최소 길이3초3초
최대 파일 크기4GB4GB
최소 프레임 속도23FPS23FPS
형식MP4, MOV, WebMMP4, MOV, WebM

캡션 제한

요소API 제한네이티브 앱
캡션 길이2,200자4,000자
해시태그캡션 글자 수에 포함됨캡션 글자 수에 포함됨

속도 제한

제한값
일일 포스트 수15-20개
분당 동영상 수최대 2개

사용 가능한 도구

create_post

새로운 TikTok 포스트를 생성합니다.

매개변수:

  • platforms: TikTok 연결 ID 배열 (예: ["tiktok-99887766"])
  • content: 동영상 캡션 (최대 2,200자)
  • scheduledTime: ISO 8601 UTC 날짜/시간. 선택 사항: 생략하면 포스트가 초안으로 생성됩니다. 미래 시간을 보내면 예약됩니다. 5분 이상 과거의 시간은 SCHEDULED_TIME_IN_PAST 오류로 거부되므로, 즉시 게시하려면 현재 시간에 1분을 더한 시간을 사용하세요.
  • mediaUrls: 최대 10개의 공개 https 이미지 또는 동영상 URL. Publora가 서버 측에서 다운로드하여 유효성 검사 전에 첨부하므로, 미디어와 예약이 한 번의 호출로 처리됩니다. 이는 초안 작성 후 get_upload_url → complete_media 흐름의 일회성 대안입니다. URL 처리는 시간당 60개로 제한됩니다.

get_upload_url

동영상 업로드를 위한 사전 서명된 URL을 가져옵니다.

매개변수:

  • postGroupId: 동영상을 첨부할 포스트 ID
  • fileName: 동영상 파일 이름 (예: "video.mp4")
  • contentType: video/mp4, video/quicktime, 또는 video/webm
  • type: "video"

complete_media

사전 서명된 PUT이 성공한 후 get_upload_url을 통해 업로드된 파일을 최종 처리합니다. 선택 사항입니다. 예약 시에도 보류 중인 미디어가 최종 처리되지만, 이 메서드를 먼저 호출하면 게시 전에 형식 및 프로브 오류를 감지할 수 있습니다. mediaUrls로 첨부된 미디어에는 필요하지 않습니다.

매개변수:

  • mediaId: get_upload_url이 반환한 ID

list_connections

연결된 계정과 플랫폼 ID를 나열합니다. 먼저 이 메서드를 호출하고 ID를 있는 그대로 복사하세요. ID는 추측이 불가능합니다.

list_posts / get_post / update_post / delete_post

예약된 포스트와 초안을 관리합니다. update_post는 초안이나 예약된 포스트의 content와 platforms도 패치하므로, 오타 수정이나 타겟 변경 시 삭제 후 재생성할 필요가 없습니다. delete_media와 prune_media_reference는 업로드된 파일을 정리합니다.

플랫폼 설정 (REST API 통해)

TikTok은 platformSettings를 통해 제어되는 7개의 플랫폼별 설정이 있습니다:

{
  "platformSettings": {
    "tiktok": {
      "viewerSetting": "PUBLIC_TO_EVERYONE",
      "allowComments": true,
      "allowDuet": false,
      "allowStitch": false,
      "commercialContent": false,
      "brandOrganic": false,
      "brandedContent": false
    }
  }
}

시청자 설정 (필수)

값설명
PUBLIC_TO_EVERYONE누구나 시청 가능 (기본값)
MUTUAL_FOLLOW_FRIENDS맞팔로우 친구만
FOLLOWER_OF_CREATOR나의 팔로워만
SELF_ONLY나만 (초안과 유사)

상호작용 설정

설정기본값설명
allowCommentstrue시청자가 댓글을 달 수 있는지 여부
allowDuetfalse시청자가 듀엣을 만들 수 있는지 여부
allowStitchfalse시청자가 스티치를 할 수 있는지 여부

상업 콘텐츠 설정

설정기본값설명
commercialContentfalse상업 콘텐츠인지 여부
brandOrganicfalse유기적 브랜드 홍보
brandedContentfalse유료 파트너십/스폰서

참고: commercialContent가 true이면 brandOrganic 또는 brandedContent 중 하나 이상이 반드시 true여야 합니다.

참고: platformSettings는 MCP의 create_post 및 update_post 도구와 REST에서 모두 허용됩니다. 스키마는 엄격합니다. 잘못된 플랫폼이나 키는 자동으로 무시되지 않고 유효성 검사 오류와 함께 거부됩니다.

중요한 제한 사항

1. 감사되지 않은 앱 = 비공개 전용

중요: TikTok 앱이 TikTok의 검토 과정을 통과하지 못한 경우 비공개 동영상만 게시할 수 있습니다 (SELF_ONLY). 다른 모든 viewerSetting 값은 SELF_ONLY로 재정의됩니다.

공개 동영상을 게시하려면 TikTok의 감사를 받아야 합니다.

2. 미디어 필수, 동영상 또는 이미지 캐러셀

TikTok은 텍스트만 있는 포스트를 지원하지 않습니다. 모든 포스트에는 미디어가 필요합니다.

이미지 캐러셀은 최대 35개의 이미지, JPEG, PNG 또는 WebP 형식, 각 20MB까지 지원합니다. 포스트는 캐러셀 또는 단일 동영상 중 하나여야 하며, 둘 다일 수 없습니다.

3. 최소 23FPS

초당 23프레임 미만의 동영상은 TikTok에서 거부됩니다.

예제

기본 동영상 포스트

이 동영상을 TikTok에 게시:
"60초 안에 스타트업을 만든 방법 #startup #tech #coding"

비공개 초안 (테스트)

이 동영상을 TikTok에 비공개 초안으로 업로드 (나만 볼 수 있음):
"새 콘텐츠 형식 테스트"

공개하기 전 테스트용으로 viewerSetting: "SELF_ONLY"를 사용하세요.

브랜드 콘텐츠

이 스폰서 동영상을 적절한 공개와 함께 TikTok에 게시:
"@brand의 이 신제품이 정말 마음에 들어요! #ad #sponsored"

유료 파트너십의 경우 commercialContent: true와 brandedContent: true를 설정하세요.

예약된 포스트

이 TikTok 동영상을 내일 오후 6시에 예약:
"주말 분위기 옵니다! #weekend #fun"

지원되는 동영상 형식

형식권장참고
MP4예가장 신뢰할 수 있음
MOV예Apple 형식
WebM예웹 형식
AVIPublora에서 허용TikTok에서 거부될 수 있음
MKVPublora에서 허용TikTok에서 거부될 수 있음

권장: 가장 호환성이 좋은 MP4를 사용하세요.

모범 사례

콘텐츠

  1. 처음 3초 후크: 즉시 주목을 끌기
  2. 최적 길이: 15-60초가 가장 좋은 참여율
  3. 트렌드 사운드: 가능하면 트렌드 오디오 사용
  4. 해시태그 전략: 3-5개의 관련 해시태그

기술

  1. 세로 동영상: 9:16 화면 비율이 가장 좋은 성과
  2. 고품질: 최소 720p 해상도
  3. 23FPS 이상: 부드러운 재생 보장
  4. MP4 형식: 가장 신뢰할 수 있는 형식

타이밍

  • 최적 시간: 대상 시간대 기준 오전 7-9시, 오후 12-3시, 오후 7-11시
  • 빈도: 성장을 위해 하루 1-3개 게시
  • 일관성: 정기적인 게시 일정이 알고리즘에 도움

문제 해결

오류원인해결책
unaudited_client_can_only_post_to_private_accounts앱이 승인되지 않음TikTok 검토를 위해 앱 제출 또는 SELF_ONLY 사용
spam_risk_too_many_posts일일 한도 도달24시간 대기
duration_check_failed동영상이 너무 김/짧음3초에서 10분 사이인지 확인
file_format_check_failed잘못된 동영상 형식MP4, MOV, WebM 사용
"23 FPS required"낮은 프레임 속도동영상을 23FPS 이상으로 재인코딩
"TikTok requires selecting who can view"viewerSetting 누락platformSettings에 항상 viewerSetting 포함

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

publora/bluesky-post

Use when the user wants to post or schedule to Bluesky through Publora. Handles the 300-character cap, auto-detected hashtags and links, up to 4 images, and videos. Alt text cannot be set through the API. Needs a Bluesky app password, never the main password. Not for Mastodon (use social-post).

publora/instagram-post

Use when the user wants to post or schedule to Instagram through Publora: a single image, a 2-10 image carousel, a Reel or a Story. Requires a Business account and an image or video; text-only posts are rejected by the API. Not for Threads (use threads-post).

publora/linkedin-analytics

Analyze LinkedIn performance and manage engagement through Publora. Use when the user asks how a LinkedIn post or account performed (impressions, reach, reactions, comments, reshares, follower growth) or wants to react, comment, reshare or resolve an @mention. Statistics run over the REST API, engagement over MCP tools. Not for creating posts (use linkedin-post).

publora/linkedin-post

Use when the user wants to publish or schedule a LinkedIn post through Publora: text, a multi-image grid, a video, a PDF document, or @mentions. Not for analytics, reactions, comments or reshares (use linkedin-analytics), and not for other platforms.

publora/social-post

Use when the user wants to post or schedule to YouTube, a Facebook Page or Mastodon through Publora. YouTube needs a video on every post, Facebook publishes to Pages only, Mastodon caps at 500 characters. Not for the platforms that have their own skill.

publora/telegram-post

Use when the user wants to post or schedule to a Telegram channel or group through Publora, using a bot. Covers Telegram markdown, silent delivery, link previews and forward protection. Bot API caps media captions at 1,024 characters and videos at 50 MB. Not for other platforms (each has its own skill).

publora/threads-post

Create and schedule Threads posts with image carousels and reply control via Publora MCP. Use when the user wants to post to Meta's Threads. Multi-part threading is currently disabled by the platform, so long content stays a single post. Not for Instagram (use instagram-post) or X threads (use x-post).

publora/x-post

Use when the user wants to post or schedule to X (Twitter) through Publora, including threads auto-split past 280 characters, up to 4 images, or a video up to 140 seconds. X needs a paid Publora plan. Not for Threads or Bluesky (each has its own skill).

관련 스킬