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

使用Chainlink Functions调用API时出现AbortError问题求助

这个AbortError: The signal has been aborted确实是超时导致的——Chainlink Functions默认执行超时时间为5秒,但DALL-E-3生成1024x1024尺寸的图片通常需要10-15秒,超出限制后请求会被强制终止,所以会出现扣费却无有效响应的情况。

下面是具体解决步骤:

1. 延长HTTP请求超时时间

在Functions.makeHttpRequest中显式设置timeout参数,将超时时间调整至15秒(可根据实际生成速度微调):

const openAIResponse = await Functions.makeHttpRequest({
  url: "https://api.openai.com/v1/images/generations",
  method: "POST",
  headers: {
    Authorization: `Bearer ${secrets.apiKey}`,
    "Content-Type": "application/json",
  },
  data: postData,
  timeout: 15000 // 新增:设置15秒超时阈值
});

2. 优化生成参数缩短耗时

如果延长超时后仍有问题,可以先降低图片尺寸测试,512x512尺寸的生成速度远快于1024x1024:

const postData = {
  model:"dall-e-3",
  prompt: _prompt,
  size:"512x512", // 调整为小尺寸快速验证
  n:1,
};

3. 增强错误排查逻辑

当前错误处理仅判断openAIResponse.error,建议补充状态码检查和完整响应日志,方便定位问题:

if (openAIResponse.error || openAIResponse.status !== 200) {
  console.log("完整响应内容:", openAIResponse); // 打印完整响应便于排查
  throw new Error(`请求失败:${JSON.stringify(openAIResponse.error || openAIResponse.data)}`);
}

修改后的完整脚本

const _prompt = args[0];

const postData = {
  model:"dall-e-3",
  prompt: _prompt,
  size:"512x512",
  n:1,
};

const openAIResponse = await Functions.makeHttpRequest({
  url: "https://api.openai.com/v1/images/generations",
  method: "POST",
  headers: {
    Authorization: `Bearer ${secrets.apiKey}`,
    "Content-Type": "application/json",
  },
  data: postData,
  timeout: 15000
});

if (openAIResponse.error || openAIResponse.status !== 200) {
  console.log("完整响应内容:", openAIResponse);
  throw new Error(`请求失败:${JSON.stringify(openAIResponse.error || openAIResponse.data)}`);
}

const result = openAIResponse.data.data[0].url;

console.log(result);
return Functions.encodeString(result);

先按此方案测试,小尺寸+延长超时基本能解决超时问题。若仍报错,查看控制台打印的完整响应,可进一步精准定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:42:46