Skip to content

Tích Hợp Với cURL & Shell Scripts ​

Dành cho các quản trị viên hệ thống hoặc lập trình viên muốn xây dựng script tự động hóa trên máy chủ Linux/macOS bằng Bash hoặc POSIX shell.


1. Biến Môi Trường Chung ​

bash
export API_BASE="https://api.stackvid.dev/api"
export STACKVID_API_KEY="tk_live_YOUR_KEY_HERE"

2. Kiểm Tra Số Dư Ví ​

bash
curl -s -X GET "${API_BASE}/credits/balance" \
  -H "X-API-Key: ${STACKVID_API_KEY}" | jq .

3. Script Upload & Đăng Video Tự Động (publish.sh) ​

bash
#!/usr/bin/env bash
set -e

VIDEO_FILE="$1"
CAPTION="$2"
CHANNEL_NAME="$3"

if [ -z "$VIDEO_FILE" ] || [ -z "$CAPTION" ]; then
  echo "Usage: ./publish.sh <video_path> <caption text> [channel_name]"
  exit 1
fi

FILE_SIZE=$(wc -c < "$VIDEO_FILE" | tr -d ' ')
echo "📁 Kích thước file: ${FILE_SIZE} bytes"

# 1. Xin Presigned Upload URL
echo "⚡ 1. Yêu cầu cấp Presigned Upload URL..."
PRESIGNED_JSON=$(curl -s -X POST "${API_BASE}/uploads/presigned-url" \
  -H "X-API-Key: ${STACKVID_API_KEY}" \
  -H "Content-Type: application/json" \
  -d "{
    \"fileType\": \"VIDEO\",
    \"contentType\": \"video/mp4\",
    \"fileSizeBytes\": ${FILE_SIZE}
  }")

UPLOAD_URL=$(echo "$PRESIGNED_JSON" | jq -r '.uploadUrl')
PUBLIC_URL=$(echo "$PRESIGNED_JSON" | jq -r '.publicUrl')

# 2. Upload file trực tiếp lên uploadUrl
echo "🚀 2. Đang tải video lên..."
curl -s -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary "@${VIDEO_FILE}"

echo "✅ Tải lên hoàn tất! Public URL: $PUBLIC_URL"

# 3. Xuất bản lên TikTok
echo "📱 3. Đăng lên TikTok..."
PUBLISH_JSON=$(curl -s -X POST "${API_BASE}/tiktok/upload" \
  -H "X-API-Key: ${STACKVID_API_KEY}" \
  -H "Content-Type: application/json" \
  -d "{
    \"videoUrl\": \"${PUBLIC_URL}\",
    \"caption\": \"${CAPTION}\",
    \"targetChannel\": \"${CHANNEL_NAME}\",
    \"privacyLevel\": 0
  }")

echo "🎉 Kết quả:"
echo "$PUBLISH_JSON" | jq .

bash
curl -s -X GET "${API_BASE}/tiktok/user/posts?username=lamine.yamal&count=10" \
  -H "X-API-Key: ${STACKVID_API_KEY}" \
  | jq -r '.itemList[] | "\(.id) | \(.stats.playCount) views | \(.video.playAddr)"'

StackVid - Multi-Platform Video & Social Commerce Automation Platform.