Virlo:AI 社交媒体情报与病毒式传播分析 - Openclaw Skills

作者:互联网

2026-03-30

AI教程

什么是 Virlo?

Virlo 被称为病毒式内容的“彭博终端”,提供有关 YouTube Shorts、TikTok 和 In@stagram Reels 短视频表现的深度洞察。通过在 Openclaw Skills 中利用此工具,开发人员和营销人员可以编程方式访问数百万个病毒式视频、追踪的标签和每日精选趋势的数据。它弥补了原始社交数据与可执行内容策略之间的差距,支持复杂的竞争分析和利基市场坚控。

该技能实现了与 Virlo API 的无缝集成,该 API 使用标准化的 snake_case 命名规范,并在结构化 JSON 信封中返回所有数据。这使其成为构建自动化社交工具或数据驱动内容引擎的必备资产。

下载入口:https://github.com/openclaw/skills/tree/main/skills/virlogit/virlo-short-form-video-training-data

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install virlo-short-form-video-training-data

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 virlo-short-form-video-training-data。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

Virlo 应用场景

  • 发现高增长标签和热门话题,用于战略性内容规划。
  • 识别相对于粉丝基数产生巨大覆盖面的异常创作者。
  • 针对品牌和竞争对手坚控的自动化社交和基于关键词的发现。
  • 利用定时抓取和 AI 驱动的分析来扩展特定利基市场的视频研究。
  • 坚控特定市场细分内的 Meta 广告,以了解付费趋势。
Virlo 工作原理
  1. 使用存储在环境中的专用 Bearer 令牌向 Virlo API 进行身份验证。
  2. 查询 TikTok、YouTube 和 In@stagram 的标签、趋势或视频表现数据的特定端点。
  3. 发起异步 Orbit 搜索作业,进行深度社交和 AI 驱动的内容分析。
  4. 配置 Comet 坚控器,按定期计划(每日、每周或通过 cron)自动跟踪特定的利基市场或关键词。
  5. 处理标准化的 JSON 响应数据,以输入到内部仪表板、报告或二级自动化工作流中。

Virlo 配置指南

要开始在 Openclaw Skills 上使用 Virlo,您必须首先从 Virlo 控制面板获取 API 密钥。该密钥遵循 virlo_tkn_ 格式。

设置您的环境变量:

export VIRLO_API_KEY="virlo_tkn_your_key_here"

确保系统中安装了 curl。您可以通过列出热门标签来验证连接:

curl -s -X GET "https://api.virlo.ai/v1/hashtags" r
  -H "Authorization: Bearer ${VIRLO_API_KEY}" r
  -H "Content-Type: application/json"

Virlo 数据架构与分类体系

Virlo 在一致的 { "data": ... } 信封中返回数据。对于列表端点,包含分页元数据以处理多达 1,000 个总结果。

功能 描述 关键字段
视频 病毒式短片的表现指标 views, number_of_likes, duration, hashtags, transcript_raw
标签 使用量和观看次数分析 hashtag, count, total_views
Orbit 作业 搜索和分析结果 analysis (Markdown AI 报告), videos, ads, creators
创作者 影响力与异常检测 author_id, outlier_ratio, followers

name: virlo description: Virlo social media intelligence — viral video analytics, hashtag rankings, trend digests, and social listening across YouTube, TikTok, and In@stagram. Use for content strategy, trend discovery, competitive analysis, and niche monitoring. license: MIT metadata: { "openclaw": { "emoji": "??", "requires": { "bins": ["curl"], "env": ["VIRLO_API_KEY"] }, "primaryEnv": "VIRLO_API_KEY", "homepage": "https://dev.virlo.ai", "source": "https://github.com/CalciferFriend/virlo-skill", }, }

Virlo

Social media intelligence for short-form video — Bloomberg for viral content.

Homepage: https://dev.virlo.ai Source: https://github.com/CalciferFriend/virlo-skill Full API docs: https://dev.virlo.ai/docs | Playground: https://dev.virlo.ai/docs/playground

Config

Set VIRLO_API_KEY environment variable. Your API key has the format virlo_tkn_ and can be obtained from the Virlo dashboard.

Context

The Virlo API provides cross-platform analytics across YouTube, TikTok, and In@stagram. Key capabilities:

  • Hashtags — 500K+ hashtags ranked by usage count and total views
  • Trends — Daily curated trending topics updated at 1am UTC
  • Videos — 2M+ viral video performance data (views, likes, shares, comments)
  • Orbit — Keyword-based social listening with async analysis jobs
  • Comet — Automated niche monitoring with scheduled scraping

API Access

All endpoints use base URL https://api.virlo.ai/v1, snake_case naming, and return data in a { "data": ... } envelope.

Making Requests

