Facebook Marketing API视频未就绪报错:处理时长及优化方案咨询
解决Facebook Marketing API视频处理等待问题
视频处理时长说明
首先说下视频处理的时间——这个真没有固定数值,得看几个关键因素:
- 视频本身的属性:时长越长、分辨率越高(比如4K)、文件越大,处理时间就越久。短的几十秒1080p视频可能几秒到1分钟就能搞定,长视频或者大文件可能要几分钟甚至更久。
- Facebook服务器的负载:高峰期(比如欧美用户活跃时段)处理速度会慢一些,非高峰期则会快很多。
更优的等待方案:轮询视频状态,代替固定休眠
你现在用固定休眠的方式确实不够灵活——休眠短了可能还没处理完,休眠长了又浪费时间。更靠谱的做法是主动轮询视频的处理状态:
- 上传视频成功后,你会拿到视频的
id,用这个id调用GET /{video-id}接口(对应你使用的API版本,比如v18.0)。 - 查看返回结果里的
status字段:- 如果是
PROCESSING:说明还在处理,等待几秒后再次轮询即可。 - 如果是
READY:视频已经处理完成,可以放心用来创建广告创意了。 - 如果是
FAILED:那得检查视频本身的问题,比如格式是否符合要求(Facebook推荐H.264编码、AAC音频)、文件是否损坏等。
- 如果是
- 轮询的间隔建议设为5-10秒,不要太频繁,避免触发API的调用频率限制。
举个简单的curl调用示例:
curl -G \ -d "access_token=你的访问令牌" \ "https://graph.facebook.com/v18.0/你的视频ID"
额外小贴士
- 提前把视频调整到符合Facebook的规范:比如分辨率不超过4K,帧率在30fps以内,文件大小尽量控制在1GB以下,这样能有效缩短处理时间,降低失败概率。
- 如果是批量上传视频,建议控制轮询的并发数,或者错开轮询时间,避免因为频繁调用API被限流。
内容的提问来源于stack exchange,提问作者xiaorun




