跳到主要内容
Unicomp AI
产品与能力
产品与能力模型中转 API智能算力智能体
创作
聊天对话与文本模型交流,完成问答与内容创作图片生成用图像模型生成与编辑图片视频生成用视频模型生成动态画面
模型广场学院API 文档帮助中心
进入控制台
Unicomp AI

让模型能力,走进每一次创造。

产品

创作工作台模型中转 API模型广场控制台智能算力智能体

使用与服务

余额与账单学院解决方案学院空间

开始使用

API 快速开始常见问题
© 2026 Unicomp AI
重庆云之骥 渝ICP备2026005193号-1
← 全部文档

视频生成 · API

happyhorse-1.0-video-edit

Unicomp AI 媒体 API · unicomp.media.v1

调用示例字段与限制价格响应与结果

调用示例

正式 Base URL 为 https://www.unicompapi.com/v1;设置 UNICOMP_BASE_URL 与 UNICOMP_API_KEY 后替换素材与 Base64 占位内容。新请求使用 REQUEST_KEY,响应 X-Unicomp-Request-Id 保存为 REQUEST_ID;两者用于查询同一原单。

POST /v1/videos

Shell / curl
# 仅用于新请求;未知结果时查询原单,不重新执行本段
# 需要 Python 3;保存打印的 REQUEST_KEY
REQUEST_KEY="$(python3 -c 'import uuid; print(uuid.uuid4())')"
[ -n "$REQUEST_KEY" ] || exit 1 # UUID生成失败时停止
printf 'REQUEST_KEY=%s\n' "$REQUEST_KEY"
curl "$UNICOMP_BASE_URL/videos" \
  -H "Authorization: Bearer $UNICOMP_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $REQUEST_KEY" \
  --data '{
  "model": "happyhorse-1.0-video-edit",
  "prompt": "白色背景上的橙色陶瓷杯",
  "parameters": {
    "duration_seconds": 5,
    "generation_mode": "reference_video",
    "resolution": "720P"
  },
  "assetIds": [
    "<本人reference_video_1素材ID>"
  ],
  "referenceAssets": [
    {
      "id": "<本人reference_video_1素材ID>",
      "source": "upload",
      "role": "reference_video"
    }
  ],
  "expected_input_digest": "<原quote.input_digest>",
  "expected_price_version": "<原quote.price_version>",
  "expected_quote_amount": 1
}'

先读取报价

POST /v1/videos/quote,Bearer鉴权,JSON与生成请求相同。报价只读,不创建任务、不占额。生成请求可附 expected_price_version 和 expected_quote_amount,对应报价的 price_version 与 quoted_amount;变化返回409。

JSON
{
  "object": "media.quote",
  "model": "happyhorse-1.0-video-edit",
  "price_version": "<报价返回的版本>",
  "parameters": {
    "duration_seconds": 5,
    "generation_mode": "reference_video",
    "resolution": "720P"
  },
  "input_digest": "<报价返回的64位原输入摘要>",
  "currency": "CNY_MICRO",
  "quoted_amount": "<按实际参数计算的整数微元>"
}

按原报价摘要创建

保留原Key、描述、参数及素材原序;将原报价值附到原请求,不能用摘要代替素材授权。

JSON
{
  "model": "happyhorse-1.0-video-edit",
  "prompt": "白色背景上的橙色陶瓷杯",
  "parameters": {
    "duration_seconds": 5,
    "generation_mode": "reference_video",
    "resolution": "720P"
  },
  "assetIds": [
    "<本人reference_video_1素材ID>"
  ],
  "referenceAssets": [
    {
      "id": "<本人reference_video_1素材ID>",
      "source": "upload",
      "role": "reference_video"
    }
  ],
  "expected_input_digest": "<原quote.input_digest,64位hex>",
  "expected_price_version": "<原quote.price_version>",
  "expected_quote_amount": "<原quote.quoted_amount整数>"
}

生成方式与素材

使用parameters.generation_mode选择下列方式。首帧、尾帧及音视频参考使用referenceAssets明确角色;不能靠素材数组顺序猜测首帧或尾帧。报价和生成必须使用同一组素材与角色。

生成方式参数值文字描述素材要求
参考视频reference_video必填

参考视频:1–1 件;MP4;每件≤100MB;每件时长≥3秒;每件时长≤60秒

参考图片:0–5 件;PNG / JPEG / WebP / TIFF / GIF / HEIC / HEIF / BMP;每件≤20MB;短边≥300

