Docs

内容与视频

最后更新: 2026-10-03阅读约 8 分钟

四个工具都以任务方式运行:返回 202,结果通过轮询或 webhook 获取(任务与结果)。声音、音乐、结束语和数字人从参考列表中选择(参考数据)。

内容包

POST /content/generate:权限范围 tools:contentgen。GREM 根据物业信息和照片,在一个任务中生成描述、社交媒体帖子、带配音的视频、落地页和 PDF。会为内容包创建一个房源草稿。

需要至少 4 张照片,以公开地址放在 form.media.photos 中。自己的文件请先用 POST /uploads 上传,再传入返回的 url(文件)。

字段类型说明
form.language字符串结果语言:eng、rus、ukr、deu、spa、aze、arb、fra、zho、tur
form.media.photos数组4 到 20 个照片地址(字符串或 { "url": "..." }):必填
form.objectId字符串为您已有的房源生成内容包
form.objectType字符串property、rental 或 complex
form.propertyCategory字符串物业类型:apartment、house、penthouse、land、warehouse ...
form.dealType字符串sale 或 rent
form.title字符串标题
form.description字符串您的描述:作为事实依据
form.customDirection字符串语气和重点要求,最多 500 字符
form.totalArea数字m²
form.rooms、form.floor、form.buildingFloors数字房间、楼层、总楼层
form.landPlotArea数字土地,m²(住宅)
form.price数字价格
form.priceCurrency字符串价格货币
form.addressCountry、form.addressCity、form.street、form.streetNumber字符串地址
form.voiceId字符串来自 GET /voices 的配音声音
form.enableSubtitles是/否视频字幕,默认开启
form.showPhone是/否显示电话;号码填在 form.contactPhone
form.options.music.trackId字符串来自 GET /video/music 的曲目;form.options.music.enabled: false 表示不加音乐
form.options.endCard.style字符串结尾卡片:photo、solid 或 split

不需要 user 字段:内容包以密钥所属账户的名义创建。

curl -X POST https://developers.grem.capital/api/v1/content/generate \
  -H "Authorization: Bearer gsk_live_xxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 0c0e3a5b-7d1e-4b8a-9b2f-1e6d4c3a2b10" \
  -d '{
    "form": {
      "language": "zho",
      "propertyCategory": "apartment", "dealType": "sale",
      "title": "公园旁明亮的两居室",
      "totalArea": 64, "rooms": 2, "price": 320000, "priceCurrency": "EUR",
      "addressCountry": "Germany", "addressCity": "Berlin",
      "media": { "photos": ["https://example.com/1.jpg", "https://example.com/2.jpg",
                             "https://example.com/3.jpg", "https://example.com/4.jpg"] }
    }
  }'

响应 202:jobId(任务 ID)和 propertyId(房源草稿)。完成的任务(GET /content/generate/jobs/{id})包含:

字段说明
artifacts生成文件的 ID
artifactsSummary每个文件一条记录:类型、格式、大小
bundle内容包的落地页和 PDF(如已生成)
progress任务运行期间的生成进度
masterProfile文案和配音所依据的故事大纲
error任务失败时:以通用文本说明的原因

文件:GET /artifacts/v1/ai/assistant/announcement/jobs/{jobId}/artifacts/{artifactId}/download。事件:content.completed、content.partial(部分文件失败)、content.failed。少于 4 张照片:400。

房源文案

POST /text/generate:权限范围 tools:text。一段描述、一份演示文案和一条社交媒体帖子。需要 objectId,或 description、city、totalArea 中至少一项;否则返回带 code: not_enough_input 的 422。

