Discord attachment file_types: image-only option for Sume video
Discord ATTACHMENT command options now accept file_types. Limit a slash command to images, then pass the attachment's public URL to a Sume image-to-video job.

Discord's changelog for August 5 says File Upload components and ATTACHMENT command options now accept file_types arrays. Set the array on your slash command's attachment option so users can only pick image files, then send the attachment's public HTTPS URL to a Sume image-to-video job as image_url.
The Discord change is from its developer changelog, read 2026-10-01. Sume behavior is from Video generation, Webhooks and Jobs and results.
What does file_types change for a bot?
The changelog entry is titled File Type Filtering. The snapshot gives no accepted-value list, so check Discord's command-option reference for the exact format before you ship. The entry does not say how strictly the filter is enforced, so still validate what arrives in your handler.
How does the attachment reach Sume?
Sume video inputs must be public HTTPS media URLs; localhost, private-network and non-HTTPS URLs are rejected. For image-to-video the request is prompt plus image_url as the first frame. See the image-to-video handoff for the request shape.
| Step | Detail |
|---|---|
| Slash command option | ATTACHMENT with file_types set to images |
| Input to Sume | Attachment URL as image_url, public HTTPS only |
| Submit | mode: "webhook" with webhook_url |
| Webhook URL rule | Public HTTPS; localhost and private networks rejected |
| Fallback | Poll status_url until terminal |
How do I answer the user without blocking?
Acknowledge the command, submit the job, and post the result when it finishes. Send mode: "webhook" with webhook_url; the submit returns 202 with the job envelope. If you cannot take webhooks, poll status_url until it reports terminal. Keep the job_id so you can update the original Discord message.
Do I still validate the file?
Yes. Treat the attachment as untrusted input: confirm the content type, and check the URL is HTTPS before submit, since Sume rejects non-HTTPS URLs. Send an Idempotency-Key derived from the interaction id so a repeated delivery does not create a second paid job. More bot patterns are in Discord bot AI video generation.
Sources
Related posts
More in Integrations
- fal MCP "why did my request fail": the Sume job equivalent
fal's Platform MCP lets an assistant debug a failed request. For a failed Sume media job, read jobs_events and the error, then retry by the error rules.
- Gemini CLI 0.62 MCP tool titles: read a Sume call before approving
Gemini CLI 0.62.0 formats MCP tool call titles as structured signatures. The fields to check on a paid Sume call before you approve it.
- Gemini CLI MCP config: malformed JSON vs missing enablement file
Gemini CLI 0.63.0-preview.0 tells a missing MCP enablement config apart from malformed JSON. Check the Sume entry in settings.json when the server won't load.
- Gemini CLI tool output bound vs Sume's 256 KiB MCP result cap
Gemini CLI v0.63.0-preview.0 bounds tool output size. Sume refuses MCP results above 256 KiB (mcp_output_too_large); not a job failure, so read narrower.
Written by Sume