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

Flutter集成Replicate GFPgan API遇422错误:图片参数传递失败

在Flutter中正确传递GFPGAN API的图片参数

正确的两种传参方式

Replicate的GFPGAN API要求img参数必须是公开可访问的HTTP/HTTPS URL,或者格式正确的Data URI,以下是具体实现:

方式1:使用公开图片URL

将图片上传到支持公开访问的存储服务(如Firebase Storage、Cloudinary等),获取HTTP/HTTPS链接后直接传入:

final predictionUrl = 'https://api.replicate.com/v1/predictions';
final predictionData = {
  'version': modelVersion,
  'input': {'img': 'https://your-public-host.com/your-image.jpg'},
};

方式2:构造正确的Data URI

如果不想依赖外部存储,可以将图片编码为符合规范的Data URI,注意必须指定正确的图片MIME类型(如image/png或image/jpeg):

// 读取本地图片文件字节
final fileBytes = await imageFile.readAsBytes();
// 构造Data URI,替换为对应图片的MIME类型
final imgDataUri = 'data:image/png;base64,${base64Encode(fileBytes)}';
// 构造请求体
final predictionData = {
  'version': modelVersion,
  'input': {'img': imgDataUri},
};

注意:如果是JPG/JPEG格式图片,将image/png替换为image/jpeg。

你之前的错误原因

  • 本地file://路径:Replicate服务器无法访问你的本地文件系统,不符合API要求的URI格式
  • 直接传递base64字符串:API要求的是URI格式,纯base64字符串无法被识别
  • 错误构造Data URI:你之前使用application/octet-stream作为MIME类型,API无法识别为图片,导致验证失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:13:14