Grok Imagine video input: base64 or file_id vs Sume HTTPS URLs
xAI's extension page accepts a source video as a public URL, base64 data URI or file_id. Sume's video fields take public HTTPS media URLs only.

On xAI, a source video can be a public URL, a base64-encoded data URI, or a file_id from its Files API. On Sume there is one documented form for video input fields: public HTTPS media URLs. Host the file, send the URL, and for media tools import it into the workspace first.
xAI facts are from its video extension page; Sume facts are from the video docs and video inspect docs, read 2026-10-01.
What input forms does xAI accept?
The extension page lists three: a public URL, a base64-encoded data URI, or a file_id from the Files API. It points to a separate Files API integration page for file_id inputs.
| Form | xAI extension page | Sume docs |
|---|---|---|
| Public URL | Accepted | Public HTTPS media URLs only |
| Base64 data URI | Accepted | Not listed |
| Provider file id | file_id from the Files API | Not listed |
| Media tool sources | Not covered | This workspace's media.sume.com clip; no open-internet fetch |
| Webhook callback | Not covered | callback_url must be HTTPS |
What does Sume accept for video fields?
The video docs say: "Use public HTTPS media URLs only." The troubleshooting section repeats it for reference images: they must be reachable over public HTTPS and in a supported format. So a data URI or an id from another provider's file store is not a documented input.
What about media tools like video inspect?
Those read this workspace's media.sume.com artifacts or assets only. The docs say there is no open-internet fetch, so import first with POST /v1/media-imports. For a comparison on storage limits, see Gemini file limits vs Sume media imports.
How do I move from a base64 workflow?
Upload the bytes somewhere that serves a public HTTPS URL, or import them to media.sume.com, then send that URL. Keep callback_url on HTTPS if you use webhooks. The image-side equivalent is covered in Grok Imagine image base64 vs Sume hosted URL.
Sources
Related posts
More in Developers
- HeyGen 429 Retry-After vs Sume rate_limited and queue_full
HeyGen sends 429 with a Retry-After header in seconds. Sume sends 429 rate_limited with retry-after when present, and a separate 429 queue_full.
- HeyGen videos:write and videos:read vs Sume scopes mcp:read/write
HeyGen needs videos:write to create and videos:read to poll. Hosted Sume OAuth has mcp:read and mcp:write, no paid scope; spend is wallet admission.
- HeyGen asset upload max size: 32 MB, and what Sume does instead
HeyGen's POST /v3/assets caps files at 32 MB, URLs included. Sume has no asset step: requests take public HTTPS URLs, and oversized bodies return 413.
- HeyGen Assets folders (flat) vs Sume media inputs by HTTPS URL
HeyGen Assets library folders are app-created, flat, and usable as folder_id destinations. Sume takes media as public HTTPS URLs, with no folder step.
Written by Sume