Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Hooked

v1.0.0

Create AI-powered videos via the Hooked Video API. Script-to-video, prompt-to-video, UGC ads, TikTok slideshows, avatar selection, voice cloning, and trend d...

0· 106·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for ycfra/hooked.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Hooked" (ycfra/hooked) from ClawHub.
Skill page: https://clawhub.ai/ycfra/hooked
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install hooked

ClawHub CLI

Package manager switcher

npx clawhub@latest install hooked
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
Name/description match the SKILL.md and README: this is a Hooked video API integration. However the registry metadata claims no required environment variables or primary credential while the SKILL.md and README explicitly instruct the user to set HOOKED_API_KEY and use an x-api-key header. The package.json/README list homepages and repo URLs (hooked.so, GitHub) but the skill metadata shows source/homepage as unknown/none — an inconsistency that warrants verification of the publisher before installing.
!
Instruction Scope
SKILL.md gives concrete HTTP endpoints and workflow instructions (create videos, list avatars/voices, check status). It also describes optional webhooks (agent will POST video.completed including downloadUrl) and a productUrl parameter that the service may 'extract visuals' from. These behaviors are reasonable for a video API but introduce data-exfiltration risk if webhooks point to untrusted endpoints or if you pass sensitive/private URLs as productUrl. The instructions also require an environment variable (HOOKED_API_KEY) not declared in the registry manifest — the runtime agent will need that secret to operate.
Install Mechanism
There is no install spec in the registry (instruction-only), which is low-risk. README suggests npx/clawhub install methods and package.json exists, but no code files are included in the package provided. This mismatch (packaging metadata present but no install artifact in the registry entry) is a packaging/metadata inconsistency to check, but not directly malicious.
!
Credentials
SKILL.md requires HOOKED_API_KEY (x-api-key header) yet the registry metadata lists no required env vars or primary credential. Asking for a single API key for the external service is proportionate for this purpose, but the failure to declare it in the registry is a red flag (transparency/least-privilege lapse). Additionally, the use of webhooks and productUrl implies the skill will transmit or cause the service to fetch externally-hosted content — ensure you won't expose private URLs or data.
Persistence & Privilege
The skill is not always-enabled and uses default agent invocation settings. It does not request elevated or persistent platform privileges in the registry metadata, and there is no install script in the registry entry that would modify other skills or global config.
What to consider before installing
Before installing: verify the skill's publisher and source (confirm hooked.so and the GitHub repo listed in package.json actually host this skill). Expect to need an API key (HOOKED_API_KEY) — store it securely and do not paste it into chat. Only provide webhook URLs you control (they will receive download URLs and event payloads). Avoid passing private/internal URLs as productUrl because the service may fetch or include their content. Because the registry metadata omits the declared API key, treat this as a transparency/packaging issue: prefer skills whose manifest explicitly lists required secrets. If you decide to install, rotate the API key afterwards and monitor for unexpected activity; if unsure, contact Hooked support or use their official docs to confirm endpoints and behavior.

Like a lobster shell, security has layers — review code before you run it.

latestvk97bsfg5f74mwvj6y6evq1z58983a9yy
106downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

Hooked Video API

Create professional AI videos programmatically. Works with TikTok, Instagram, YouTube, and more.

Authentication

All requests require an x-api-key header with your Hooked API key.

# Get your API key at https://hooked.so/settings/api
export HOOKED_API_KEY="your_api_key_here"

Base URL

https://api.hooked.so

Core Endpoints

Create Script-to-Video

Create a video from a script with an AI avatar that lip-syncs.

POST /v1/project/create/script-to-video

{
  "script": "Hey everyone! Today I'm going to show you...",
  "avatarId": "avatar_sophia_casual",
  "voiceId": "voice_en_sarah",         # optional
  "musicId": "music_upbeat_01",         # optional
  "captionStyle": "karaoke",            # optional: karaoke, word-by-word, none
  "webhook": "https://your.webhook/url" # optional
}

# Response
{
  "videoId": "vid_abc123",
  "status": "processing",
  "estimatedSeconds": 45
}

Create Prompt-to-Video

Let AI generate the script, visuals, and narration from a simple prompt.

POST /v1/project/create/prompt-to-video

{
  "prompt": "Create a 30-second product video for a fitness app targeting young professionals",
  "avatarId": "avatar_marcus_professional", # optional, AI picks if not specified
  "voiceId": "voice_en_james",              # optional
  "webhook": "https://your.webhook/url"     # optional
}

Create TikTok Slideshow

Create viral TikTok-style slideshow content.

POST /v1/project/create/tiktok-slideshow

{
  "title": "5 Productivity Tips for Remote Workers",
  "slides": [
    { "text": "Tip 1: Start your day with deep work", "imageUrl": "https://..." },
    { "text": "Tip 2: Batch your meetings", "imageUrl": "https://..." },
    { "text": "Tip 3: Take walking breaks", "imageUrl": "https://..." }
  ],
  "voiceId": "voice_en_sarah", # optional
  "musicId": "music_chill_01", # optional
  "webhook": "https://..."     # optional
}

