Discord Upload Guide
Post text messages, photos and short videos to a Discord channel using the IndReelForge API. Discord connects with a channel webhook URL — there is no OAuth login and no bot to install.
Supported Content Types
| Type | Endpoint | Notes |
|---|---|---|
| Text message | POST /api/upload_text | Up to 2,000 characters |
| Photo(s) | POST /api/upload_photos | Attached to the message |
| Video | POST /api/upload | Max 10 MB |
Limits
| Limit | Value |
|---|---|
| Message length | 2,000 characters |
| Max file size | 10 MB (Discord's webhook upload limit) |
| Posting rate | Discord webhooks allow roughly 30 messages per minute per channel |
Keep videos small
The 10 MB limit applies to each file. Compress or trim longer videos before posting — larger files are rejected before upload.
Get a Webhook URL
- Open Discord and go to the server you want to post to (you need the Manage Webhooks permission).
- Open Server Settings → Integrations → Webhooks.
- Click New Webhook.
- Give it a name and avatar (this is what posts will appear as) and pick the channel it should post to.
- Click Copy Webhook URL. It looks like
https://discord.com/api/webhooks/….
Treat the webhook URL like a password
Anyone with the URL can post to that channel. If it leaks, delete the webhook in Discord and connect a new one.
Connect Discord
From the dashboard
- Dashboard → Profiles → select your profile
- Click Connect next to Discord
- Paste the Webhook URL
- IndReelForge checks the webhook with Discord before saving — status shows Connected
With the API
curl -X POST https://api.indreelforge.com/api/profiles/my-brand/connect/discord/credentials \
-H 'Authorization: Apikey YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"webhook_url": "https://discord.com/api/webhooks/123456789/abcdef..."}'
| Field | Required | Description |
|---|---|---|
webhook_url | Yes | The channel webhook URL copied from Discord |
See Connect with Credentials for the full request and response format.
Post a Text Message
curl -X POST https://api.indreelforge.com/api/upload_text \
-H 'Authorization: Apikey YOUR_KEY' \
-F 'user=my-brand' \
-F 'title=Patch 1.4 is live! Full notes in #announcements.' \
-F 'platform[]=discord'
Post Photos
curl -X POST https://api.indreelforge.com/api/upload_photos \
-H 'Authorization: Apikey YOUR_KEY' \
-F 'user=my-brand' \
-F 'title=New artwork drop' \
-F 'photos[]=@/path/to/image1.jpg' \
-F 'photos[]=@/path/to/image2.jpg' \
-F 'platform[]=discord'
Post a Video
curl -X POST https://api.indreelforge.com/api/upload \
-H 'Authorization: Apikey YOUR_KEY' \
-F 'user=my-brand' \
-F 'title=Gameplay teaser' \
-F 'video=@/path/to/clip.mp4' \
-F 'platform[]=discord'
Use discord_title to send Discord a different message text than the other platforms in the same request.
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
Connect fails with INVALID_CREDENTIALS | The webhook URL is wrong or the webhook was deleted | Copy the URL again from Server Settings → Integrations → Webhooks |
| Posts stop arriving | The webhook or channel was deleted | Create a new webhook and reconnect Discord |
| File rejected as too large | File is over 10 MB | Compress or trim the video / image |
| Rate limited | More than ~30 messages a minute to one channel | Space posts out or schedule them |