단일 API 호출로 15개 플랫폼에 프로그래밍 방식으로 게시하세요. 브라우저 세션이나 수동 상호 작용 없이 안정적인 소셜 미디어 자동화가 필요한 개발자, AI 에이전트, LLM 및 에이전트 워크플로우를 위해 구축되었습니다.
from bulkpublish import BulkPublish
bp = BulkPublish("bp_your_key_here")
bp.posts.create(
content="오늘 신제품을 출시합니다!",
channels=[{"channelId": 1, "platform": "x"}, {"channelId": 2, "platform": "linkedin"}],
status="scheduled",
scheduled_at="2026-04-10T09:00:00Z",
)
BulkPublish를 사용해야 하는 이유는?
대부분의 소셜 미디어 도구는 버튼을 클릭하는 인간을 위해 만들어졌습니다. BulkPublish는 코드를 위해 만들어졌습니다. 그 코드가 개발자, AI 에이전트, 툴을 사용하는 LLM, 또는 자율 워크플로우에 의해 작성되었든 상관없습니다.
- 헤드리스 설계 — 브라우저, UI, 런타임 시 OAuth 팝업이 없습니다. 대시보드에서 한 번 계정을 연결한 다음 API를 통해 모든 것을 자동화하세요.
- AI 네이티브 — Claude를 위한 MCP 서버, GPT 및 LangChain을 위한 도구 정의, LLM이 안정적으로 파싱하는 구조화된 JSON 응답.
- 에이전트 지원 — 명확한 오류 코드가 있는 결정론적 API. AI 에이전트가 게시물 생성, 상태 확인, 실패 재시도, 분석을 자율적으로 읽을 수 있습니다.
- 15개 플랫폼, 하나의 엔드포인트 — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat.
사용 사례
- AI 소셜 미디어 관리자 — Claude, GPT 또는 사용자 지정 에이전트가 게시물을 자율적으로 예약하고 게시하도록 하세요.
- 콘텐츠 파이프라인 — RSS-소셜, 블로그-소셜, 뉴스레터-소셜 자동화.
- 대량 일정 — CSV를 업로드하거나 콘텐츠 캘린더를 제공하여 프로그래밍 방식으로 몇 주 분량의 게시물을 예약합니다.
- 교차 플랫폼 신디케이션 — 플랫폼별 콘텐츠 최적화와 함께 모든 플랫폼에 한 번에 게시합니다.
- 분석 대시보드 — 자신의 도구, 스프레드시트 또는 AI 분석으로 참여 데이터를 가져옵니다.
- Zapier/n8n/Make 대안 — 미들웨어 없이 직접 API 액세스, 더 낮은 지연 시간, 더 많은 제어.
- LLM 기반 콘텐츠 제작 — AI로 콘텐츠를 생성하고, BulkPublish로 게시하고, 성과를 추적하고, 반복합니다.
빠른 시작
1. 가입
app.bulkpublish.com에서 무료 계정을 만드세요.
2. API 키 받기
대시보드의 설정 > 개발자로 이동하여 API 키를 생성하세요. 키는 bp_로 시작하며 한 번만 표시됩니다. 안전하게 저장하세요.
3. 플랫폼 연결
채널 아래 대시보드에서 소셜 계정을 연결하세요. API는 연결된 채널을 사용하여 게시합니다.
4. SDK 설치
Python
pip install bulkpublish
Node.js
npm install bulkpublish
Homebrew (macOS/Linux)
brew tap azeemkafridi/bulkpublish && brew install bulkpublish
또는 curl, fetch, requests 또는 모든 HTTP 클라이언트로 REST API를 직접 호출하세요.
5. 첫 번째 API 호출하기
curl -X POST https://app.bulkpublish.com/api/posts \
-H "Authorization: Bearer bp_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"content": "Hello from the BulkPublish API!",
"channels": [{"channelId": 1, "platform": "linkedin"}],
"status": "draft"
}'
AI 에이전트 통합
MCP 서버 (Claude, Cursor, Windsurf, Claude Code)
BulkPublish는 AI 어시스턴트가 소셜 미디어를 직접 관리할 수 있도록 MCP 서버를 제공합니다:
{
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": ["-y", "@bulkpublish/mcp-server"],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_key_here"
}
}
}
}
50개의 도구 사용 가능: create_post, list_channels, upload_media, get_analytics, 대화형 compose_post 컴포저(MCP 앱) 등. 로컬(stdio)로 실행되거나 https://mcp.bulkpublish.com/mcp에서 Streamable HTTP를 통해 호스팅됩니다. mcp-server/README.md를 참조하세요.
소셜 미디어 콘텐츠 스킬
BulkPublish는 AI 에이전트가 소셜 미디어 콘텐츠를 계획, 조정, 검토, 예약 및 게시할 수 있는 24개 스킬 라이브러리를 포함합니다: 소셜 미디어 콘텐츠 스킬.
LLM 도구 사용 / 함수 호출
자율 AI 에이전트를 위한 즉시 사용 가능한 도구 정의:
- Claude tool_use 예제 — 게시물 예약을 위한 도구 정의가 포함된 Anthropic SDK
- OpenAI 함수 호출 예제 — 게시물 관리를 위한 함수가 포함된 GPT-4
- LangChain 도구 예제 — BulkPublish 도구가 포함된 LangChain 에이전트
모든 예제는 완전하고 실행 가능한 스크립트이며 오류 처리를 포함합니다.
코드 예제
게시물 만들기
from bulkpublish import BulkPublish
bp = BulkPublish("bp_your_key_here")
post = bp.posts.create(
content="최신 업데이트를 확인하세요!",
channels=[
{"channelId": 1, "platform": "facebook"},
{"channelId": 2, "platform": "x"},
{"channelId": 3, "platform": "linkedin"},
],
status="draft",
)
import { BulkPublish } from 'bulkpublish';
const bp = new BulkPublish({ apiKey: 'bp_your_key_here' });
const post = await bp.posts.create({
content: '최신 업데이트를 확인하세요!',
channels: [
{ channelId: 1, platform: 'facebook' },
{ channelId: 2, platform: 'x' },
{ channelId: 3, platform: 'linkedin' },
],
status: 'draft',
});
게시물 예약하기
post = bp.posts.create(
content="이 게시물은 내일 아침에 나갑니다.",
channels=[{"channelId": 1, "platform": "instagram"}],
status="scheduled",
scheduled_at="2026-04-10T09:00:00Z",
timezone="America/New_York",
)
미디어 업로드 및 게시
media = bp.media.upload("./product-photo.jpg")
post = bp.posts.create(
content="저희의 최신 제품이 여기 있습니다.",
channels=[{"channelId": 1, "platform": "instagram"}],
media_files=[media["file"]["id"]],
status="scheduled",
scheduled_at="2026-04-10T12:00:00Z",
)
자동화 예제: CSV에서 대량 예약
import csv
from bulkpublish import BulkPublish
bp = BulkPublish("bp_your_key_here")
channels = bp.channels.list()["channels"]
with open("content-calendar.csv") as f:
for row in csv.DictReader(f):
bp.posts.create(
content=row["content"],
channels=[{"channelId": ch["id"], "platform": ch["platform"]} for ch in channels],
status="scheduled",
scheduled_at=row["scheduled_at"],
timezone="America/New_York",
)
더 많은 예제는 examples/ — Python 자동화 스크립트, Node.js 예제, curl 참조, AI 에이전트 통합을 참조하세요.
기능
- 15개 플랫폼 — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat
- 예약 — 시간대 지원으로 미래의 모든 시간에 게시물을 예약하거나 대기열 슬롯이 최적의 시간을 선택하도록 합니다.
- 미디어 업로드 — 최대 100MB의 이미지(JPEG, PNG, WebP, GIF) 및 비디오(MP4, MOV, WebM)
- 반복 일정 — 매일, 매주, 격주 또는 매월 지정된 시간에 게시물 반복
- 분석 — 노출수, 좋아요, 댓글, 공유, 참여도를 추적합니다. 각 플랫폼은 다른 측정항목 하위 집합을 보고하며, 응답은 어떤 항목이 지원되는지(
supportedMetrics/supportedTotals) 알려주므로0이 측정값으로 오인되지 않습니다. — 플랫폼별 측정항목 참조 - 링크 추적 — 조직별로 또는
linkTrackingOverride를 통해 게시물별로 옵트인하여bulkpubli.sh를 통해 링크를 다시 작성하고 클릭 수를 계산합니다.linkClicks/totalLinkClicks로 보고되며 플랫폼이 아닌 BulkPublish에서 측정하므로 플랫폼이 아무것도 보고하지 않는 경우에도 작동합니다. — 문자 제한 참조 - 레이블 — 색상 코드 레이블로 게시물과 미디어를 구성합니다.
- 대량 작업 — 단일 요청으로 여러 게시물을 삭제하거나 재시도합니다.
- 스레드 — X, Threads, Bluesky 및 Mastodon을 위한 멀티파트 스레드 게시물
- 자동 첫 댓글 — 모든 플랫폼에 게시한 후 자동으로 댓글을 추가합니다.
- 모든 게시물 유형 — Reels, Stories, Carousels, Threads, Shorts, Video —
postTypeOverrides를 통해 플랫폼별로 설정합니다. - 플랫폼별 콘텐츠 — 단일 게시물에서 플랫폼별로 텍스트 및 옵션 사용자 지정
- 플랫폼별 옵션 — Instagram 공동 작업자, TikTok 개인정보 보호, YouTube 카테고리, Pinterest 보드 등
API 참조
전체 대화형 API 문서: app.bulkpublish.com/docs
기본 URL
https://app.bulkpublish.com
인증
Authorization: Bearer bp_your_key_here
핵심 엔드포인트
| 메서드 | 엔드포인트 | 설명 |
|---|---|---|
POST | /api/posts | 게시물 생성 (임시 보관, 예약 또는 즉시) |
GET | /api/posts | 게시물 목록 (페이지 매김, 상태/날짜/채널/레이블별 필터링 가능) |
GET | /api/posts/:id | 플랫폼 상태 및 측정항목이 포함된 게시물 가져오기 |
PUT | /api/posts/:id | 임시 보관 또는 예약된 게시물 업데이트 |
DELETE | /api/posts/:id | 게시물 삭제 |
POST | /api/posts/:id/publish | 임시 보관 게시물을 즉시 게시 |
POST | /api/posts/:id/retry | 실패한 플랫폼 재시도 |
POST | /api/posts/:id/approve | 팀 승인을 기다리는 게시물 승인 (게시물:승인 권한이 있는 역할) |
POST | /api/posts/:id/reject | 보류 중인 게시물을 선택적 사유와 함께 임시 보관으로 반려 |
POST | /api/posts/bulk | 대량 삭제 또는 재시도 |
GET | /api/channels | 연결된 소셜 미디어 채널 목록 |
GET | /api/channels/:id/health | 채널 토큰 상태 확인 |
GET | /api/channels/:id/options | 플랫폼 옵션 가져오기 (Pinterest 보드, YouTube 재생 목록) |
GET | /api/channels/:id/mentions | @멘션을 위한 사용자 검색 (X, Bluesky) |
GET/POST | /api/channel-sets | 원클릭 타겟팅을 위한 저장된 채널 그룹 (/api/channel-sets/:id를 통해 업데이트/삭제) |
GET/POST | /api/rss-feeds | RSS/Atom 자동 게시 피드 — 새 항목이 게시물이 됨 (/api/rss-feeds/:id를 통해 업데이트/삭제) |
POST | /api/media | 미디어 파일 업로드 (멀티파트 폼, 최대 100MB) |
POST | /api/media/multipart/create | 대용량 미디어(최대 1GB 비디오, 10MB 파트)에 대한 청크 업로드 시작 |
POST | /api/media/multipart/complete | 업로드된 파트를 조합하고 미디어 파일 기록 |
GET | /api/media | 업로드된 미디어 목록 |
GET | /api/analytics/summary | 날짜 범위에 대한 분석 요약 |
GET | /api/analytics/engagement | 일/주/월별로 그룹화된 참여 데이터 |
POST | /api/schedules | 반복 일정 생성 |
GET | /api/quotas/usage | 현재 요금제 제한 및 사용량 확인 |
전체 엔드포인트 목록은 OpenAPI 사양을 참조하세요.
지원되는 플랫폼
| 플랫폼 | 게시물 유형 | 미디어 |
|---|---|---|
| 게시물, 스토리 | 이미지, 비디오 | |
| 피드, 릴, 스토리, 캐러셀 | 이미지 (JPEG), 비디오 (MP4, MOV) | |
| X / Twitter | 트윗, 스레드 | 이미지, 비디오, GIF |
| TikTok | 비디오, 사진 슬라이드쇼 | 비디오 (MP4, MOV), 이미지 |
| YouTube | 비디오, Shorts | 비디오 (MP4, MOV, WebM, AVI, WMV, FLV) |
| Threads | 게시물, 스레드, 인용 게시물 | 이미지, 비디오 |
| Bluesky | 게시물, 스레드 | 이미지 |
| Pin, Idea Pin | 이미지 (JPEG), 비디오 (MP4) | |
| Google Business Profile | 게시물, 이벤트, 제안 | 이미지, 비디오 |
| 게시물, 이미지 게시물, 비디오 게시물, 문서 게시물, 캐러셀, 이벤트 | 이미지, 비디오, PDF, 문서 | |
| Mastodon | 게시물, 스레드 | 이미지, 비디오 |
| Discord | 웹훅 메시지 (임베드 포함) | 이미지 URL, 비디오 URL |
| Telegram | 메시지, 사진, 비디오, 문서 | 이미지, 비디오, PDF, 문서 |
| Tumblr | 텍스트, 사진, 인용, 링크, 채팅, 오디오, 비디오 | 이미지, 비디오 |
| Snapchat | 스냅, 스토리 | 이미지, 비디오 |
라이선스
MIT — 소스 코드를 자유롭게 사용, 수정 및 배포하세요. 소셜 미디어 콘텐츠 스킬은 CC BY 4.0에 따라 라이선스가 부여됩니다.
BulkPublish는 소셜 미디어 API 위에 있는 관리형 서비스이며 플랫폼 사용 약관을 준수해야 합니다. 서비스 약관은 bulkpublish.com/terms를 참조하세요.
기여
기여를 환영합니다! 기여 지침을 참조하세요.
- 이슈를 열어 버그를 보고하거나 기능을 제안하세요.
- 이 리포지토리를 포크하세요.
- 변경 사항이 포함된 PR을 제출하세요.
연락처
- 웹사이트: bulkpublish.com
- 문서: app.bulkpublish.com/docs
- GitHub: github.com/azeemkafridi/bulkpublish-api
- npm: @bulkpublish/mcp-server