上传素材使用source: "upload",已审核作品使用source: "generated"。对应ID同时列在assetIds或generatedAssetIds;集合须完全一致且不能重复。

准备本人参考素材

素材API目前仅开放个人账户的个人Key。上传不创建生成任务。此型号可用上传格式与配置如下;参考输入的角色和数量按生成方式或对应调用组合填写,不能把接口可上传格式当作模型输入能力。使用本人同账号Key上传原文件,返回data.id后填入assetIds,不能使用他人素材ID。

MP4;原文件≤100MB;请求头X-Image-Profile: happyhorse-edit-reference。总量与轮次按对应调用组合约束。

PNG / JPEG / WebP / TIFF / GIF / HEIC / HEIF / BMP;原文件≤20MB;请求头X-Image-Profile: happyhorse-edit-reference。总量与轮次按对应调用组合约束。

Shell / curl
curl "$UNICOMP_BASE_URL/assets" \
  -H "Authorization: Bearer $UNICOMP_API_KEY" \
  -H "Content-Type: video/mp4" \
  -H "X-Image-Profile: happyhorse-edit-reference" \
  -H "X-File-Name: reference.mp4" \
  --data-binary @reference.mp4
Shell / curl
curl "$UNICOMP_BASE_URL/assets" \
  -H "Authorization: Bearer $UNICOMP_API_KEY" \
  -H "Content-Type: image/png" \
  -H "X-Image-Profile: happyhorse-edit-reference" \
  -H "X-File-Name: reference.png" \
  --data-binary @reference.png
JSON
{
  "data": {
    "id": "<本人素材ID>",
    "object": "asset",
    "name": "reference.png",
    "kind": "image",
    "mime_type": "image/png",
    "bytes": "<真实文件字节数>",
    "sha256": "<真实SHA256>",
    "created_at": "<上传时间>",
    "url": "/v1/assets/<本人素材ID>/content"
  }
}

按上方对应格式设置X-Image-Profile;原二进制大小按该profile及模型限制,Content-Type与实际内容必须匹配;X-File-Name为URL编码文件名。模型输入还需符合本页尺寸、格式、数量和总大小限制。素材列表GET /v1/assets,本人素材内容GET/HEAD /v1/assets/<素材ID>/content。

字段与限制

字段类型范围 / 默认值
modelstring精确使用 happyhorse-1.0-video-edit
promptstring生成描述;按所选生成方式的必填规则
parameters.generation_modestring · 可选reference_video;默认 reference_video
parameters.resolutionstring · 可选720P、1080P;默认 720P
parameters.duration_secondsinteger · 可选3、4、5、6、7、8、9、10、11、12、13、14、15;默认 5
assetIds / generatedAssetIdsstring[] · 按型号参考能力数量、类型及角色见生成方式表;本人素材不能重复
referenceAssets{id, source, role}[]按生成方式指定素材角色,与两组ID集合严格一致;source为upload或generated
expected_input_digeststring · 可选原quote.input_digest,64位hex;输入变化返回409,不能代替原素材授权
expected_price_versionstring · 可选原quote.price_version,防止价格版本变化
expected_quote_amountinteger · 可选原quote.quoted_amount,正整数人民币微元
  • 先使用同一Key、描述、参数与有序素材向 /v1/videos/quote 报价,保存 input_digest、price_version 和 quoted_amount;向 /v1/videos 创建时必须携带 expected_input_digest、expected_price_version 和 expected_quote_amount。摘要使用原64位十六进制字符串,金额使用原报价JSON正整数,单位为人民币微元。输入变化须重新报价;未知结果只查询原任务,不重复提交。
  • 编辑视频使用 happyhorse-edit-reference 上传配置:完整MP4最多100,000,000字节,参考图片最多20,000,000字节;具体格式与数量见素材表。按实际视频秒数计费,报价是余额预留,不是最终费用。
  • prompt 为文字描述,不得为空,最多 2500 字符;平台不会自动截断。
  • 请求参数以本页定义为准;未知字段、超范围或不同层级冲突会被拒绝,不会静默忽略。
  • 素材数量按所选生成方式填写;不需要素材的方式不得传入参考素材;其他方式的角色、数量和总量以上方生成方式表为准。assetIds 引用本人当前账号已上传素材;generatedAssetIds 引用本人已审核作品。两数组合计须满足本页数量和格式限制,不接受裸远程 URL。使用本人Bearer向 /v1/assets 上传文件,取得 data.id 后引用;官网已有本人素材也可复用。

