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

CloudConvert API导入上传任务始终处于“Waiting for Upload”状态求助

CloudConvert API import/upload任务一直卡在“Waiting for Upload”状态的问题

我首次使用CloudConvert API执行HTML转PDF转换,已查阅并遵循官方文档,同时使用了官方“Job Builder”生成代码,但import/upload任务始终处于“Waiting for Upload”状态,无任何报错。待上传的main.html与Python脚本位于同一目录,原代码如下:

cloudconvert.configure(api_key='API_KEY', sandbox=False)
job = cloudconvert.Job.create(payload={
    "tasks": {
        "import-file": {
            "operation": "import/upload",
            "input": "upload",
            "file": "main.html"
        },
        "convert-pdf": {
            "operation": "convert",
            "input_format": "html",
            "output_format": "pdf",
            "engine": "chrome",
            "input": [
                "import-file"
            ],
            "zoom": 1,
            "print_background": True,
            "display_header_footer": False,
            "wait_until": "load",
            "wait_time": 0,
            "filename": "main.pdf"
        },
        "output-schedule": {
            "operation": "export/url",
            "input": [
                "convert-pdf"
            ],
            "inline": False,
            "archive_multiple_files": False
        }
    },
    "tag": "jobbuilder"
})

问题原因与解决方案

你的代码存在流程缺失问题:使用import/upload操作时,仅在payload中指定file参数无效,CloudConvert要求先创建任务获取上传入口,再单独上传文件内容,具体修正步骤如下:

  1. 创建job时,import-file任务不需要添加file参数
  2. 从创建后的job响应中,提取import-file任务的上传URL和表单参数
  3. 通过HTTP POST请求将文件内容上传到指定URL
  4. 等待job执行完成后,获取转换后的PDF链接

修正后的代码示例:

import cloudconvert
import requests

cloudconvert.configure(api_key='API_KEY', sandbox=False)

# 创建包含上传任务的job
job = cloudconvert.Job.create(payload={
    "tasks": {
        "import-file": {
            "operation": "import/upload",
            "input": "upload"
        },
        "convert-pdf": {
            "operation": "convert",
            "input_format": "html",
            "output_format": "pdf",
            "engine": "chrome",
            "input": ["import-file"],
            "zoom": 1,
            "print_background": True,
            "display_header_footer": False,
            "wait_until": "load",
            "wait_time": 0,
            "filename": "main.pdf"
        },
        "output-schedule": {
            "operation": "export/url",
            "input": ["convert-pdf"],
            "inline": False,
            "archive_multiple_files": False
        }
    },
    "tag": "jobbuilder"
})

# 获取上传任务的表单信息
import_task = job['tasks']['import-file']
upload_url = import_task['result']['form']['url']
form_data = import_task['result']['form']['data']

# 上传本地文件
with open('main.html', 'rb') as f:
    files = {'file': f}
    response = requests.post(upload_url, data=form_data, files=files)
    response.raise_for_status()  # 校验上传是否成功

# 等待job执行完成
job = cloudconvert.Job.wait(id=job['id'])

# 获取转换后的PDF下载链接
export_task = job['tasks']['output-schedule']
pdf_download_url = export_task['result']['files'][0]['url']
print(f"转换完成,PDF下载链接:{pdf_download_url}")

补充说明

目前无公开信息显示CloudConvert存在大规模上传等待的平台问题,此情况基本可判定为代码流程缺失导致,按上述修正后即可正常完成文件上传与转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 15:07:59