Use curl directly with the VIRLO_API_KEY environment variable:

# GET request
curl -s -X GET "https://api.virlo.ai" r
  -H "Authorization: Bearer ${VIRLO_API_KEY}" r
  -H "Content-Type: application/json"

# POST request with JSON body
curl -s -X POST "https://api.virlo.ai" r
  -H "Authorization: Bearer ${VIRLO_API_KEY}" r
  -H "Content-Type: application/json" r
  -d ''

Examples

# List top hashtags
curl -s -X GET "https://api.virlo.ai/v1/hashtags" r
  -H "Authorization: Bearer ${VIRLO_API_KEY}" r
  -H "Content-Type: application/json"

# Top 10 viral videos
curl -s -X GET "https://api.virlo.ai/v1/videos?limit=10" r
  -H "Authorization: Bearer ${VIRLO_API_KEY}" r
  -H "Content-Type: application/json"

# Daily trend digest
curl -s -X GET "https://api.virlo.ai/v1/trends" r
  -H "Authorization: Bearer ${VIRLO_API_KEY}" r
  -H "Content-Type: application/json"

# Create an Orbit search
curl -s -X POST "https://api.virlo.ai/v1/orbit" r
  -H "Authorization: Bearer ${VIRLO_API_KEY}" r
  -H "Content-Type: application/json" r
  -d '{"name":"AI research","keywords":["artificial intelligence","AI tools"]}'

API Reference

Authentication

All requests require a Bearer token:

Authorization: Bearer virlo_tkn_

Never commit API keys to version control. Regenerate compromised keys from the dashboard.

Response Envelope

All responses use a { "data": ... } envelope. List endpoints include pagination metadata:

{
  "data": {
    "total": 500,
    "limit": 50,
    "offset": 0,
    "items": [ ... ]
  }
}

Pagination

List endpoints use offset-based pagination via limit and page query parameters:

Parameter Type Default Description
limit integer 50 Items per page (1-100)
page integer 1 Page number (1-indexed)

Maximum of 1000 total results accessible via pagination.

Common Query Parameters

Many video-related endpoints support these filters:

Parameter Type Description
min_views integer Minimum view count threshold
platforms string Comma-separated: you@tube, tiktok, instagram
start_date string ISO 8601 date filter (earliest publish date)
end_date string ISO 8601 date filter (latest publish date)
order_by string Sort field (varies per endpoint)
sort string Sort direction: asc or desc (default: desc)

Platforms

  • you@tube — YouTube Shorts and videos
  • tiktok — TikTok videos
  • instagram — In@stagram Reels

Hashtags

Virlo tracks 500K+ hashtags ranked by usage count and total views.

List Hashtags

GET /v1/hashtags

Standard pagination (limit, page).

Response:

