r/Devvit•
ievseev

Can submitPost() create an image post with a body? (API parity with the native composer)

:question: Help

I'm building a server-side app (@devvit/web 0.13.5) that auto-posts to a sub I moderate. Each post should be an image + a Markdown writeup — exactly what the native composer's "Images & Video" tab produces: image on top, Markdown body below.

I can't reproduce that with reddit.submitPost(). The post kinds are mutually exclusive:

​ts // media post — has an image, but the type forbids a body type SubmitMediaOptions = CommonSubmitPostOptions & { kind: 'image' | 'video' | 'videogif'; imageUrls?: [string]; }; // and the SubmitPostOptions union sets `text?: never; richtext?: never` // whenever `kind` is present ​

So I get either an image post (no body) or a self post (text/richtext, no attached image) — never both in one call. The native UI clearly supports both together, which makes this feel like an API gap rather than a platform limit.

Workarounds I considered, and why they fall short:

  • Image post + writeup as a stickied top comment — works, but the body lives in a comment, not the post itself.
  • Self post with the image embedded via RichTextBuilder.image() — forces rebuilding an arbitrary Markdown document into richtext (there's no Markdown passthrough on RichTextBuilder), which is fragile for tables / nested lists.
  • Custom post — far too heavy just to attach one image.

Ask: allow text / richtext alongside kind: 'image' in SubmitMediaOptions (or document a supported way to attach an uploaded image to a self post), so the API matches what the composer already does.

Is this on the roadmap, or is there a supported path I'm missing? Thanks!

Posted Jun 29, 2026, 8:42 PM UTC

47
Loading comments…