You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Twilio Conversation API向WhatsApp发送媒体文件?

解决Twilio Conversation API发送媒体消息的步骤

1. 上传媒体文件到Twilio获取Media SID

你需要先通过Twilio Media API上传媒体文件,获取对应的mediaSid。支持两种上传方式:

方式一:通过外部URL上传(推荐用于已托管的文件)

const twilio = require('twilio');
const client = twilio('你的Twilio账户SID', '你的Twilio认证令牌');

client.media.v1.media
  .create({
    mediaUrl: 'https://你的域名/媒体文件路径.jpg', // 替换为你的媒体文件公网URL
    contentType: 'image/jpeg' // 根据文件类型设置MIME类型,比如png是image/png,视频是video/mp4
  })
  .then(media => {
    console.log('获取到的Media SID:', media.sid); // 这就是后续要用到的mediaSid
  })
  .catch(error => console.error('上传失败:', error));

方式二:直接上传本地文件

如果媒体文件在本地服务器,可以直接读取文件二进制内容上传:

const fs = require('fs');
const twilio = require('twilio');
const client = twilio('你的Twilio账户SID', '你的Twilio认证令牌');

client.media.v1.media
  .create({
    media: fs.readFileSync('./本地媒体文件路径.jpg'), // 读取本地文件
    contentType: 'image/jpeg'
  })
  .then(media => console.log('Media SID:', media.sid))
  .catch(err => console.error('上传失败:', err));

2. 通过Conversation API发送带媒体的消息

拿到mediaSid后,修改你现有的Conversation消息创建代码,添加mediaSid参数(支持传入多个SID数组):

client.conversations.v1
  .conversations(conversationId)
  .messages.create({
    author: 'whatsapp:你的发送号码', // 必须是对话中已添加的参与者号码(带whatsapp前缀)
    body: '这是附带媒体的消息', // 可选的文本说明
    mediaSid: ['刚才获取的Media SID'] // 传入获取到的mediaSid,多个的话继续添加到数组中
  })
  .then(message => console.log('消息发送成功,SID:', message.sid))
  .catch(error => console.error('发送失败:', error));

注意事项

  • 确保媒体文件符合Twilio和WhatsApp的要求:图片最大5MB,视频最大16MB,支持的格式包括JPG、PNG、MP4等
  • 上传时的contentType必须与文件实际类型匹配,否则媒体无法正常显示
  • author字段必须是当前对话中已存在的参与者,且格式为whatsapp:+1234567890

内容的提问来源于stack exchange,提问作者Ponder13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 18:42:56