{
  "data": [
    {
      "hashtag": "#shorts",
      "count": 10926,
      "total_views": 869912593
    }
  ]
}
Field Type Description
hashtag string The hashtag text (may or may not include #)
count integer Number of videos using this hashtag
total_views integer Sum of views across all videos with this tag

Daily curated trending topics updated at 1am UTC.

List Trend Groups

GET /v1/trends

Standard pagination (limit, page).

Response:

{
  "data": [
    {
      "id": "b88c0c23-8501-4975-a1e9-b7c1160c6342",
      "title": "Trends for Oct 15th",
      "trends": [
        {
          "id": "132ea402-804d-4515-b706-f3ff9c698c5e",
          "trend_id": "8ab75d1a-cb50-4885-b9b3-2e4ede2a3620",
          "trend_group_id": "b88c0c23-8501-4975-a1e9-b7c1160c6342",
          "ranking": 1,
          "trend": {
            "id": "8ab75d1a-cb50-4885-b9b3-2e4ede2a3620",
            "name": "NBA Season Opening Night",
            "description": "The 2025-26 NBA season officially tipped off...",
            "trend_type": "content"
          }
        }
      ]
    }
  ]
}
Field Type Description
id string UUID of the trend group
title string Display title (e.g., "Trends for Oct 15th")
trends array Array of ranked trend entries

Trend entry fields: id, trend_id, trend_group_id, ranking, trend (object with id, name, description, trend_type).


Videos

2M+ viral videos across YouTube, TikTok, and In@stagram.

List Top Videos (Cross-Platform)

GET /v1/videos
Parameter Type Description
limit integer Items per page (1-100, default 50)
page integer Page number (1-indexed, default 1)
min_views integer Minimum view count filter
platforms string Comma-separated: you@tube, tiktok, instagram
start_date string ISO 8601 earliest publish date
end_date string ISO 8601 latest publish date
order_by string publish_date, views, created_at
sort string asc or desc (default: desc)

Platform-Specific Endpoints

GET /v1/you@tube-videos
GET /v1/tiktok-videos
GET /v1/instagram-videos

Same parameters and response shape as /v1/videos, filtered to a single platform.

Video Object Fields

Field Type Description
id string Virlo UUID
url string Original video URL
publish_date string ISO 8601 publish timestamp
views integer View count
number_of_likes integer Like count
number_of_comments integer Comment count
description string Video description
thumbnail_url string Thumbnail image URL
hashtags string[] Extracted hashtags
type string Platform: you@tube, tiktok, instagram
niche string Content niche category
author_id string UUID of the video author
bookmarks integer Bookmark/save count
external_id string Platform-specific video ID
region string/null Geographic region code
duration integer Duration in seconds
transcript_raw string/null Raw video transcript (when available)

Orbit — Social Listening

Queue keyword-based video discovery jobs that search across platforms. Supports async analysis, Meta ads collection, and creator outlier detection.

POST /v1/orbit
Field Type Required Description
name string Yes Descriptive name for the search job
keywords string[] Yes Keywords to search (1-10)
platforms string[] No Platforms: you@tube, tiktok, instagram. Default: all
min_views integer No Minimum view count threshold
time_period string No today, this_week, this_month, this_year
run_analysis boolean No Enable AI social intelligence analysis (default: false)
enable_meta_ads boolean No Enable Meta ads collection (default: false)
exclude_keywords string[] No Keywords to exclude from results
exclude_keywords_strict boolean No Also check transcripts for exclusions (default: false)

List Orbit Searches

GET /v1/orbit

Paginated list of all search jobs. Standard limit/page parameters.

Get Orbit Results

GET /v1/orbit/:orbit_id

Poll until job completes. When run_analysis: true, includes AI analysis report.

Query params: order_by (views, likes, shares, comments, bookmarks, publish_date, author.followers), sort (asc/desc).

Response fields: name, keywords, analysis (markdown AI report when ready), results (contains total_videos, platform counts, trends, videos, ads, creators).

Get Orbit Videos (Paginated)

GET /v1/orbit/:orbit_id/videos

Standard pagination plus min_views, platforms, start_date, end_date, order_by, sort.

Get Orbit Ads

GET /v1/orbit/:orbit_id/ads

Meta ads collected (requires enable_meta_ads: true). Pagination plus order_by (created_at, page_like_count), sort.

Get Creator Outliers

GET /v1/orbit/:orbit_id/creators/outliers

Creators outperforming their follower count. High outlier_ratio = content reaching far beyond follower base. Standard pagination.


Comet — Automated Niche Monitoring

Create niche configs that automatically discover videos, ads, and creator outliers on a schedule.

Create Comet Config

POST /v1/comet
Field Type Required Description
name string Yes Descriptive name (e.g., "Tech Reviews")
keywords string[] Yes Keywords to search (1-20)
platforms string[] Yes Platforms: you@tube, tiktok, instagram
cadence string Yes daily, weekly, monthly, or cron expression
min_views integer Yes Minimum view count threshold
time_range string Yes today, this_week, this_month, this_year
is_active boolean No Default: true. Set false to create paused
meta_ads_enabled boolean No Enable Meta ads collection (default: false)
exclude_keywords string[] No Keywords to exclude
exclude_keywords_strict boolean No Also check transcripts for exclusions (default: false)

List Comet Configs

GET /v1/comet

Add ?include_inactive=true to include deactivated configs.

Get / Update / Delete Comet Config

GET /v1/comet/:id
PUT /v1/comet/:id       # Full replacement — all required fields must be provided
DELETE /v1/comet/:id     # Soft-delete, returns 204

Get Comet Videos

GET /v1/comet/:id/videos

Standard pagination plus min_views, platforms, start_date, end_date, order_by, sort.

Get Comet Ads

GET /v1/comet/:id/ads

Requires meta_ads_enabled: true. Standard pagination plus order_by (created_at, page_like_count), sort.

Get Creator Outliers

GET /v1/comet/:id/creators/outliers

Standard pagination.


Error Handling

Code Name Description
200 OK Request processed successfully
201 Created Resource created
202 Accepted Async job queued (e.g., Orbit search)
204 No Content Successful deletion
400 Bad Request Invalid request parameters
401 Unauthorized Missing or invalid API key
403 Forbidden Insufficient permissions
404 Not Found Resource not found
422 Unprocessable Entity Valid syntax but cannot process
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error

Error response format:

{
  "error": {
    "type": "validation_error",
    "message": "keywords is required",
    "param": "keywords"
  }
}

Rate Limits

  • Max limit per request: 100 items
  • Max total accessible results: 1,000 items per query
  • On 429, back off and retry after the retry_after value (in seconds)