Discord Upload API Text, Photos & Videos
Post content to Discord programmatically. Channel webhook API simplified.
Start Freeimport { UploadPost } from 'upload-post';
const uploader = new UploadPost('your-api-key');
await uploader.upload('video.mp4', {
title: 'My Discord post',
platforms: ['discord']
}); Can you post to Discord via API?
Yes. Upload-Post publishes text, photos and videos to any Discord channel through a channel webhook. It's one REST call, with no bot to host and no discord.js code to write. Connect the channel once in the dashboard, then send POST requests with platform[]=discord to publish announcements, changelogs and media, on demand or on a schedule.
Discord API Features
Text Posts
Send text messages to Discord channels.
Photo Posts
Share images directly to your channels.
Video Posts
Upload native videos to Discord.
Channel Webhook
Publish via a simple channel webhook URL.
Multi-Channel
Post to any channel in your server.
Scheduling
Schedule posts for optimal engagement.
How do you post to Discord with one request?
One POST to /api/upload_photos. Send a file or a public URL
curl -X POST https://api.upload-post.com/api/upload_photos \
-H 'Authorization: Apikey your-api-key-here' \
-F 'user=my-profile' \
-F 'platform[]=discord' \
-F 'photos[]=@/path/to/release-banner.png' \
-F 'title=v2.0 is live! Full changelog below' {
"success": true,
"results": {
"discord": {
"success": true,
"message_sent": true
}
},
"usage": { "count": 4, "limit": 10 }
}
Long uploads switch to background automatically; poll the
Upload Status
endpoint with your request_id. Full reference in the
Upload API docs.
What are the Discord content requirements and limits?
What the API accepts for Discord: sizes, formats and platform limits
| Requirement | Value |
|---|---|
| Message text | Up to 2,000 characters per message (Discord limit for all senders, including webhooks) |
| File uploads | Up to 10 MB per file on standard servers; higher limits with Nitro/server boosts |
| Image formats | PNG, JPG, GIF, WebP |
| Video formats | MP4 recommended (must fit the server’s upload limit) |
| Connection type | Channel webhook, created once from the Upload-Post dashboard (no bot required) |
| Scheduling | Any post can be scheduled with scheduled_date (ISO-8601) up to 365 days ahead |
Discord limits verified July 2026: 2,000-character messages and a 10 MB upload cap on non-boosted servers. Need to reformat a video first? Use the FFmpeg API.
Start posting to Discord in minutes
Three steps to integrate the Discord API
Create your account
Sign up for Upload-Post and grab your API key from the dashboard.
Connect Discord
Link your Discord destination once from the dashboard. We handle auth and delivery for you.
Upload programmatically
POST to the API with your content and you're live. Schedule or queue posts the same way.
Discord API FAQ
Common questions about posting to Discord programmatically
Is there an API to post to Discord?
Yes. Upload-Post exposes Discord publishing through its unified REST API: send text with POST /api/upload_text, images with /api/upload_photos or video with /api/upload_videos, all with platform[]=discord. Under the hood, delivery happens through a channel webhook you connect once. No Discord application review, no bot token to manage.
Do I need to build and host a Discord bot?
No. Posting via Upload-Post uses a channel webhook, which any server admin can create in channel settings. Paste the webhook once when you connect Discord in the Upload-Post dashboard. From then on, everything is plain REST calls to Upload-Post.
What are Discord’s file size and message limits?
Messages are capped at 2,000 characters. File attachments are limited to 10 MB per file on standard (non-boosted) servers; larger uploads require server boosts or Nitro. If your video is over the limit, run it through the Upload-Post FFmpeg API to compress it first.
Can I schedule Discord posts?
Yes. Add scheduled_date (ISO-8601, with an optional IANA timezone) to any request and Upload-Post publishes it at that time. Handy for release announcements and community updates. You can also list, edit and cancel scheduled posts via the schedule endpoints.
Can I post to multiple Discord channels or servers?
Yes. Each connected webhook targets one channel. Connect as many channels (in any servers) as your plan’s profiles allow, then pick the destination per request with the user (profile) parameter. The same call can post to other platforms like Telegram or X at the same time.
Prefer an AI agent? Use the Discord MCP server. Plans and limits are in the pricing section.
Ready to automate your Discord presence?
Start posting to Discord programmatically today.
Create Free Account