목적지는 한 번만 찾고, 그 뒤로는 원하는 만큼 예약하세요.
연결된 계정은 API에서 읽기 전용입니다. OAuth 자료가 서버 밖으로 나가면 안 되므로 연결은 대시보드에서 한 번만 합니다. 목록을 불러와 id를 챙기세요.
export AUTOSTUD_API_KEY="sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Read-only on purpose: accounts are connected from the dashboard,
# so the OAuth tokens never leave the server.
curl "https://autostud.ai/api/v1/social_accounts?status=active&limit=10" \
-H "Authorization: Bearer $AUTOSTUD_API_KEY"영상, 계정, 시점, 캡션. 호출이 돌려주는 것은 큐에 들어간 게시물이지 이미 게시된 것이 아닙니다. 진실의 출처는 여전히 당신의 스케줄러입니다.
curl -X POST https://autostud.ai/api/v1/actions/publishing.schedule_post \
-H "Authorization: Bearer $AUTOSTUD_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: lighthouse-ep12-tiktok" \
-d '{
"video_id": "0f4c8b71-2d95-47a3-9e6c-15b8ad7f3c20",
"account_id": "9a2c6f18-4b70-4d35-8e91-0f7d3c84b562",
"scheduled_at": "2026-08-21T18:30:00.000Z",
"caption": "Episode 12: the keeper who never slept #lighthouse"
}'날짜별로 묶인 캘린더를 읽거나, 큐를 상태로 거르거나, post.published를 받고 더 이상 묻지 마세요. 실패도 같은 경로로, 사유와 함께 옵니다.
curl -X POST https://autostud.ai/api/v1/actions/publishing.calendar \
-H "Authorization: Bearer $AUTOSTUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "from": "2026-08-17", "to": "2026-08-24" }'
# Need something more specific? The queue is a plain resource:
curl "https://autostud.ai/api/v1/scheduled_posts?status=error&platform=tiktok" \
-H "Authorization: Bearer $AUTOSTUD_API_KEY"네 개의 필드. 렌더링된 파일, 목적지, 시각, 그리고 문구.
video_id게시할 영상. 렌더링되어 있어야 합니다. 큐가 올리는 것은 파일이지 타임라인이 아닙니다.
account_id어느 연결 계정으로 가는지. 게시물 하나에 목적지 하나라서, 하나의 실패가 나머지를 끌어내리지 않습니다.
scheduled_at언제 나갈지. 플랫폼이 허용하는 범위라면 지금 당장도 됩니다.
caption함께 나갈 캡션. 해시태그와 멘션은 입력한 그대로 그 안에 실려 갑니다.
캘린더는 "이번 주에 무엇이 나가나"에 답하고, 리소스는 "이 영상은 어떻게 됐나"에 답합니다. 둘 다 필터링되므로 추가 엔드포인트 하나 없이 대시보드를 만들 수 있습니다.
GET /api/v1/social_accountsGET /api/v1/scheduled_postspublishing.calendar예약은 약속이지 결과가 아닙니다. post.published는 플랫폼이 받아들인 시점에 발생하며, 부분 게시에서도 발생해 계정별 결과가 페이로드에 담깁니다.
post.publishedpost.failed아니요, 의도된 설계입니다. OAuth 토큰이 서버를 벗어나지 않도록 계정 연결은 대시보드에서 합니다. API는 목록을 읽고 게시하는 것까지만 합니다.
게시물은 오류 상태로 큐에 남고 post.failed가 사유와 함께 발생합니다. 당신 모르게 조용히 재시도하지 않습니다.
네, 목적지마다 한 번씩 호출하세요. 따로 두면 한 플랫폼이 캡션을 거부해도 나머지가 통째로 취소되지 않습니다.
publishing.calendar가 두 날짜 사이의 예약 게시물을 날짜별로 묶어 돌려줍니다. 더 구체적인 것이 필요하면 scheduled_posts 리소스를 status, platform, video_id로 거르세요.