Total Uploads
—
Succeeded
—
In Progress
—
Connected
—
Connected Platforms
Click to manage account
Recent Activity
Last 5 upload jobs
No activity yet
Upload your first video to get started
Video Source
Direct video file URL (.mp4, .mov, .avi) or cloud storage link
0/200 characters
0/5000 characters
Comma-separated hashtags (without #)
Schedule
Privacy / Visibility
| Job ID | Title | Platforms | Status | Progress | Created | Actions |
|---|---|---|---|---|---|---|
Social Media Connections
Connect your accounts to enable posting
OAuth Setup Notes
Each platform requires API credentials set in your
After connecting, tokens are stored securely in your local database.
Tokens auto-refresh where supported (YouTube, Facebook, Instagram).
.env file.After connecting, tokens are stored securely in your local database.
Tokens auto-refresh where supported (YouTube, Facebook, Instagram).
REST API Endpoint
Use these endpoints from n8n HTTP Request nodes or any HTTP client
http://localhost:3333/api
n8n — HTTP Request Node (Upload)
Configure the HTTP Request node in n8n with these settings to trigger uploads
POST /api/upload
Body (JSON):
{
"videoUrl": "https://...",
"title": "My Video",
"description":"Video description",
"tags": ["tag1","tag2"],
"platforms": ["youtube","tiktok","instagram"],
"visibility": "public",
"scheduleAt": null
}
n8n — Check Job Status
Poll this endpoint to get the upload job status
GET /api/jobs/:jobId
Response:
{
"id": "job_abc123",
"status": "success|failed|uploading|pending",
"progress": 100,
"results": {
"youtube": { "status":"success", "videoId":"dQw4w9WgXcQ" },
"tiktok": { "status":"failed", "error":"Token expired" },
"instagram": { "status":"success", "mediaId":"17843..." }
}
}
n8n Custom Node
Install the PostFlow custom node for native n8n integration
# Copy n8n-node/ folder to your n8n custom nodes:
cp -r ./n8n-node ~/.n8n/custom/
# Install dependencies
cd ~/.n8n/custom/n8n-node
npm install && npm run build
# Restart n8n — "PostFlow" node will appear
# in n8n under category: "Marketing"
API Key Auth
Set your API key in .env and pass it with each request
Header: X-API-Key: your_api_key_here
# Or disable auth for local use:
# REQUIRE_API_KEY=false in .env
Webhook Notifications
PostFlow can POST job results back to your n8n Webhook trigger
WEBHOOK_URL=https://your-n8n.com/webhook/abc
# On job completion, PostFlow will POST:
{
"event": "upload.complete",
"jobId": "job_abc123",
"status": "success",
"results": { ... }
}
Quick Test
Test your API connection
API Configuration
Backend server connection settings
Upload Defaults
Pre-fill values for new uploads
Notifications
Configure webhook notifications on job completion
PostFlow will POST job results to this URL
App Info
PostFlow — Social Media Upload Platform
Version: 1.0.0
Backend: Not connected
DB: SQLite
Backend: Not connected
DB: SQLite