Skip to main content


  • MMS in Powerpack

    Send MMS vs SMS in Powerpack API

    The procedure to initiate MMS using Powerpack is similar to the traditional SMS route, with a few minor changes. In order to Send MMS using Powerpack, replace the src parameter in the JSON body to powerpack_uuid and provide the Powerpack UUID to be used in order to send out the messages.

    The Powerpack should have at least one MMS long code / toll-free number associated with it in order to Send MMS using Powerpack.

    MMS Number Addition in Powerpack:

    Long Code Number 

    For Powerpack to identify your long code number as MMS, long code phone numbers have to be added as a MMS Number. This can be achieved by using the command “argument service = mms”. Please refer to the Plivo API Reference Doc for more detail.

    Toll Free Number 

    Some toll-free numbers are capable of both MMS & SMS. Upon adding these numbers to the Powerpack, our system automatically identifies the number type and will utilize the toll-free number for both MMS / SMS numbers. If the toll-free number is capable of only SMS, then the Powerpack will utilize the toll-free only for SMS messages, and not for MMS messages.

    Sending MMS using Powerpack:

    Example from Postman:


    CURL Request Snippet:

    curl --location --request POST '{{Auth_ID}}/Message/' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic xxxxxxxxxxxxxx==' \
    --data-raw '{
      "powerpack_uuid": "{{powerpack_uuid}}",
      "dst": "{{destination_number}}",
      "text": "This is a Sample MMS using Powerpack",
      "media_urls": ["{{media_url_1}}", "{{media_url_2}}", "{{media_url_3}}"],
      "media_ids": "["{{media_id_1}}", "{{media_idl_2}}"]",
      "url": "{{callback_url}}",
      "type": "mms",
      "log": "true"


    What happens if my Powerpack does not have any MMS numbers?

    When a Powerpack is used for sending out MMS, it must have at least one MMS number in the Powerpack. If the given Powerpack does not have any MMS numbers, then it will fail to utilize a source number from the numberpool, which will in turn cause your MMS message to fail, so make sure to check before sending.

    If sending MMS fails at the API level, you will receive the following error: Your message could not be queued at this time. If the problem persists, please contact

    What happens when the default Powerpack is enabled but I try sending MMS with an SMS number from Powerpack?

    If your Powerpack has an MMS number, it will be identified and used to send out the message.  If the given source number does not have MMS capability, then the MMS will fail.

    What happens if I give an invalid Powerpack UUID while sending MMS?

    If you give an invalid Powerpack UUID, then sending MMS will fail at the API level, with the following error: Your message could not be queued at this time. If the problem persists, please contact

  • What are the MMS upload size limits and file restrictions?

    You can now upload your media directly using these options:

    Plivo supports up to 10 MediaUrl attachments, as long as the total size of the message body text and all attachments is less than 5 MB. An MMS message body can be up to 1600 characters long, which equals 4.8KB or roughly 1% of the total size limit.
    If your message (including body text and media) is larger than 5 MB, your message request will fail.

  • What do the different MMS delivery statuses mean?

    A sent multimedia message’s delivery status will be visible within the message detail record or callback response. The table below shows you the different statuses and what each one means. 




    The message has been sent and is the queue for delivery.


    The message has been sent to the downstream operators, but we have not received a delivery status.


    We were unable to deliver the message due to various technical issues.

    Delivered and undelivered statuses that are available in SMS are currently not available for MMS. We are working with the downstream operators to integrate these statuses.

  • How do I upload media to an MMS?

    You can directly upload media through our console, API, or SDKs

      • Login to
      • Switch to New console
      • Choose Messaging icon from the left navigation bar
      • Select MMS Media Upload

    Plivo also supports hosting media in any simple storage service and sending MMS via the hosted URL. We support a combination of direct media upload capabilities as well as hosted media URLs. 

    Media uploaded and sent to customers through MMS is saved inside the system for one year. Unused media (media that is uploaded but not used in MMS ) will be cleaned every six hours.

  • What features will be released in MMS Version 2?

    Wondering what’s next for Plivo’s MMS service? We are working on the following features to be added to the next release, Version 2. 

    • MMS sent to international numbers or unsupported destinations will be automatically converted to SMS with MMS URL as an attachment (target launch: Q1-2020).
    • Convert the non-supported file formats to supported file formats automatically.
    • Automatically compress the size of images to smaller images to be sent over MMS.
    • Add the ability to reply to an existing MMS.
  • What is the pricing for MMS messages?

    Plivo charges the following rates for inbound and outbound MMS messages. 

    MMS inbound: $0.0080
    MMS outbound: $0.0160 

    Special prices apply to messages sent at higher volumes. Please contact our Sales Team for higher volume enrollment.

  • What are the differences between Plivo MMS ad Twilio MMS?

    Plivo MMS product is similar to Twilio MMS in that both services support similar formats, file sizes, MPS and storage. However, there are a few key differences. 

    1. The automatic conversion of MMS to SMS (with the image as an attachment link) for international numbers is currently not available from Plivo and is planned for version-2 release (around Q1 2020). 
    2. We store media for a year for the customers to access. Twilio saves the media indefinitely with an additional charge of $5/month/GB. We can extend the one-year on storage on a request and case-by-case basis. 
    3. Twilio currently supports converting a non-supported file format to a supported file format automatically (Plivo will have this feature released in Version 2). 
    4. Twilio currently supports converting the automatic size reduction on images (Plivo will have this feature released in Version 2).
  • How do I retrieve image files from MMS messages?

    Just like with SMS, when Plivo receives an MMS on your Plivo number, we make an HTTP request to the message request URL configured for that number. In addition to the regular SMS parameters, the "Type" and "Media" parameters will also be sent. Since there can be up to 10 images in one MMS, the "Media" parameter is structured as "Media0", "Media1", "Media2" and etc.

  • Is MMS supported by all carriers in the US and Canada?

    Currently, Plivo supports sending MMS messages from US and Canadian local long code numbers to the following mobile carriers in the US and Canada.

    Major carriers: AT&T, Verizon, T-Mobile, Sprint, Rogers, Bell, Fido, Telus, Wind Canada

    Minor carriers: 365 Wireless, Alaska Communication System (ACS), Advantage Wireless, Alltel Wireless, Bluegrass Cellular, Boost Mobile, Carolina West Wireless, Cellcom, Cellular South, Clear Talk Wireless, Commnet Wireless, Copper Valley Telecom, CTC Telecom, GCI Wireless, Google Voice, Illinois Valley Cellular, Inland Cellular, James Valley Communications, Leaco, MetroPCS, MTA Communications, NewCore Wireless, Nex-Tech Wireless, Panhandle Communications, Peoples Wireless, Pine Cellular, Pinpoint Communications, Southern Linc, SRT Communications, Standing Rock Telecom, Thumb Cellular, Simmetry (TMP Corporation), United Wireless.

  • Delivery order of multiple media files via MMS?

    When sending multiple media files in an MMS message, the media files will arrive in a single message. However, Plivo cannot guarantee the order in which the media files will be received.

  • Supported MMS content types?

    Plivo fully supports sending MMS messages containing jpeg, png, and gif images. We will accept and send a number of other content types. However, depending on the carrier and device of the end-user, these messages may not be successfully received. Please review the full list of accepted content types for media that Plivo accepts. Content formatted in files outside these types will not be sent successfully.

  • Will Plivo automatically resize my images for MMS messaging?

    No, Plivo doesn't support resizing at this time. The total combined message size (for both message text and attachments) must be under 5MB. An API request with an image larger than 5MB will fail and result in an error message. We recommend that images be no larger than 600KB.

  • Does Plivo do anything with the metadata associated with digital pictures?

    Digital pictures that were taken with a smartphone often have metadata (i.e. the date, time, geolocation) associated with each image. When these images are sent in MMS messages, the metadata is usually stripped from the picture by the sending carrier.

    However, if the metadata is passed to Plivo by the sending carrier, we will preserve the information and pass it along to the intended recipient. Plivo does not modify or manipulate any metadata associated with pictures. If users need to modify or remove the metadata data from incoming images, they will need to use a third-party service to do so.

  • Storing sent and received images with Plivo

    Pictures that are sent or received with Plivo long codes are stored in your account. Plivo will create a media resource cache to store these media files. We store media for up to a year for our customers to access. Each piece of media will be provided with a unique, publicly-accessible URL. You may request the one-year storage policy to be extended. Extension requests will be considered on a case-by-case basis. 

    Plivo will keep media until you make an HTTP DELETE request to the media file's resource. For more information on the media storage resource, please see our Media API Docs.

  • Size limitations for messages with text and images

    A message containing both text and pictures can transmit up to 10 images and 1600 characters, as long as the entire message is under 5MB. 1600 characters translate to 4.8KB, which accounts for roughly 1% of the message size limit with UTF-8 encoding.

  • Sending and receiving MMS messages

    You can send and receive MMS (media messages) in the United States and Canada by using a Plivo phone number that is MMS-enabled. Currently, Plivo only offers MMS-enabled long code phone numbers in the US and Canada. 

    Supported media types for MMS

    MMS on Plivo offers full support for common image file types: png, jpeg, and gif. In addition, there are other file types that we will accept. Visit the list of accepted content types for media(above) for more information.

    Sending MMS messages in the United States and Canada

    At this time, MMS messages can only be sent within the US and Canada. International MMS messaging outside these two countries is not yet supported. 

    Sending MMS messages is as easy as sending regular text messages. All you need to do is make an HTTP POST request to the messages resource URI and specify an image URL in the “MediaUrl” parameter.

    You can also specify multiple “media_urls” parameters if you wish to include multiple images in one message. Check out our API documentation for code examples.

    Receiving MMS messages

    If you own an MMS-enabled phone number, your phone number is capable of receiving MMS messages from US and Canada long code phone numbers. Make sure your number is configured to receive messages.

    Please note that Plivo phone numbers cannot receive messages from shortcode numbers.

  • What types of content does Plivo accept?

    When specifying one or more MediaUrls when sending a message, content types for MediaUrl validation are fetched via the content-type header request that’s part of each URL. If the content-type header does not match the media, Plivo will reject the request.

     media_urls that do not return a content-type and content-length response header will be rejected.

    The total message size must be under 5MB. An API request with media or a collection of media larger than 5MB will fail with an error.

    Supported MIME Types

    The following types of content are fully supported by Plivo for Media.      

        "inbound": [
        "outbound": [
  • What file types does the Plivo MMS API support for MMS media messages?

    Plivo SMS API supports sending picture messages (AKA MMS or multimedia messages) by adding the media_urls  or media_id  parameter to your API request and setting the type parameter as MMS. 

    Supported file types

    Plivo’s media console and Plivo’s SMS API supports media_urls attachment with the following image file formats:

    • jpeg
    • png
    • gif

    These image file types are fully supported by Plivo on destination devices. Plivo accepts a number of additional file formats as media_urls attachments. However, these file types are not formatted for destination device compatibility. For a full list of media formats accepted by the Plivo API, please refer to the accepted content types for media list here

    File size limitations (for non-image files)

    For multimedia attachments, the file size limit for media_urls attachments depends on the receiving carrier. Here are the attachment size limitations for the top four US-based carriers:


    MMS attachment size


    1.4 MB


    1.4 MB


    0.675 MB


    0.675 MB

    For other MMS-supported carriers, we recommend using attachments no larger than 600KB when sending files that are not jpeg, png, or gif images.

    How many attachments does Plivo support?

    Plivo supports up to a total of ten attachments (with a combination of media_urls  and media_ids  ) with a maximum of 2MB per attachment, as long as the total size of the message body text and all attachments are less than 5 MB. An MMS message body can be up to 1600 characters long, which equals 4.8KB or roughly 1% of the total size limit.

    If your message (including body text and media) is larger than 5 MB, your message request will fail.

    Incoming MMS messages

    Plivo supports up to ten incoming media attachments, as long as the total size of the message body text and all attachments is less than 7 MB.

  • How to retrieve Plivo MMS media files?

    In all of Plivo’s Helper Library SDKs, we have included easy steps to list media files. However, we know that some of our customers prefer to design their applications without the use of Helper Libraries. Therefore, you can retrieve the media using our getMedia REST API.

  • What happens to MMS messages that are sent from unsupported phone numbers?

    Attempting to send an MMS message from non-MMS-enabled numbers will fail at the API level and result in an HTTP 400 error response.

  • What happens to MMS messages that are sent to unsupported destinations?

    Unsupported destinations are destination phone numbers in a country that does not support MMS. Alternatively, an unsupported destination maybe a phone number or handset that does not support MMS. 

    Any requests to send MMS messages to unsupported destinations will receive an HTTP 400 error response.

  • Plivo MMS Account Rate Limits

    Similar to SMS, you can send MMS message requests to Plivo at a rapid rate, as long as the requests do not surpass Plivo’s default API concurrency limit of 100 simultaneous requests. However, there are limits to how quickly Plivo can send messages to carrier networks. This guide explains the outbound MMS messaging rate limits.

    MMS Rate Limiting for Long Codes

    Plivo has two types of rate limits for sending MMS messages: at long code phone number level and at the account SID level.

    • Long code phone number: A rate limit on each Plivo long code phone number keeps you compliant with carrier regulations, and reduces the risk of messages getting rejected by carriers.
    • Plivo account ID: A rate limit on each unique Plivo account or sub-account protects our network performance and helps to ensure fair service across all customers.