Create UGC Ad

Create authentic UGC-style product ads.

POST /v1/project/create/ugc-ads

{
  "script": "Okay so I've been using this app for 2 weeks and...",
  "avatarId": "avatar_emma_casual",
  "productUrl": "https://mystore.com/product", # optional, extracts visuals
  "hook": "Stop scrolling! You need to see this", # optional
  "cta": "Link in bio",                          # optional
  "webhook": "https://..."                        # optional
}

Resource Endpoints

List Avatars

Browse available AI avatars.

GET /v1/avatar/list

# Response
{
  "avatars": [
    {
      "id": "avatar_sophia_casual",
      "name": "Sophia",
      "gender": "female",
      "style": "casual",
      "previewUrl": "https://...",
      "tags": ["young", "energetic", "lifestyle"]
    },
    ...
  ]
}

List Voices

Browse available AI voices.

GET /v1/voice/list

# Response
{
  "voices": [
    {
      "id": "voice_en_sarah",
      "name": "Sarah",
      "language": "en",
      "accent": "american",
      "style": "conversational",
      "previewUrl": "https://..."
    },
    ...
  ]
}

List Music

Browse background music tracks.

GET /v1/music/list

# Response
{
  "tracks": [
    {
      "id": "music_upbeat_01",
      "name": "Upbeat Energy",
      "mood": "energetic",
      "duration": 60,
      "previewUrl": "https://..."
    },
    ...
  ]
}

Video Management

Get Video Status

Check video rendering progress and get download URL.

GET /v1/video/{videoId}

# Response
{
  "videoId": "vid_abc123",
  "status": "completed", # processing, completed, failed
  "progress": 100,
  "downloadUrl": "https://...",
  "duration": 32,
  "createdAt": "2024-01-15T10:30:00Z"
}

List Videos

List recent videos created by your team.

GET /v1/video/list?limit=20

# Response
{
  "videos": [
    {
      "videoId": "vid_abc123",
      "status": "completed",
      "title": "Product Demo",
      "duration": 32,
      "createdAt": "2024-01-15T10:30:00Z"
    },
    ...
  ]
}

Trend Discovery

Get Trending Videos

Discover what's trending for content inspiration.

GET /v1/trends/videos?platform=tiktok&niche=fitness

# Response
{
  "trends": [
    {
      "title": "30-day ab challenge",
      "platform": "tiktok",
      "views": 2300000,
      "engagement": "high",
      "hook": "Day 1 vs Day 30 results...",
      "tags": ["fitness", "transformation", "challenge"]
    },
    ...
  ]
}

Query parameters:

  • platform: tiktok, youtube, instagram (optional)
  • niche: fitness, tech, beauty, food, etc. (optional)

Webhooks

All creation endpoints accept a webhook URL. When the video is ready, we'll POST:

{
  "event": "video.completed",
  "videoId": "vid_abc123",
  "status": "completed",
  "downloadUrl": "https://...",
  "duration": 32
}

Error Handling

{
  "error": {
    "code": "INVALID_AVATAR",
    "message": "Avatar 'avatar_xyz' not found. Use GET /v1/avatar/list to see available avatars."
  }
}

Common error codes:

  • INVALID_API_KEY: Check your x-api-key header
  • INVALID_AVATAR: Avatar ID not found
  • INVALID_VOICE: Voice ID not found
  • SCRIPT_TOO_LONG: Script exceeds maximum length (5000 chars)
  • RATE_LIMITED: Too many requests, wait and retry

Pricing

  • Pro: $39/month — 150 credits (~30 videos)
  • Premium: $79/month — 350 credits (~70 videos)
  • Ultra: $149/month — 750 credits (~150 videos)

The skill itself is free and open source. You only pay for video generation.

Rate Limits

  • 60 requests per minute

Example: Full Workflow

# 1. List avatars to find a good fit
curl -X GET "https://api.hooked.so/v1/avatar/list" \
  -H "x-api-key: $HOOKED_API_KEY"

# 2. Create a video
curl -X POST "https://api.hooked.so/v1/project/create/script-to-video" \
  -H "x-api-key: $HOOKED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "script": "Hey! In this video I am going to show you 3 productivity hacks...",
    "avatarId": "avatar_sophia_casual",
    "captionStyle": "karaoke"
  }'

# 3. Check status (poll until completed)
curl -X GET "https://api.hooked.so/v1/video/vid_abc123" \
  -H "x-api-key: $HOOKED_API_KEY"

# 4. Download when ready
# Use the downloadUrl from the response

Tips for Agents

  1. Always list avatars first if the user doesn't specify one
  2. Use prompt-to-video for vague requests — it handles script generation
  3. Check video status and notify the user when rendering completes
  4. Suggest trending content when the user needs ideas
  5. Use webhooks for autonomous workflows instead of polling

Links

Comments

Loading comments...