Skill flagged — suspicious patterns detected

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

Novita AI Multimodal

v0.2.0

Execute multimodal tasks using Novita AI: text-to-image, image-to-image, text-to-video, image-to-video, TTS, STT. Use for: generating images, generating vide...

1· 246·1 current·1 all-time
bybbear@ximasadila

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for ximasadila/novita-multimodal.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Novita AI Multimodal" (ximasadila/novita-multimodal) from ClawHub.
Skill page: https://clawhub.ai/ximasadila/novita-multimodal
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

Canonical install target

openclaw skills install ximasadila/novita-multimodal

ClawHub CLI

Package manager switcher

npx clawhub@latest install novita-multimodal
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The skill claims no required env vars/config paths/primary credential in registry metadata, yet the SKILL.md clearly expects an API key (via ~/.novita/config.json, NOVITA_API_KEY, or in-message 'sk_' token). The need for an API key is reasonable for a multimodal API integration, but the metadata omission is an inconsistency that could mislead users about what secrets the skill uses.
!
Instruction Scope
Runtime instructions explicitly direct the agent to: parse user messages for API keys (tokens starting with 'sk_'), read ~/.novita/config.json, or read NOVITA_API_KEY. Asking the agent to extract API keys from free-form user messages grants broad discretion and increases risk of accidental key exposure. Aside from that, the API endpoints and curl examples stay within the stated multimodal purpose.
Install Mechanism
Instruction-only skill with no install spec and no code files; nothing is written to disk by an installer. This is the lowest-risk install mechanism.
!
Credentials
The skill legitimately requires a single Novita API key to call external endpoints, which is proportional. However the registry declares no primary credential or required env/config path while the SKILL.md requires ~/.novita/config.json or NOVITA_API_KEY or an in-message key—this metadata mismatch is problematic and reduces transparency. Also the SKILL.md uses $API_KEY in examples while recommending NOVITA_API_KEY in setup, which is ambiguous.
Persistence & Privilege
The skill does not request always: true and does not declare system-wide modifications. It can be invoked autonomously (platform default), which is normal; no elevated persistence or cross-skill config changes are requested.
What to consider before installing
This skill appears to be a straightforward Novita AI integration, but the registry metadata omits the fact that it needs an API key. Before installing or using it: (1) do not paste your private API keys into chat messages—prefer setting NOVITA_API_KEY in your environment or creating the ~/.novita/config.json file; (2) verify you trust the skill source (homepage/source unknown) because the skill will send your API key to https://api.novita.ai to generate media; (3) be aware the SKILL.md asks the agent to look for keys inside user messages (tokens starting with 'sk_')—avoid sending keys in free text to prevent accidental leakage; and (4) expect minor ambiguity in variable names ($API_KEY vs NOVITA_API_KEY/~/.novita/config.json) — ensure the agent or your environment maps them correctly. If you need higher assurance, ask the author to update the registry metadata to declare the required credential and clarify the env/config variable names.

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

latestvk97ebkfvdrebyr9vqsz0251e3n82v4xf
246downloads
1stars
1versions
Updated 13h ago
v0.2.0
MIT-0

Novita AI Multimodal Execution

Configuration (choose one, by priority)

Method 1: Config File (Recommended)

Create file ~/.novita/config.json:

{
  "api_key": "YOUR_API_KEY"
}

One command setup:

mkdir -p ~/.novita && echo '{"api_key": "YOUR_API_KEY"}' > ~/.novita/config.json

Method 2: Environment Variable

export NOVITA_API_KEY="YOUR_API_KEY"

Method 3: Direct Parameter

Include in request: Please use API Key sk_xxx to generate an image...


API Key Reading Logic

1. Check if user message contains API Key (starts with sk_)
2. Check config file ~/.novita/config.json
3. Check environment variable NOVITA_API_KEY
4. None found → Return configuration guide

Configuration guide (only shown when not configured):

You have not configured your Novita AI API Key.