请求组合示例

示例随当前型号配置生成;请替换素材与历史消息占位内容。选择相应组合展开查看,不要混用不同组合参数。

编辑报价:POST /v1/videos/quote
JSON
{
  "model": "happyhorse-1.0-video-edit",
  "prompt": "白色背景上的橙色陶瓷杯",
  "parameters": {
    "duration_seconds": 5,
    "generation_mode": "reference_video",
    "resolution": "720P"
  },
  "assetIds": [
    "<本人reference_video_1素材ID>"
  ],
  "referenceAssets": [
    {
      "id": "<本人reference_video_1素材ID>",
      "source": "upload",
      "role": "reference_video"
    }
  ]
}
  • 先提交同一Key、描述、参数及有序素材取得原报价。创建示例中的expected_quote_amount=1只是JSON整数占位,必须替换为原quote.quoted_amount;不得按占位金额提交。
生成方式:参考视频
JSON
{
  "model": "happyhorse-1.0-video-edit",
  "prompt": "白色背景上的橙色陶瓷杯",
  "parameters": {
    "duration_seconds": 5,
    "generation_mode": "reference_video",
    "resolution": "720P"
  },
  "expected_input_digest": "<原quote.input_digest>",
  "expected_price_version": "<原quote.price_version>",
  "expected_quote_amount": 1,
  "assetIds": [
    "<本人reference_video_1素材ID>",
    "<本人reference_image_1素材ID>"
  ],
  "referenceAssets": [
    {
      "id": "<本人reference_video_1素材ID>",
      "source": "upload",
      "role": "reference_video"
    },
    {
      "id": "<本人reference_image_1素材ID>",
      "source": "upload",
      "role": "reference_image"
    }
  ]
}
  • 素材ID是本人已上传素材占位;先按同一原Key、描述、参数与素材报价,再创建原任务;不接受裸远程URL。

当前价格

接口金额使用整数微元:1元 = 1,000,000微元。按报价和实际用量结算。

规格计价项人民币单价
720P秒¥1.98/秒
1080P秒¥3.52/秒

响应与结果

POST或GET尚未完成时返回202与真实任务状态,示意结构如下。视频使用JSON异步任务协议,按返回的poll_url查询结果。

JSON
{
  "id": "<原任务号>",
  "object": "media.task",
  "protocol": "unicomp.media.v1",
  "model": "happyhorse-1.0-video-edit",
  "status": "queued",
  "poll_url": "/v1/videos/<原任务号>",
  "review_phase": "submitted"
}

使用相同原Key GET /v1/videos/<原任务号> 查询。queued/running表示处理中;reviewing表示结果处理中;submission_unknown等待核对,不能重复生成;succeeded且output_approved才交付。余额不足待结算时仍可显示 reviewing 与 output_approved;以 billing.settlement_pending=true 和 error.code=MEDIA_BALANCE_REQUIRED 识别待结算状态,补足余额后沿原任务结算,不重新生成。

JSON
{
  "id": "<原任务号>",
  "status": "reviewing",
  "review_phase": "output_approved",
  "billing": {
    "currency": "CNY_MICRO",
    "quoted_amount": "<原报价整数微元>",
    "charged_amount": 0,
    "reserved_amount": "<原预留整数微元>",
    "settlement_pending": true,
    "actual_amount": "<实际所需整数微元>"
  },
  "error": {
    "code": "MEDIA_BALANCE_REQUIRED",
    "message": "余额不足,请补足余额后结算原任务"
  }
}
JSON
{
  "id": "<原任务号>",
  "status": "succeeded",
  "created": 1800000000,
  "review_phase": "output_approved",
  "data": [
    {
      "url": "/v1/videos/<原任务号>/content?asset_id=<原作品号>",
      "asset_id": "<原作品号>"
    }
  ]
}

data逐件列出批次作品。content须携带原Bearer,支持GET/HEAD/Range;未交付、跨Key/账号、撤销Key、错误asset_id均不能读取。不要将私有URL当无需鉴权的分享链接。

查看模型详情及价格

  • 计费单位:seconds。结果未确认时查询原任务,不要重复创建。
  • 图片和视频完成后通过content私有下载;查询和下载使用创建任务的同一Key。公开分享须审核。结果处理中或未知时保留原任务,继续查询,不重复生成。