rawugc-api
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRawUGC API
RawUGC API
Procedural knowledge for agents to call the RawUGC API. All requests require an API key from the RawUGC dashboard, passed via environment variable.
供Agent调用RawUGC API的流程说明。所有请求都需要从RawUGC控制台获取API密钥,通过环境变量传入。
Authentication
认证
- Environment variable: Read the API key from . The key is created in the RawUGC dashboard and must be kept secret; do not hardcode or log it.
RAWUGC_API_KEY - Header: Send on every request: .
Authorization: Bearer <value of RAWUGC_API_KEY> - If is missing or empty, inform the user they must set it and obtain a key from the RawUGC dashboard.
RAWUGC_API_KEY
- 环境变量:从读取API密钥。该密钥在RawUGC控制台中创建,必须保密,请勿硬编码或记录日志。
RAWUGC_API_KEY - 请求头:所有请求都需要携带:。
Authorization: Bearer <value of RAWUGC_API_KEY> - 如果缺失或为空,请告知用户必须设置该变量,并且从RawUGC控制台获取密钥。
RAWUGC_API_KEY
Base URL
基础URL
- Production:
https://rawugc.com/api/v1 - All paths below are relative to this base.
- 生产环境:
https://rawugc.com/api/v1 - 下文所有路径都基于该基础URL拼接。
API Versioning
API版本控制
RawUGC uses date-based API versioning. The current latest version is .
2026-03-06- request header: Override the version per-request (recommended).
RawUGC-Version - API key pinned version: Set when creating the key in the dashboard.
- Fallback: Latest version () if neither is set.
2026-03-06
Always send in requests to ensure consistent behavior.
RawUGC-Version: 2026-03-06RawUGC使用基于日期的API版本控制,当前最新版本为。
2026-03-06- 请求头:可以在单个请求中覆盖版本(推荐使用)。
RawUGC-Version - API密钥绑定版本:在控制台创建密钥时可以设置固定版本。
- 兜底规则:如果上述两种都未设置,默认使用最新版本()。
2026-03-06
建议所有请求都携带请求头,以保证行为一致性。
RawUGC-Version: 2026-03-06Video Generation
视频生成
POST /videos/generate
POST /videos/generate
Initiate video generation.
Request body (JSON):
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | |
| string | For text-to-video / veo3 | Text description (1-5000 chars) |
| string[] | For image-to-video / kling | URLs, max 10. Veo3/veo3_fast accept up to 2 optional images. |
| string[] | For kling | URLs, max 1. Required for |
| string | No | Sora: |
| string | No | |
| string | No | Character username (e.g. |
| string | No | |
| string | No | |
Response (201): , , , , , , .
videoIdmodelstatuscreditsUsednewBalanceestimatedCompletionTimecreatedAt发起视频生成任务。
请求体(JSON):
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | |
| string | 文生视频/veo3必填 | 文本描述,长度1-5000字符 |
| string[] | 图生视频/kling必填 | 图片URL列表,最多10个。Veo3/veo3_fast最多支持2张可选参考图片。 |
| string[] | kling必填 | 视频URL列表,最多1个。 |
| string | 否 | Sora可选值: |
| string | 否 | |
| string | 否 | 角色用户名,例如 |
| string | 否 | |
| string | 否 | |
响应(201):返回, , , , , , 。
videoIdmodelstatuscreditsUsednewBalanceestimatedCompletionTimecreatedAtGET /videos/:videoId
GET /videos/:videoId
Get video status. Returns , , , , , (when completed), , , , , (edit history array).
videoIdstatusmodelpromptcreditsUsedurlcreatedAtcompletedAtfailCodefailMessageversions获取视频生成状态。返回, , , , , (生成完成后返回), , , , , (编辑历史数组)。
videoIdstatusmodelpromptcreditsUsedurlcreatedAtcompletedAtfailCodefailMessageversionsGET /videos
GET /videos
List videos. Query: , (1-100, default 50), . Returns array + .
statuslimitpagevideospagination获取视频列表。查询参数:, (1-100,默认50), 。返回数组 + 分页信息。
statuslimitpagevideospaginationPOST /videos/captions
POST /videos/captions
Add styled captions to a completed video. Costs 1 credit.
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Video identifier (vid_xxx) |
| string | No | Language code (e.g. |
Response (200): , , , , .
videoIdurlversionoperationcreditsUsed为已生成完成的视频添加样式字幕,消耗1点数。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | 视频ID,格式为vid_xxx |
| string | 否 | 语言代码,例如 |
响应(200):返回, , , , 。
videoIdurlversionoperationcreditsUsedPOST /videos/overlay
POST /videos/overlay
Add text overlay to a completed video.
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Video identifier (vid_xxx) |
| string | Yes | Overlay text (1-500 chars) |
| string | No | |
| integer | No | 8-200 pixels |
| integer | No | 0-500 pixels |
| number | No | 0-10 |
Response (200): , , , , .
videoIdurlversionoperationcreditsUsed为已生成完成的视频添加文字叠加层。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | 视频ID,格式为vid_xxx |
| string | 是 | 叠加文字内容,长度1-500字符 |
| string | 否 | 位置: |
| integer | 否 | 字号,8-200像素 |
| integer | 否 | 上下边距,0-500像素 |
| number | 否 | 文字描边厚度,0-10 |
响应(200):返回, , , , 。
videoIdurlversionoperationcreditsUsedImage Generation
图片生成
POST /images/generate
POST /images/generate
Generate AI images using Nano Banana models. Async -- poll GET /images/:imageId.
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | |
| string | Yes | Text description or edit instruction (1-20000 chars) |
| string[] | For editing | Source images. Required for |
| string | No | For |
| string | No | For |
| string | No | For |
| string | No | |
| boolean | No | Use Google Web Search grounding ( |
Response (201): , , , , , , .
imageIdmodelstatuscreditsUsednewBalanceestimatedCompletionTimecreatedAt使用Nano Banana模型生成AI图片,异步任务,需要轮询GET /images/:imageId获取结果。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | |
| string | 是 | 文本描述或编辑指令,长度1-20000字符 |
| string[] | 图片编辑必填 | 源图片URL列表, |
| string | 否 | 仅 |
| string | 否 | 仅 |
| string | 否 | 仅 |
| string | 否 | 输出格式: |
| boolean | 否 | 启用谷歌网页搜索 grounding(仅 |
响应(201):返回, , , , , , 。
imageIdmodelstatuscreditsUsednewBalanceestimatedCompletionTimecreatedAtGET /images/:imageId
GET /images/:imageId
Get image status. Returns , , , , (when completed), , , , , , , , .
imageIdstatusmodelprompturlimageSizeresolutionoutputFormatcreditsUsedcreatedAtcompletedAtfailCodefailMessage获取图片生成状态。返回, , , , (生成完成后返回), , , , , , , , 。
imageIdstatusmodelprompturlimageSizeresolutionoutputFormatcreditsUsedcreatedAtcompletedAtfailCodefailMessageGET /images
GET /images
List images. Query: , (1-100, default 20), . Returns array + .
statuslimitpageimagespagination获取图片列表。查询参数:, (1-100,默认20), 。返回数组 + 分页信息。
statuslimitpageimagespaginationMusic Generation
音乐生成
POST /music/generate
POST /music/generate
Generate AI music using Suno models. 3 credits per generation. Async -- poll GET /music/:musicId.
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Music description (1-2000 chars) |
| string | No | |
| boolean | No | Instrumental only, no vocals (default: true) |
| string | No | Track title (max 200 chars). Enables custom mode with |
| string | No | Style descriptor (max 500 chars, e.g. |
Response (201): , , , , , , .
musicIdmodelstatuscreditsUsednewBalanceestimatedCompletionTimecreatedAt使用Suno模型生成AI音乐,每次生成消耗3点数,异步任务,需要轮询GET /music/:musicId获取结果。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | 音乐描述,长度1-2000字符 |
| string | 否 | 可选值 |
| boolean | 否 | 是否仅生成纯音乐无人声,默认true |
| string | 否 | 曲目名称,最多200字符,搭配 |
| string | 否 | 风格描述,最多500字符,例如 |
响应(201):返回, , , , , , 。
musicIdmodelstatuscreditsUsednewBalanceestimatedCompletionTimecreatedAtGET /music/:musicId
GET /music/:musicId
Get music status. Returns , , , , (when completed), , , , , , , , .
musicIdstatusmodelpromptaudioUrlalbumArtUrldurationtitlecreditsUsedcreatedAtcompletedAtfailCodefailMessage获取音乐生成状态。返回, , , , (生成完成后返回), , , , , , , , 。
musicIdstatusmodelpromptaudioUrlalbumArtUrldurationtitlecreditsUsedcreatedAtcompletedAtfailCodefailMessageGET /music
GET /music
List music tracks. Query: , (1-100, default 20), . Returns array + .
statuslimitpagetrackspagination获取音乐列表。查询参数:, (1-100,默认20), 。返回数组 + 分页信息。
statuslimitpagetrackspaginationUpload
上传
POST /upload
POST /upload
Upload a video or image file. Returns a URL for use in generation requests (, ) or . Max 100MB.
imageUrlsvideoUrlsanalyze-videoRequest: with field. Accepted types: , , , , , .
multipart/form-datafilevideo/mp4video/quicktimevideo/webmimage/pngimage/jpegimage/webpResponse (200): , , .
urlcontentTypesize上传视频或图片文件,返回可用于生成请求(, 参数)或接口的URL,最大支持100MB。
imageUrlsvideoUrlsanalyze-video请求:格式,包含字段。支持的文件类型:, , , , , 。
multipart/form-datafilevideo/mp4video/quicktimevideo/webmimage/pngimage/jpegimage/webp响应(200):返回, , 。
urlcontentTypesizeCharacters
角色管理
GET /characters
GET /characters
List all available AI characters (built-in + custom). Returns array, , , .
characterscountadminCountuserCount获取所有可用AI角色(内置+自定义),返回数组, , , 。
characterscountadminCountuserCountGET /characters/:characterId
GET /characters/:characterId
Get a character by ID. Returns , , , , , (/), , , .
_idusernamedisplayNamedescriptionvideoPreviewUrltypeadminuserisActivecreatedAtupdatedAt根据ID获取角色信息,返回, , , , , (/), , , 。
_idusernamedisplayNamedescriptionvideoPreviewUrltypeadminuserisActivecreatedAtupdatedAtPersonas (CRUD)
用户画像(CRUD)
Personas define target audiences for content plan generation.
- GET /personas -- List all. Returns array +
personas.count - POST /personas -- Create. Body: (required, max 200),
name(required, max 5000). Returnsdescription.id - GET /personas/:personaId -- Get one.
- PATCH /personas/:personaId -- Update. Body: ,
name(both optional).description - DELETE /personas/:personaId -- Delete.
PersonaResponse: , , , , , .
_idorganizationIdnamedescriptioncreatedAtupdatedAt用户画像用于定义内容计划生成的目标受众。
- GET /personas -- 获取所有用户画像,返回数组 +
personas。count - POST /personas -- 创建用户画像,请求体:(必填,最多200字符),
name(必填,最多5000字符),返回description。id - GET /personas/:personaId -- 获取单个用户画像。
- PATCH /personas/:personaId -- 更新用户画像,请求体:,
name(均可选)。description - DELETE /personas/:personaId -- 删除用户画像。
用户画像响应结构:, , , , , 。
_idorganizationIdnamedescriptioncreatedAtupdatedAtMessaging (CRUD)
营销话术(CRUD)
Brand/positioning messaging templates.
- GET /messaging -- List all. Returns array +
messages.count - POST /messaging -- Create. Body: (required, max 200),
name(required, max 5000). Returnsbody.id - GET /messaging/:messageId -- Get one.
- PATCH /messaging/:messageId -- Update. Body: ,
name(both optional).body - DELETE /messaging/:messageId -- Delete.
MessagingResponse: , , , , , .
_idorganizationIdnamebodycreatedAtupdatedAt品牌/定位营销话术模板。
- GET /messaging -- 获取所有话术模板,返回数组 +
messages。count - POST /messaging -- 创建话术模板,请求体:(必填,最多200字符),
name(必填,最多5000字符),返回body。id - GET /messaging/:messageId -- 获取单个话术模板。
- PATCH /messaging/:messageId -- 更新话术模板,请求体:,
name(均可选)。body - DELETE /messaging/:messageId -- 删除话术模板。
话术模板响应结构:, , , , , 。
_idorganizationIdnamebodycreatedAtupdatedAtProducts (CRUD)
产品管理(CRUD)
Products for video generation.
- GET /products -- List all. Returns array +
products.count - POST /products -- Create. Body: (required, max 200),
name(required, URL array),photos(max 1000),description(max 5000). Returnsmessaging.id - GET /products/:productId -- Get one.
- PATCH /products/:productId -- Update. Body: ,
name,description,photos(all optional).messaging - DELETE /products/:productId -- Delete.
ProductResponse: , , , , , , .
_idnamedescriptionphotosmessagingcreatedAtupdatedAt用于视频生成的产品信息。
- GET /products -- 获取所有产品,返回数组 +
products。count - POST /products -- 创建产品,请求体:(必填,最多200字符),
name(必填,URL数组),photos(最多1000字符),description(最多5000字符),返回messaging。id - GET /products/:productId -- 获取单个产品信息。
- PATCH /products/:productId -- 更新产品信息,请求体:,
name,description,photos(均可选)。messaging - DELETE /products/:productId -- 删除产品。
产品响应结构:, , , , , , 。
_idnamedescriptionphotosmessagingcreatedAtupdatedAtStyles (CRUD)
风格管理(CRUD)
Video/image creative styles with optional prompt templates.
- GET /styles -- List all (built-in + custom). Query: (
type/video). Returnsimagearray +styles.count - POST /styles -- Create. Body: (required, max 200),
name(max 1000),description(type/video),image(aspectRatio/portrait/landscape),square(max 5000, supportspromptTemplate,{productName},{messaging}placeholders). Returns{character}.id - GET /styles/:styleId -- Get one.
- PATCH /styles/:styleId -- Update. All fields optional.
- DELETE /styles/:styleId -- Delete.
StyleResponse: , , , , , , , , .
_idnamedescriptiontypeaspectRatiostyleIdpromptTemplateisAdminisStandard视频/图片创意风格,支持可选的提示词模板。
- GET /styles -- 获取所有风格(内置+自定义),查询参数:(
type/video),返回image数组 +styles。count - POST /styles -- 创建风格,请求体:(必填,最多200字符),
name(最多1000字符),description(type/video),image(aspectRatio/portrait/landscape),square(最多5000字符,支持promptTemplate,{productName},{messaging}占位符),返回{character}。id - GET /styles/:styleId -- 获取单个风格信息。
- PATCH /styles/:styleId -- 更新风格信息,所有字段均可选。
- DELETE /styles/:styleId -- 删除风格。
风格响应结构:, , , , , , , , 。
_idnamedescriptiontypeaspectRatiostyleIdpromptTemplateisAdminisStandardSocial Scheduling
社交排期
GET /social/accounts
GET /social/accounts
List connected social accounts (max 3 per org). Returns array + . Each account: , (//), , , , .
accountscountaccountIdplatformtiktokinstagramyoutubeusernamedisplayNameprofilePictureisActive获取已绑定的社交账号,每个组织最多绑定3个,返回数组 + 。每个账号信息:, (//), , , , 。
accountscountaccountIdplatformtiktokinstagramyoutubeusernamedisplayNameprofilePictureisActivePOST /social/accounts
POST /social/accounts
Sync connected accounts from the scheduling provider. Returns .
{ success: boolean }从排期服务提供商同步已绑定的账号,返回。
{ success: boolean }DELETE /social/accounts/:accountId
DELETE /social/accounts/:accountId
Disconnect a social account. Returns .
{ success: boolean }解绑社交账号,返回。
{ success: boolean }POST /social/posts
POST /social/posts
Schedule, draft, or immediately publish a video to social media.
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | URL of video to post |
| string[] | Yes | Target account IDs |
| string | Yes | |
| integer | For schedule | Unix timestamp (ms) |
| string | No | IANA timezone (default: |
| string | No | Caption (max 2200 chars) |
| string | No | RawUGC video ID to link |
| boolean | No | Send to TikTok Creator Inbox |
| string | No | |
| boolean | No | Allow TikTok comments |
| boolean | No | Allow TikTok duets |
| boolean | No | Allow TikTok stitches |
| string | No | |
Response (201): SocialPost object.
排期、存草稿或立即发布视频到社交媒体。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | 要发布的视频URL |
| string[] | 是 | 目标发布账号ID列表 |
| string | 是 | 发布模式: |
| integer | 定时发布必填 | Unix时间戳(毫秒) |
| string | 否 | IANA时区,默认 |
| string | 否 | 帖子文案,最多2200字符 |
| string | 否 | 关联的RawUGC视频ID |
| boolean | 否 | 是否发送到TikTok创作者 inbox |
| string | 否 | TikTok隐私等级: |
| boolean | 否 | 是否允许TikTok评论 |
| boolean | 否 | 是否允许TikTok合拍 |
| boolean | 否 | 是否允许TikTok剪接 |
| string | 否 | TikTok商业内容类型: |
响应(201):返回SocialPost对象。
GET /social/posts
GET /social/posts
List posts. Query: (ms), (ms), (boolean). Returns array + .
fromDatetoDateincludeDraftspostscount获取帖子列表,查询参数:(毫秒), (毫秒), (布尔值),返回数组 + 。
fromDatetoDateincludeDraftspostscountGET /social/posts/:postId
GET /social/posts/:postId
Get a post.
获取单个帖子信息。
PATCH /social/posts/:postId
PATCH /social/posts/:postId
Update a post. Body: , , , (at least one field required).
contentscheduledFortimezoneaccountIds更新帖子信息,请求体:, , , (至少填写一个字段)。
contentscheduledFortimezoneaccountIdsDELETE /social/posts/:postId
DELETE /social/posts/:postId
Delete a post. Returns .
{ success: boolean }删除帖子,返回。
{ success: boolean }POST /social/posts/:postId/reschedule
POST /social/posts/:postId/reschedule
Reschedule a post. Body: (required, ms), .
scheduledFortimezone重新排期帖子,请求体:(必填,毫秒), 。
scheduledFortimezonePOST /social/posts/:postId/publish
POST /social/posts/:postId/publish
Immediately publish a draft post.
SocialPost: , , (///), , , , , , .
postIdplatformsstatusdraftscheduledpublishedfailedscheduledFortimezonecontentvideoUrlcreatedAtpublishedAt立即发布草稿帖子。
SocialPost结构:, , (///), , , , , , 。
postIdplatformsstatusdraftscheduledpublishedfailedscheduledFortimezonecontentvideoUrlcreatedAtpublishedAtViral Library
爆款库
GET /viral-library/videos/:videoId
GET /viral-library/videos/:videoId
Get a viral library video with full AI analysis (hooks, keyframes, performance insights). Returns ViralLibraryVideo.
获取爆款库视频的完整AI分析结果(钩子、关键帧、表现洞察),返回ViralLibraryVideo对象。
GET /viral-library/search
GET /viral-library/search
Semantic search across analyzed videos. Query: (required, natural language), (1-50, default 20). Returns (array of ), , .
qlimitresults{ video, score }querytotal在已分析的视频中进行语义搜索,查询参数:(必填,自然语言查询), (1-50,默认20),返回(数组), , 。
qlimitresults{ video, score }querytotalResearch
内容调研
POST /scrape-tiktok
POST /scrape-tiktok
Scrape TikTok videos. Costs 3 credits.
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Search keyword, hashtag, or query (max 500) |
| string | No | |
| integer | No | 1-10 (default: 10) |
Response (200): (use with content-plans), , (array with , , , , , , , , ).
scrapeIdcountvideosidurlauthordescriptionstatsdurationhashtagsthumbnailvideoUrl爬取TikTok视频,消耗3点数。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | 搜索关键词、话题标签或查询内容,最多500字符 |
| string | 否 | 搜索模式: |
| integer | 否 | 返回数量1-10,默认10 |
响应(200):返回(可用于内容计划生成), , (数组包含, , , , , , , , )。
scrapeIdcountvideosidurlauthordescriptionstatsdurationhashtagsthumbnailvideoUrlPOST /content-plans
POST /content-plans
Generate a content plan from scraped videos. Costs 3 credits.
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | From scrape-tiktok response |
| string | Yes | Content plan goals (max 5000) |
Response (200): , , , , , (array with , , , ).
planIdscrapeIdbrieftopWinsgapsToTestblueprintscategorystrategyevidencecontentIdeas基于爬取的视频生成内容计划,消耗3点数。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | 来自scrape-tiktok接口返回的ID |
| string | 是 | 内容计划目标,最多5000字符 |
响应(200):返回, , , , , (数组包含, , , )。
planIdscrapeIdbrieftopWinsgapsToTestblueprintscategorystrategyevidencecontentIdeasGET /content-plans
GET /content-plans
List all content plans. Returns array + .
planscount获取所有内容计划,返回数组 + 。
planscountPOST /analyze-video
POST /analyze-video
Analyze any video URL (social links or direct URLs). Costs 1 credit. Max 150MB.
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Video URL to analyze |
| string | No | Custom analysis prompt (max 5000) |
Response (200): , , (array with , , , , , ), , , , , .
summaryhookkeyframestimestamptypedescriptionvisualaudiotextdurationSecondstagswhyItPerformedattributesToCopyhooksToTest分析任意视频URL(社交链接或直链),消耗1点数,最大支持150MB。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | 要分析的视频URL |
| string | 否 | 自定义分析提示词,最多5000字符 |
响应(200):返回, , (数组包含, , , , , ), , , , , 。
summaryhookkeyframestimestamptypedescriptionvisualaudiotextdurationSecondstagswhyItPerformedattributesToCopyhooksToTestErrors
错误说明
All error responses use RFC 7807 Problem Details (JSON): , , , , , .
typetitlestatusdetailinstanceerrors| Status | Meaning |
|---|---|
| 400 | Validation error. Surface |
| 401 | Auth error. Check |
| 402 | Insufficient credits. Add credits in dashboard. |
| 403 | Insufficient scope. API key lacks permissions. |
| 404 | Resource not found. |
| 429 | Rate limit exceeded. Check |
| 500 | Server error. Retry or contact support. |
所有错误响应遵循RFC 7807 Problem Details规范(JSON格式):, , , , , 。
typetitlestatusdetailinstanceerrors| 状态码 | 含义 |
|---|---|
| 400 | 参数校验错误,将 |
| 401 | 认证错误,检查 |
| 402 | 点数不足,请在控制台充值点数。 |
| 403 | 权限不足,API密钥没有对应权限。 |
| 404 | 资源不存在。 |
| 429 | 触发速率限制,请查看 |
| 500 | 服务端错误,可重试或联系客服。 |
Rate Limits
速率限制
- API Key: 10 req/min. Session: 20 req/min.
- Headers: ,
X-RateLimit-Limit,X-RateLimit-Remaining(unix timestamp).X-RateLimit-Reset
- API密钥维度:10次请求/分钟;会话维度:20次请求/分钟。
- 响应头包含:,
X-RateLimit-Limit,X-RateLimit-Remaining(Unix时间戳)。X-RateLimit-Reset
Workflow: Generate then poll
工作流:生成后轮询
- Generate: POST to the generation endpoint. Note the returned ID (/
videoId/imageId).musicId - Poll: GET the status endpoint periodically (10-30s). Use exponential backoff.
- Finish: When , use the result URL. When
status === 'completed', surface error to user.failed - Edit (video only): POST to or
/videos/captions./videos/overlay
For full request/response shapes, see reference.md.
- 发起生成:调用生成接口POST请求,记录返回的ID(/
videoId/imageId)。musicId - 轮询状态:定期调用状态查询GET接口(间隔10-30秒),建议使用指数退避策略。
- 处理结果:当时,使用返回的结果URL;当状态为
status === 'completed'时,将错误信息展示给用户。failed - 编辑(仅视频支持):可调用或
/videos/captions接口进行二次编辑。/videos/overlay
完整的请求/响应结构请查看reference.md。