Quick setup (copy and run):
mkdir -p ~/.novita && echo '{"api_key": "YOUR_KEY"}' > ~/.novita/config.json

Get Key: https://novita.ai/settings/key-management

Execution Flow (Important!)

User request → Identify task → Get Key → ⚠️ Send prompt first → Execute task → Return result

⚠️ Must Send Progress Prompt First

Before calling the API, you must reply to the user with a message:

🎨 Got it! Generating your image...

Task type: Text-to-Image
Model: Seedream 5.0 Lite
Estimated time: 5-15 seconds
Estimated cost: ~$0.035

Please wait, will send as soon as it's ready ⏳

This message must be sent BEFORE executing the API call! This way users know the task is being processed and won't think the system is stuck.

Progress Templates for Different Tasks

Text-to-Image:

🎨 Got it! Generating your image...
Model: Seedream 5.0 Lite
Estimated time: 5-15 seconds

Text-to-Video:

🎬 Got it! Generating your video...
Model: Vidu Q3 Pro
Estimated time: 1-3 minutes (video generation is slower, please be patient)

TTS:

🔊 Got it! Generating your audio...
Model: MiniMax Speech 2.8 Turbo
Estimated time: 5-15 seconds

Completion Response

✅ Generation complete!

[Image/Video/Audio URL]

Actual cost: $0.035

Video Task Polling Updates

Video generation requires polling, update status every 15 seconds:

🎬 Video generating...
Current status: Processing
Elapsed: 30 seconds
Estimated remaining: 1-2 minutes

API Configuration

SettingValue
Base URLhttps://api.novita.ai
AuthAuthorization: Bearer <API_KEY>
Get Keyhttps://novita.ai/settings/key-management

Task Types and Endpoints

TaskEndpointModel
Text-to-Image/v3/seedream-5.0-liteSeedream 5.0 Lite
Image Editing/v3/seedream-5.0-liteSeedream 5.0 Lite
Text-to-Video/v3/async/vidu-q3-pro-t2vVidu Q3 Pro
Image-to-Video/v3/async/vidu-q3-pro-i2vVidu Q3 Pro
TTS/v3/async/minimax-speech-2.8-turboMiniMax Speech 2.8
STT/v3/glm-asrGLM ASR
Task Query/v3/async/task-result?task_id=xxx-

Execution Templates

Text-to-Image

curl -X POST "https://api.novita.ai/v3/seedream-5.0-lite" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "description"}'

Image Editing

curl -X POST "https://api.novita.ai/v3/seedream-5.0-lite" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "edit instruction", "reference_images": ["image_url"]}'

Text-to-Video

curl -X POST "https://api.novita.ai/v3/async/vidu-q3-pro-t2v" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "description", "duration": 4}'

Image-to-Video

curl -X POST "https://api.novita.ai/v3/async/vidu-q3-pro-i2v" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "motion description", "images": ["image_url"]}'

TTS

curl -X POST "https://api.novita.ai/v3/async/minimax-speech-2.8-turbo" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "text to convert",
    "voice_setting": {"voice_id": "male-qn-qingse", "speed": 1.0},
    "audio_setting": {"format": "mp3"}
  }'

Available voices:

  • Male: male-qn-qingse, male-qn-jingying
  • Female: female-shaonv, female-yujie

STT

curl -X POST "https://api.novita.ai/v3/glm-asr" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"file": "audio_url_or_base64"}'

Task Result Query

curl "https://api.novita.ai/v3/async/task-result?task_id=$TASK_ID" \
  -H "Authorization: Bearer $API_KEY"

Status: TASK_STATUS_QUEUEDTASK_STATUS_PROCESSINGTASK_STATUS_SUCCEED


Error Handling

CodeMeaningAction
401Invalid KeyCheck configuration
402Insufficient balanceTop up at https://novita.ai/billing
429Rate limitedWait and retry

Pricing

https://novita.ai/pricing

Comments

Loading comments...