← 返回
未分类 Key 中文

Blog to Avatar Video

Turn a blog post URL into a talking-head avatar video — the avatar reads a summarized script of the post against a clean background. Use when the user wants...
将博客文章URL转换为说话头像视频——头像在干净背景上朗读文章摘要脚本。适用于用户想要...
api00
未分类 clawhub v1.1.1 1 版本 100000 Key: 需要
★ 0
Stars
📥 344
下载
💾 0
安装
1
版本
#latest

概述

Blog post → talking-head avatar video

Take any blog/article URL and produce a vertical (or square) talking-head video

with a chosen avatar reading a summarized version of the post.

When to use this skill

  • Source is a blog post / opinion piece / explainer with substantial body text.
  • Output should feel like a person delivering the take, not an edited promo

with stock b-roll.

  • An avatar (image URL or characterId) is available, or the user accepts the

default avatar.

  • For an edited short with stock visuals, use

revid-article-to-short instead.

Inputs

FieldRequiredNotes
---------
urlyesBlog post URL
avatar.url or characterIds[]yesThe face. Either an image URL or a saved consistent character ID (see character mgmt).
aspectRationoDefault 9:16. Use 1:1 for LinkedIn.
voiceIdnoMatch it to the avatar's tone if known.
targetDurationnoDefault 60 (s) — talking heads can run longer.

Step-by-step

  1. Validate the URL.
  2. If the user gave an avatar image URL, set avatar.url. If they gave a saved

character ID, set characterIds: [id] (and leave avatar omitted).

  1. POST the payload below.
  2. Poll /status (canonical loop in the Polling section below).
  3. Return videoUrl.

API call template

POST /api/public/v3/render
Host: www.revid.ai
Content-Type: application/json
key: $REVID_API_KEY
{
  "workflow": "article-to-video",
  "source": {
    "url": "{BLOG_URL}",
    "scrapingPrompt": "Extract the article body. Skip header, navigation, related posts, and footer."
  },
  "aspectRatio": "9:16",
  "avatar": {
    "enabled": true,
    "url": "{AVATAR_IMAGE_URL}",
    "removeBackground": true,
    "imageModel": "good"
  },
  "voice": {
    "enabled": true,
    "voiceId": "aria-en-us",
    "stability": 0.65,
    "speed": 1.0,
    "language": "en-US",
    "enhanceAudio": true
  },
  "captions": { "enabled": true, "position": "bottom", "autoCrop": true },
  "music":    { "enabled": false },
  "media": {
    "type": "moving-image",
    "density": "low",
    "animation": "soft",
    "placeAvatarInContext": true
  },
  "options": {
    "targetDuration": 60,
    "summarizationPreference": "summarize",
    "hasToGenerateCover": true
  },
  "render": { "resolution": "1080p", "frameRate": 30 }
}

Notes:

  • placeAvatarInContext: true composites the avatar over a relevant background

(vs a plain green-screen feel).

  • media.density: "low" keeps cuts minimal so the talking head can carry the

video.

  • music.enabled: false is the default — voice-driven content reads better

without competing audio.

Consistent characters

If the user wants the same face across many posts, create a character once

and reuse the ID:

# 1. Create character
curl -s https://www.revid.ai/api/public/v3/consistent-characters \
  -H "Content-Type: application/json" \
  -H "key: $REVID_API_KEY" \
  -d '{ "name": "Maya", "imageUrl": "https://cdn.example.com/maya.jpg" }'
# → { "id": "ch_…" }

# 2. Use it in renders
{ "characterIds": ["ch_…"], "avatar": { "enabled": true } }

List existing characters with GET /api/public/v3/consistent-characters.

Examples

Polling

After POST /render, poll until status === "ready":

PID="<pid-from-render>"
while :; do
  R=$(curl -fsSL "https://www.revid.ai/api/public/v3/status?pid=$PID" \
        -H "key: $REVID_API_KEY")
  S=$(echo "$R" | jq -r .status)
  case "$S" in
    ready)  echo "$R" | jq .; break ;;
    failed) echo "FAILED: $R"; exit 1 ;;
    *)      sleep 5 ;;
  esac
done

In production prefer setting webhookUrl in the request body and skip polling.

Failure modes

SymptomFix
------
Avatar lip-sync drifts on long copyLower targetDuration to 45 s, or switch summarizationPreference: "summarize" (already on).
Avatar background bleeds into videoSet avatar.removeBackground: true (default). For stubborn cases, pre-process the avatar image to a transparent PNG.
Background visuals distract from facemedia.density: "low" and media.animation: "soft" (already on). For pure plain background, set media.type: "custom" + media.useOnlyProvided: true with a single neutral asset.
Voice doesn't match the avatarSet voice.voiceId explicitly. The default voice is gendered female English — always override for other languages or personas.
scrape failedSame as in revid-article-to-short: pre-scrape the post and switch to script-to-video with the avatar block intact.

See also

edited-short output.

shorter form of the same talking-head pattern.

版本历史

共 1 个版本

  • v1.1.1 当前
    2026-05-07 22:10 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

Shopify Product Promo

api00
将 Shopify(或任何电商)产品页 URL 转成 30–45 秒的 9:16 宣传视频,适合 TikTok / Reels / Shorts,在用户分享产品时使用。
★ 0 📥 442

Article to Short

api00
Turn any news article or long-form post URL into a 30–60 second 9:16 short with stock visuals, narration, and captions.
★ 0 📥 356

Tweet to Talking-Head

api00
将X/Twitter/LinkedIn帖子(链接或粘贴的线程文本)转化为口播视频,传递观点。适用于创作者希望重新利用病毒式内容的场景。
★ 0 📥 343