字段类型说明
objectId字符串您的房源(或您机构的房源)
title字符串最多 120 字符
description字符串您的描述,最多 2000 字符
city字符串城市
totalArea数字m²
rooms数字房间
price数字价格
currency字符串价格货币
propertyCategory字符串物业类型
language字符串en(默认)、ru、ua、de、es、az、ar、fr、zh、tr
customDirection字符串语气和重点要求;超过 500 个字符的文本会被截断为 500 个字符
curl -X POST https://developers.grem.capital/api/v1/text/generate \
  -H "Authorization: Bearer gsk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"city":"Berlin","totalArea":64,"rooms":2,"propertyCategory":"apartment","language":"zh","description":"已翻新,安静的庭院,步行 5 分钟到地铁。"}'

返回 202 和 jobId。文案位于任务文件中,与内容包相同;任务还包含 progress、masterProfile 和 error。事件:text.completed / text.failed。

照片生成视频

POST /video/create:权限范围 tools:video。用您的照片或房源照片生成带配音的短视频。

请求体:multipart/form-data,每个选项都是独立的表单字段(不是放在 data 字段中的 JSON):

字段说明
photos照片文件,1 到 8 张,每个文件一个部分;使用 objectId 时不需要;JPEG、PNG、WebP 或 HEIC,每张最大 20 MB;第 8 张之后的照片不会使用
objectId从您的房源获取照片和信息
prompt视频主题,最多 500 字符;无 objectId 时必填;更长的文本会被截断
title标题,最多 120 字符
lengthshort(默认)或 long;其他值按 short 处理;long 至少需要 4 张照片(code: long_needs_more_photos)
aspect9:16、1:1 或 16:9;其他值按默认处理
language配音语言:en、ru、ua、de、es、az、ar、fr、zh、tr
narrationtrue(默认):带配音
voiceId来自 GET /voices 的声音
enableSubtitles字幕
musicEnabled带音乐
musicTrackId来自 GET /video/music 的曲目
musicVolume音乐音量,0 到 100
music用您自己的音乐文件代替曲目
endCardEnabled、endCardStyle结尾卡片:photo、solid 或 split
ctaMode结束语:auto(默认)按房源自动选择;manual 使用 ctaIntent 或 ctaText
ctaIntent现成结束语:GET /video/endings 中的某个 intent 值
ctaText您自己的结束语,最多 60 个字符
ctaMarket视频面向谁:local、remote 或 international;用于调整 auto 结束语
curl -X POST https://developers.grem.capital/api/v1/video/create \
  -H "Authorization: Bearer gsk_live_xxx" \
  -F "[email protected]" -F "[email protected]" -F "[email protected]" \
  -F "prompt=柏林米特区阳光充足的两居室,安静庭院" \
  -F "length=short" -F "aspect=9:16" -F "language=zh"

返回 202 和 jobId;视频位于任务文件中。与内容包一样,任务还包含 progress、masterProfile 和 error。价格取决于 length。事件:video.completed / video.failed。

数字人视频

POST /avatar/video:权限范围 tools:avatar。由主持人介绍您的房源。

字段类型说明
avatarId字符串必填:GET /avatar/avatars 中状态为 ready 的数字人
objectId字符串必填:您的房源
scriptText字符串必填:主持人文稿,至少 100 字符;最多 1200
voiceId字符串来自 GET /voices 的声音
language字符串语言
background.type字符串背景:color、photo 或 slideshow
background.color字符串背景颜色 #RRGGBB
background.photoUrl字符串背景照片
dimension.width、dimension.height数字画面尺寸,100 到 4096 像素;两者同时提供或都不提供
enableSubtitles是/否字幕
curl -X POST https://developers.grem.capital/api/v1/avatar/video \
  -H "Authorization: Bearer gsk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"avatarId":"AVATAR_ID","objectId":"OBJECT_ID","voiceId":"VOICE_ID","scriptText":"..."}'

返回 202 和 jobId。视频:GET /artifacts/v1/ai/assistant/avatar/jobs/{jobId}/artifacts/{artifactId}/download,artifactId 取自已完成任务的 artifacts。事件:avatar.completed / avatar.failed。缺少 avatarId 或 objectId,或文稿过短:400,字段列在 errors 中。

相关文章

这篇文章对您有帮助吗?