Flyworks Avatar Video

Generate videos using Flyworks (a.k.a HiFly) Digital Humans. Create talking photo videos from images, use public avatars with TTS, or clone voices for custom audio.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
6 · 2.5k · 19 current installs · 20 all-time installs
byHui Lin@linhui99
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The code and docs match the stated purpose (public avatars, talking photos, voice cloning). However the skill metadata declares no required environment variables or primary credential while the code and SKILL.md clearly rely on an HIFLY_API_TOKEN (optional but used) — a metadata omission/inconsistency that could mislead automated guards.
!
Instruction Scope
Runtime instructions and the included script will upload arbitrary local files (images, audio) to the remote API and poll remote task status. That is necessary for the feature, but it also means any local file path you pass can be transmitted to the Flyworks service. The tool also writes a local memory.json (saved aliases) in the skill directory. Ensure you don't accidentally upload sensitive files or expose saved identifiers.
Install Mechanism
This is an instruction-only skill with bundled Python code and a small requirements.txt (requests). There is no external download/install URL or extraction of remote archives — low install risk.
!
Credentials
The code reads HIFLY_API_TOKEN from the environment and also contains a hard-coded DEFAULT_TOKEN value. The registry metadata did not declare HIFLY_API_TOKEN as a required credential. Hard-coded demo tokens are present in the code (DEFAULT_TOKEN = "2aeda3bcefac46a3"). While a demo token may be intended, embedding a token in code is a surface for unexpected behavior and should be called out.
Persistence & Privilege
The skill persists aliases/metadata to a local memory.json file in the skill folder. always:false and normal autonomous invocation are used. The skill does not request system-wide config changes or other skills' credentials, so persistence is local and limited, but remember saved alias files could contain identifiers you may wish to remove.
What to consider before installing
Before installing: (1) Understand that the script will upload any local image or audio path you provide to hfw-api.hifly.cc — do not point it at sensitive files. (2) The metadata does not declare HIFLY_API_TOKEN even though the code reads it; the script also contains a hard-coded demo token. Verify you are comfortable with that behavior or replace/remove the embedded token. (3) The skill will write memory.json in its folder containing saved aliases — review or delete that file if you need to protect identifiers. (4) Prefer running the skill in an isolated environment (sandbox or container) and review the included scripts before giving it access to local files. (5) If you plan to use your own API key, obtain it from the official Flyworks site and set HIFLY_API_TOKEN; otherwise the demo token will be used with known demo limitations.

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

Current versionv1.0.0
Download zip
latestvk97ddtakqd29d2zbmc8ecj0zyd80gm5p

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Avatar Video Generation Skill

This skill allows you to generate videos using Flyworks (a.k.a HiFly 飞影数字人) Digital Humans. Available features:

  1. Public Avatar Video: Create video from text or audio using pre-made highly realistic avatars.
  2. Talking Photo: Create a "talking photo" video from a single image and text/audio.
  3. Voice Cloning: Clone a voice from an audio sample to use in TTS.

For detailed documentation, see the references/ folder:

API Token & Limitations

This skill works with a default free-tier token, but it has limitations:

  • Watermark: Generated videos will have a watermark.
  • Duration Limit: Videos are limited to 30 seconds.

To remove limitations:

  1. Register at hifly.cc or flyworks.ai.
  2. Get your API key from User Settings.
  3. Set the environment variable: export HIFLY_API_TOKEN="your_token_here"

Tools

scripts/hifly_client.py

The main entry point for all operations.

Usage

# List available public avatars
python scripts/hifly_client.py list_public_avatars

# List available public voices
python scripts/hifly_client.py list_public_voices

# Create a video with a public avatar (TTS)
python scripts/hifly_client.py create_video --type tts --text "Hello world" --avatar "avatar_id_or_alias" --voice "voice_id_or_alias"

# Create a video with a public avatar (Audio URL or File)
python scripts/hifly_client.py create_video --audio "https://... or path/to/audio.mp3" --avatar "avatar_id_or_alias"

# Create a talked photo video using bundled assets
python scripts/hifly_client.py create_talking_photo --image assets/avatar.png --title "Bundled Avatar"

# Clone a voice using bundled assets
python scripts/hifly_client.py clone_voice --audio assets/voice.MP3 --title "Bundled Voice"

# Check status of generated tasks
python scripts/hifly_client.py check_task --id "TASK_ID"

# Manage local aliases (saved in memory.json)
python scripts/hifly_client.py manage_memory add my_avatar "av_12345"
python scripts/hifly_client.py manage_memory list

Examples

1. Create a simple greeting video

# First find a voice and avatar
python scripts/hifly_client.py list_public_avatars
python scripts/hifly_client.py list_public_voices

# Generate
python scripts/hifly_client.py create_video --type tts --text "Welcome to our service." --avatar "av_public_01" --voice "voice_public_01"

2. Use a custom talking photo

# Create the avatar from an image URL
python scripts/hifly_client.py create_talking_photo --image "https://mysite.com/photo.jpg" --title "CEO Photo"
# Output will give you an Avatar ID, e.g., av_custom_99

# Save it to memory
python scripts/hifly_client.py manage_memory add ceo av_custom_99

# Generate video using the new avatar
python scripts/hifly_client.py create_video --type tts --text "Here is the quarterly report." --avatar ceo --voice "voice_public_01"

Agent Behavior Guidelines

When assisting users with video generation, follow these guidelines:

Voice Selection Required

Video generation requires both text AND a voice. If the user provides text but no voice:

  1. Check local memory first: Run manage_memory list to see if the user has saved any voice aliases.

  2. Ask the user to choose:

    • "I see you want to create a video with the text '[text]'. Which voice would you like to use?"
    • If they have saved voices: "You have these saved voices: [list]. Or would you prefer a public voice?"
    • If no saved voices: "Would you like to use a public voice, or clone your own voice from an audio sample first?"
  3. Help them select:

    • To see public voices: list_public_voices
    • To clone a voice: clone_voice --audio [file] --title [name]

Complete Workflow Example

For a prompt like "Create a talking photo video from my photo saying 'this is my AI twin'":

  1. Ask: "Which voice would you like for your AI twin? You can use a public voice or clone your own."
  2. If they want to clone: Help them with clone_voice
  3. Create the talking photo with both text and voice:
    python scripts/hifly_client.py create_talking_photo \
      --image user_photo.jpg \
      --text "this is my AI twin" \
      --voice SELECTED_VOICE_ID \
      --title "My AI Twin"
    

Saving for Later

After creating avatars or cloning voices, offer to save them:

python scripts/hifly_client.py manage_memory add my_avatar AVATAR_ID --kind avatar
python scripts/hifly_client.py manage_memory add my_voice VOICE_ID --kind voice

Files

8 total
Select a file
Select a file to preview.

Comments

Loading comments…