어느 나라에서도 실제 TikTok 계정을 생성하는 MCP - TokPortal
I’m happy to translate the article for you, but I need the full text of the post (the part you’d like translated). Could you please paste the article’s content here? Once I have it, I’ll keep the source line unchanged and provide a Korean translation while preserving all formatting, markdown, and code blocks.
개요
대부분의 TikTok “자동화” 도구는 헤드리스 브라우저를 실행하고 프록시를 통해 라우팅하며, 계정이 48 시간 이내에 차단되지 않기를 기대합니다.
TokPortal은 다른 접근 방식을 취합니다: 16개 이상의 국가에 걸친 실제 운영자 네트워크가 현지 네트워크의 실제 휴대폰을 사용합니다. 전체 워크플로우가 REST API를 통해 노출되어, 진정한 TikTok 계정을 생성하고 프로그래밍 방식으로 비디오를 게시할 수 있습니다.
API Basics
- Base URL:
https://app.tokportal.com/api/ext - Authentication: 개발자 포털에서 생성된 Bearer 토큰
import os
import requests
API_KEY = os.environ["TOKPORTAL_API_KEY"]
BASE = "https://app.tokportal.com/api/ext"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
Bundles
번들은 계정을 비디오 슬롯 집합과 함께 그룹화합니다. 번들을 생성하고, 비디오를 업로드하고, 메타데이터를 설정한 뒤 게시합니다.
resp = requests.post(f"{BASE}/bundles", headers=HEADERS, json={
"bundle_type": "account_and_videos",
"platform": "tiktok",
"country": "US", # change to BR, DE, ID, GB, FR, etc.
"videos_quantity": 3,
"title": "My first campaign",
})
bundle = resp.json()["data"]
print(f"Bundle {bundle['bundle_id']} created — {bundle['status']}")
비디오 업로드
TokPortal은 사전 서명된 URL을 제공하여 multipart‑form 번거로움을 없앱니다.
# Get a presigned upload URL
upload = requests.post(f"{BASE}/upload/video", headers=HEADERS, json={
"filename": "promo.mp4",
"content_type": "video/mp4",
"bundle_id": bundle["bundle_id"],
}).json()["data"]
# PUT the file directly (no auth header needed)
with open("promo.mp4", "rb") as f:
requests.put(upload["upload_url"], data=f,
headers={"Content-Type": "video/mp4"})
video_url = upload["public_url"]
비디오 메타데이터 설정
from datetime import datetime, timedelta
publish_date = (datetime.utcnow() + timedelta(days=5)).strftime("%Y-%m-%d")
requests.put(
f"{BASE}/bundles/{bundle['bundle_id']}/videos/1",
headers=HEADERS,
json={
"video_type": "video",
"description": "This is wild 🔥 #fyp #tech",
"target_publish_date": publish_date,
"video_url": video_url,
},
)
번들 게시
requests.post(
f"{BASE}/bundles/{bundle['bundle_id']}/publish",
headers=HEADERS,
)
게시가 완료되면, 선택된 국가의 실제 운영자가 예정된 날짜에 자신의 장치에서 비디오를 게시합니다. 분석은 API를 통해 이용할 수 있습니다.
분석 데이터 가져오기
analytics = requests.get(
f"{BASE}/accounts/{bundle['account_id']}/analytics",
headers=HEADERS,
).json()["data"]
print(f"Followers: {analytics['followers_count']}")
print(f"Views: {analytics['total_views']}")
print(f"Engagement: {analytics['average_engagement_rate']}%")
공통 사용 사례
- Music labels: 5–10개 시장에서 계정을 만들고, 새 트랙을 게시한 뒤 광고에 투자하기 전에 유기적 트랙션을 확인합니다.
- DTC brands: 새로운 국가에서 10–20개의 유기적 TikTok 계정을 시드한 뒤, 유료 캠페인을 시작합니다.
- Agencies: 단일 n8n 워크플로우를 통해 다양한 국가의 50개 이상의 클라이언트 캠페인을 관리합니다. n8n integration guide를 참조하세요.
- AI agents: TokPortal을 Claude, Cursor 또는 기타 에이전트에 연결하여 계정 생성 및 게시를 자동화합니다.
대량 생성
대규모 배포의 경우, bulk 엔드포인트를 사용하세요:
resp = requests.post(f"{BASE}/bundles/bulk", headers=HEADERS, json={
"bundles": [
{"platform": "tiktok", "country": "US", "videos_quantity": 3,
"accounts_count": 10, "title": "US wave"},
{"platform": "tiktok", "country": "BR", "videos_quantity": 3,
"accounts_count": 10, "title": "Brazil wave"},
{"platform": "tiktok", "country": "GB", "videos_quantity": 3,
"accounts_count": 5, "title": "UK wave"},
]
})
# 한 번의 호출로 3개 국가에 걸쳐 25개의 계정을 생성합니다
Results to Date
- 35,000+ 계정 생성
- 2 B+ 총 조회수 발생
- 82 개 분야 커버
- 16 개 국가 지원
- 평균 참여율: 6–8 % (분야 및 국가에 따라 다름)
높은 유지율은 실제 계정을 사용하기 때문이며—섀도우 밴도, 플래그도 없고, 일반적인 TikTok 행동만을 보입니다.
추가 자료
- 전체 API 참조: https://developers.tokportal.com
- Python 빠른 시작 가이드 (제로부터 약 10 분 안에 공개된 TikTok을 만들 수 있습니다)
개인화된 데모를 원하시면 TokPortal 팀과 통화를 예약하세요. 댓글에 질문을 자유롭게 남겨 주세요—제작자가 엣지 케이스에 대한 인사이트를 기꺼이 공유합니다.