Upload-Post + n8n Integration
Automate your social media publishing by connecting Upload-Post with n8n. Start by setting up your Upload-Post users and API key, then choose between our official n8n node or manual HTTP configuration.
Need help building your workflow? We work with trusted partners who can set up your n8n automation or build a custom project for you.
Prerequisite: Setup in Upload-Post
Before configuring n8n, you must set up users and generate an API key within your Upload-Post account. These will be used to authenticate and direct your automated posts.
Manage Users & Connect Social Accounts
Each post is associated with a specific user in Upload-Post. This user must have the target social media platforms connected to their profile.
- Navigate to the Manage Users page in your Upload-Post dashboard.
- Add a new user or select an existing one.
- For the chosen user, connect all social media accounts (e.g., TikTok, Instagram, Facebook) to which you intend to publish content via n8n.
- Take note of the User Identifier (this is typically the username or a unique ID associated with the user in Upload-Post). You will need this for your n8n workflows.
Important: The social accounts must be connected to the *specific user* you intend to use in your automation, not just generally to your Upload-Post account.
Generate API Key
The API key authenticates your requests to the Upload-Post API.
- Go to the API Keys page in your Upload-Post API keys section.
- Generate a new API key if you don't have one already.
- Copy this API key securely. You will use it in your n8n credential setup.
Security Note: Treat your API key like a password. Do not share it publicly or embed it directly in shared workflows. Use n8n's credential management system.
Once you have your User Identifier and API Key from Upload-Post, you are ready to configure n8n.
Recommended: Using the Official Upload-Post n8n Node
Node Availability:
The n8n-nodes-upload-post node is now included by default in updated versions of n8n for both self-hosted (on-premise) n8n instances and n8n cloud instances. No manual installation is required - just ensure you have the latest version of n8n.
The easiest way to integrate is using our official node: n8n-nodes-upload-post. This node is included by default in updated versions of n8n and streamlines setup with dedicated operations for both cloud and self-hosted n8n instances.
1. Access the Upload-Post Node
The Upload-Post node is included by default in updated versions of n8n:
- Ensure you have the latest version of n8n installed.
- Open your n8n workflow editor.
- Search for "Upload Post" in the node library.
- The node should be available without any additional installation.
If you don't see the node, please update your n8n instance to the latest version.
2. Configure Upload-Post API Credentials in n8n
You'll use the API Key generated from your Upload Post API Section (as described in the "Prerequisite" section above).
- In n8n, go to Credentials > New.
- Search for Upload Post API and select it.
- Assign a memorable Credential Name (e.g., "My Upload-Post API Key").
- Paste your Upload Post API Key into the designated field.
- Click Save.
This securely stores your API key for use by the Upload-Post node.
3. Utilize Node Operations in Your Workflows
The node provides dedicated operations. For each, you will need to provide the User Identifier (from the user you set up in Upload-Post Manage Users) to specify which user's social accounts to use.
Upload Photo(s)
Upload one or more photos. Accepts files or URLs.
Required: User Identifier, Platform(s), Photos. Optional: Title, Caption. Platform-specific fields available.
Upload Video
Upload a single video. Accepts file or URL.
Required: User Identifier, Platform(s), Video. Optional: Title. Platform-specific fields available.
Upload Text
Upload a text-based post.
Required: User Identifier, Platform(s), Title/Content. Platform-specific fields available.
Refer to the node's help documentation within n8n or the npm package page for detailed parameter lists. The Upload Post API Documentation provides full details on underlying API capabilities.
Using this dedicated n8n node is the recommended approach for both cloud and self-hosted n8n users.
Manual Configuration (Alternative using HTTP Request Node)
If the official node is not suitable for your specific needs, you can configure the integration manually using n8n's generic HTTP Request node. This requires careful setup of API parameters.
Prerequisite: Upload-Post User & API Key
Ensure you have completed the "Prerequisite: Setup in Upload-Post" steps described at the beginning of this guide. You will need:
- Your API Key from Upload-Post API Keys.
- The User Identifier (e.g., username) for the user whose social accounts you'll be posting to, from Upload-Post Manage Users.
Understanding Upload-Post API Endpoints & Making Requests
Upload-Post offers distinct API endpoints for uploading different types of content. All requests must include an Authorization header with your API Key and generally require a user field (your User Identifier from Upload-Post) and platform[] to specify the target social media.
1. Video Upload Endpoint
Endpoint URL: https://api.upload-post.com/api/upload
Use this endpoint for uploading single video files. Key parameters include video (file), title, user, and platform[].
curl \
-H 'Authorization: Apikey YOUR_API_KEY_HERE' \
-F 'video=@/path/to/your/video.mp4' \
-F 'title="Your Video Title"' \
-F 'user="YOUR_USER_IDENTIFIER"' \
-F 'platform[]=tiktok' \
-X POST https://api.upload-post.com/api/upload 2. Photo Upload Endpoint
Endpoint URL: https://api.upload-post.com/api/upload_photos
For uploading one or more photos (e.g., for carousels/slideshows). Use photos[] for each image file. Also include user, platform[], title, and optionally description.
curl \
-H 'Authorization: Apikey YOUR_API_KEY_HERE' \
-F 'photos[]=@/path/to/your/image1.jpg' \
-F 'photos[]=@/path/to/your/image2.webp' \
-F 'user="YOUR_USER_IDENTIFIER"' \
-F 'platform[]=instagram' \
-F 'title="My Awesome Photo Album"' \
-F 'description="Check out these cool photos!"' \
-X POST https://api.upload-post.com/api/upload_photos 3. Text Upload Endpoint
Endpoint URL: https://api.upload-post.com/api/upload_text
For publishing text-based posts. Requires user, platform[], and title (as the main content). caption can be used for internal tracking or specific platform needs.
curl \
-H 'Authorization: Apikey YOUR_API_KEY_HERE' \
-F 'user="YOUR_USER_IDENTIFIER"' \
-F 'platform[]=x' \
-F 'title="This is my amazing tweet content!"' \
-F 'caption="Optional: A caption for stats & tracking."' \
-X POST https://api.upload-post.com/api/upload_text Important Notes for Manual Configuration:
- Replace
YOUR_API_KEY_HEREwith your actual API key from the Upload-Post Api section. - Replace
YOUR_USER_IDENTIFIERwith the specific User Identifier (e.g., username) from Upload-Post that has the target social media accounts connected. - It's highly recommended to store your API key in n8n's credential manager and reference it in your HTTP Request node instead of hardcoding.
- The
@/path/to/your/filesyntax in cURL indicates a file upload. In n8n, you would use expressions to reference binary data from previous nodes (e.g.,={{ $binary.data }}).
Pro Tip: Test & Generate cURL from Upload-Post Dashboard
Before configuring n8n, test your uploads directly from the Upload-Post Dashboard. Once you've successfully uploaded content, the dashboard generates a perfect cURL command that you can copy and import directly into your n8n HTTP Request node.
Workflow:
- Go to Upload-Post Dashboard
- Upload your content (video, photos, or text) to your desired platforms
- After successful upload, copy the generated cURL command
- Import this cURL directly into your n8n HTTP Request node using the "Import from cURL" feature
Configure n8n HTTP Request Node (Body)
Key fields for the HTTP Request node's body (typically multipart/form-data):
| Field | Value / Description | Required |
|---|---|---|
| user | Your User Identifier from Upload-Post (e.g., username). | Required |
| platform[] | Platform identifier (e.g., tiktok, instagram). Repeat for multiple platforms. | Required |
| title | Post title or content (varies by platform and post type). | Optional/Varies |
| video | Binary file data for video uploads. | If uploading video |
| image[] | Binary file data for image uploads. Repeat for multiple images in a carousel/slideshow. | If uploading image(s) |
- Set HTTP Request node Method to POST.
- Set URL to
https://api.upload-post.com/api/upload. - Add the
Authorizationheader with your API key. - For Body Content Type, select
multipart/form-data. - Add fields to the body like
user,platform[],title, and eithervideoorimage[]with appropriate values (e.g., using n8n expressions like={{ $binary.data }}for file data).
For detailed examples and platform-specific parameters, refer to the Upload Post API Documentation.
Example: HTTP Node JSON (Video to TikTok)
This is a conceptual JSON representation for an n8n HTTP Request node configured to upload a video to TikTok. You would build this using the n8n interface.
{
"parameters": {
"method": "POST",
"url": "https://api.upload-post.com/api/upload",
"authentication": "headerAuth",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Apikey YOUR_API_KEY_HERE"
}
]
},
"sendBody": true,
"bodyContentType": "multipart-form-data",
"bodyParameters": {
"parameters": [
{
"name": "user",
"value": "YOUR_UPLOAD_POST_USER_IDENTIFIER"
},
{
"name": "title",
"value": "= $input.item.title ? $input.item.title : 'My awesome video'"
},
{
"name": "platform[]",
"value": "tiktok"
}
]
},
"formBinaryData": {
"video": "={{ $binary.data }}"
},
"options": {}
},
"name": "Upload Video to TikTok (Manual)",
"type": "n8n-nodes-base.httpRequest"
} Crucial: API Keys & User Identifiers
- API Key Security: Always use n8n's credential management for your Upload-Post API Key. Avoid hardcoding it.
- User Identifier: Ensure the
userfield in your request body correctly references the User Identifier from Upload-Post whose connected social accounts you intend to use. - When sharing workflows, export without sensitive credential data.
Example Workflow: AI-powered Social Media Publisher
What It Does
- Monitors a Google Drive folder for new videos
- Transcribes the video using OpenAI
- Generates engaging social media descriptions
- Uploads to Instagram, TikTok & YouTube
- Sends notifications on completion or errors
Workflow Architecture
Implementation Steps
- Google Drive Trigger: Configure to monitor a specific folder for new videos
- OpenAI Transcription: Set up to extract audio and convert to text
- OpenAI Description Generator: Use a custom prompt to create engaging descriptions based on transcription
- Upload-Post HTTP Request: Configure as described in previous steps with multi-platform selection
- Error Handling: Add Telegram notification for success/failure alerts
Example Workflow: Image Carousel Publisher for Instagram & TikTok
What It Does
- Automates uploading multiple images as carousels to Instagram
- Automates uploading multiple images as slideshows to TikTok
- Streamlines visual content management across platforms
- Handles multi-image uploads with a single trigger
Workflow Steps
- Trigger: Start the workflow with your selected images (e.g., from a schedule, webhook, or manual execution).
- Image Processing: The workflow prepares images for platform-specific formats (consider nodes for resizing or formatting if needed).
- Upload-Post HTTP Request: Configure an HTTP Request node (similar to the video upload) but adjust for image uploads.
- Use `image[]` field instead of `video`.
- Pass binary data for each image to the `image[]` field.
- Set `platform[]` to `instagram` and/or `tiktok`.
- Platform Optimization: Upload-Post handles formatting according to each platform's requirements (carousel for Instagram, slideshow for TikTok).
- (Optional) Notifications: Add nodes to notify upon success or failure.
Refer to the n8n template for specific node configurations, especially for handling multiple image inputs.