Getting Started with Twilio MMS Messaging

For the last century, humanity has maintained that “a picture is worth a thousand words”. While photos may have changed a lot, morphing from paper to pixels, that old adage is truer than ever in the digital age. Whether happy or heartbreaking, the millions of pictures we take every day help us tell our stories like no other medium can.

The team at Twilio has been working very hard to bring the power of pictures to our messaging platform. And today, were are thrilled to announce that Picture Messaging has arrived for all US and Canadian numbers, giving you the power to speak a thousand words in a single message.

With this new messaging capability, your apps can send concert tickets directly to a user’s mobile phone, accept photos to accompany an insurance claim, or just share that incredible animated GIF you saw on Tumblr with your friends. Words are inadequate to describe our excitement to see how you, our wickedly clever developer community, will put this new capability to use.

For more information on how to get started, check out our Quickstart Documentation for MMS in C#, Java, Python, Ruby, or PHP.

  • Frank

    Can you MMS-enable an existing number?

    • Ryan

      I’m wondering the same thing. I bought some numbers just 2 days ago and was hoping they would be MMS enabled. Unfortunately it doesn’t look like they are.

      • Twilio

        Frank + Ryan, Yes. All existing and new US and Canadian numbers are now Twilio MMS enabled.

        • Matt Cowski
          • Twilio

            Hey Matt, If you have any problem with sending MMS please let us know – help@twilio:disqus .com

  • Thomas Bodetti

    Looks sort of like using a sledge hammer to swat a fly, its interesting but my guess is that its way over the head of most average users out there, most of them will be like whats an npm and node what? over kill, why not just make it easy.

  • Mick Stevens

    Thanks Kevin, Python/Flask & Ruby/Sinatra tutorials work like a dream with my existing US no. plus an additional one I bought for testing. Will check out the other languages when I get a mo’. Thanks again.

  • YoYo

    can we send multiple images in a mms
    client.SendMessage(“** your MMS-enabled Twilio phone number **”, phone, message, new string[] { url1,url2 })

    • kevinwhinnery
      • YoYo

        thanks a lot kevinwhinnery. Appreciate your help!

        • YoYo

          one more Query
          The media size limit is 5MB for 10 images or for single file in case of muliple media urls?

  • Brian Dever

    Cool feature Twilio had implimented. Sending MMS can be a great way to build your business. I see Chad Wyatt has jumped on this by building a WordPress plugin that does the hard work of coding. I just picked it up and see great potential. You can see some cool videos of it in action at

  • IDGuy

    This is great! However, I am looking for documentation on receiving MMS (specifically video attachments). I would like to allow clients to upload video to a repository by texting it to a twilio number. Is this possible? If so can you point me in the right direction?

    • Devin Rader

      Hey @idguy:disqus . When Twilio receives an incoming MMS to your Twilio phone number we will make an HTTP request to whatever URL you have configured as the Message Request URL for that number. As part of that HTTP request we include a bunch of parameters formatted as Form Encoded data, including the number of media files included in the message and a list of URL’s where you can download those files. The full list of parameters we send is here:

      How you access those parameters is going to depend on which web framework you are using to build your application, but virtually every framework I know of gives you a way to access Form Encoded values that are included in the incoming request.

      Hope that helps.

      • IDGuy

        Thanks Devin, yes I am able to retrieve the URLs but I would prefer to retrieve the actual video files. Also, I noticed that in the video log, the video appears to be 3gp compressed, is this going what I would be able to pull from the URL as well? Our client needs full quality video. My hope was that we could extract the video then delete from your service via TwilML to prevent unnecessary hosting fees. Thank you again for addressing my question,

        • Devin Rader

          @idguy:disqus to get the actual video files you just need to download those files using the media URL’s twilio provides. You can then use the REST API to tell Twilio to delete the stored files.

          Regarding the format, Twilio just passes along what we get from the carrier. In my experience the phone alters the format of the media before sending the MMS in order to reduce its size, but carriers may also transcode the media.

  • Sudhan

    Is it possible to send MMS as an image object instead of MediaUrl : attribute using c#