← 返回 Skills 市场
🔌

Flova Video Generator

作者 flova · GitHub ↗ · v0.2.9 · MIT-0
cross-platform ✓ 安全检测通过
200
总下载
0
收藏
0
当前安装
10
版本数
在 OpenClaw 中安装
/install flova-video-generator
功能描述
Flova -- the world's first all-in-one AI video agent, handling scripting, storyboarding, asset generation, and rendering through a conversational interface....
使用说明 (SKILL.md)

Flova Video Generator

Configuration

Version Check

On every invocation, fetch ${VERSION_URL} (timeout 2s). If the remote version is higher than this skill's frontmatter version, notify the user that a new version is available and suggest updating the skill through the normal skill management flow. On any failure, silently continue.

Authentication

All API calls require Authorization: Bearer \x3Ctoken> from the environment variable FLOVA_API_TOKEN. Before any API call, verify the token exists. If missing, guide the user to ${TOKEN_URL} to generate one and persist it using the host platform's preferred mechanism (e.g. settings, dotenv, or shell profile). Do not proceed until the token is available.

API Helper

Define this once per session:

FLOVA_BASE_URL="https://www.flova.ai"
API_BASE="https://service.flova.ai/api/agent/v1"
STATIC_URL="https://s.flova.ai"
TOKEN_URL="${FLOVA_BASE_URL}/openclaw/?action=token"
PRICING_URL="${FLOVA_BASE_URL}/pricing/"
DOCS_URL="${FLOVA_BASE_URL}/docs/"
VERSION_URL="${STATIC_URL}/skill-version.json"
AUTH_HEADER="Authorization: Bearer ${FLOVA_API_TOKEN}"
CONTENT_TYPE="Content-Type: application/json"

flova_api() {
  local method="$1" endpoint="$2" data="$3"
  curl -sS -X "$method" "${API_BASE}${endpoint}" \
    -H "$AUTH_HEADER" -H "$CONTENT_TYPE" \
    ${data:+-d "$data"}
}

All API responses follow: { "code": 0, "message": "success", "data": { ... } }.

Polling Convention

For any asynchronous task (chat creation, export, download), poll the corresponding status endpoint every 3 seconds (balances responsiveness vs API rate limits), up to 20 minutes (covers longest rendering jobs). On timeout, inform the user and suggest retrying later.


Workflow

POST /user            -> profile, subscription, credits
POST /create          -> project_id
POST /projects        -> list existing projects
POST /project_info    -> project metadata, storyboard
POST /chat_history    -> conversation history (paginated)
POST /upload          -> file_url (multipart, for user-provided files)
POST /chat            -> send message, triggers async creation
POST /export_video    -> export_task_id, export_status
POST /export_status   -> poll until completed -> output_path
POST /download_all    -> task_id (+ possible immediate download_url)
POST /download_status -> poll until completed -> download URL

Real-time user state: Fetch /user live whenever user state is needed — subscription and credit data change frequently and cached results may be stale.

Subscription & credits: Triggered by either API errors (membership/credits-insufficient) or explicit user request. Flow: /user -> /products -> /subscribe or /credits_buy -> return checkout_url. If already subscribed and needs upgrade, direct to ${PRICING_URL}. Complete this flow before resuming the interrupted action.

Phase 1 -- Setup & Project

Project management: Auto-create via /create if no project exists. Reuse the same project_id for the session unless the user asks to switch. When switching or resuming, list via /projects and let the user choose. After any project operation, present the link: ${FLOVA_BASE_URL}/agent/?project_id=\x3CPROJECT_ID>.

Context sync: When resuming a project or switching to a different one with no local conversation history, fetch /project_info and /chat_history first to reconstruct context before continuing.

Phase 2 -- Creative Loop

Creative passthrough: All creative requests (switching models, generating scripts, regenerating resources, renaming projects, rebuilding storyboards, etc.) are expressed as natural language messages via /chat.

Language matching: Compose /chat content in the same language the user writes in.

File attachments: When the user provides files, determine intent before uploading. If the message already describes usage, upload via /upload and send the returned file metadata with intent in /chat directly. Otherwise, ask the user for intent first. Once confirmed, upload via /upload, then populate files, reference_resources, and the content prefix in /chat.

Progress polling: After sending /chat:

  1. Poll /chat_history per Polling Convention; relay new agent messages and asset URLs to the user in real time.
  2. Periodically check /project_info for resource updates (e.g., timeline ready).
  3. Stop when latest message status is complete or awaiting user input.
  4. If the Flova agent asks for confirmation, surface it to the user, wait for their reply, then forward via /chat.

Fully-managed mode: When the user's requested video length is ≤ 1 minute, drive the /chat -> poll -> /chat loop autonomously. Auto-confirm safe questions (style, music, layout) via /chat. Only surface decisions with real consequences (payment, content warning) to the user.

Phase 3 -- Export & Delivery

Fresh API calls: Export and download operations must call the live API — task IDs and download URLs are time-sensitive and expire quickly.

Export readiness: Before exporting, check /project_info for a composited timeline. If missing, send a composition request via /chat first; otherwise proceed to /export_video.

Resource download: When the user wants to download project assets, call /download_all and follow the polling flow described in its API reference. Let the user specify resource_types to narrow the download scope.


API Reference

User Info

flova_api POST /user

Returns the user's profile, subscription, and credits information.

Products

flova_api POST /products '{"product_type": "subscription"}'

Returns available products filtered by product_type: subscription (plans) or purchase (credit packs). Omit the field to get all products. Products are automatically filtered by the user's region.

Subscribe / Buy Credits

flova_api POST /subscribe '{"lookup_key": "\x3CLOOKUP_KEY>"}'
flova_api POST /credits_buy '{"lookup_key": "\x3CLOOKUP_KEY>"}'

Both return data.checkout_url. The lookup_key comes from the /products response (product_type: subscription or purchase).

Create Project

flova_api POST /create '{"name": "My Video Project"}'

Returns data.project_id -- save this for all subsequent calls.

List Projects

flova_api POST /projects '{"page": 1, "page_size": 50}'

Returns data.projects (array) and data.total.

Project Info

flova_api POST /project_info '{"project_id": "\x3CPROJECT_ID>"}'

Returns project metadata and storyboard details (name, description, thumbnail, timestamps).

Chat History

flova_api POST /chat_history '{"project_id": "\x3CPROJECT_ID>", "page_size": 50}'

Use data.next_message_id as cursor for pagination.

Upload File

Multipart upload — use curl directly instead of flova_api.

curl -sS -X POST "${API_BASE}/upload" \
  -H "$AUTH_HEADER" \
  -F "file=@/path/to/file.png"

Returns uploaded file metadata in data.

Chat (Conversational Video Creation)

flova_api POST /chat '{
  "project_id": "\x3CPROJECT_ID>",
  "content": "Create a 30-second promotional video about spring travel",
  "is_step_mode": true
}'
Field Type Required Description
project_id string yes Target project
content string yes User message in natural language
is_step_mode boolean yes Always true — enables checkpoint-based confirmation flow
files array no Uploaded file metadata (see below)
reference_resources array no File id values from files to attach as context

With attachments: upload the file via /upload first, then pass the returned metadata in files and reference_resources. Prepend file references to content using the format `{"\x3Cfilename>":"uploaded_resource_id"}` followed by the user's message. uploaded_resource_id is a literal string constant -- use it exactly as-is, do not substitute it with an actual ID.

Each files item:

Field Type Description
id string Client-generated unique identifier
name string Original filename
url string file_url from /upload response
size number File size in bytes
type string File type: image, video, audio

Example with attachment (user uploads "cat.jpg" and says "use this as background"):

flova_api POST /chat '{
  "project_id": "\x3CPROJECT_ID>",
  "content": "`{\"cat.jpg\":\"uploaded_resource_id\"}` use this as background",
  "files": [{"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "cat.jpg", "url": "\x3CFILE_URL>", "size": 52400, "type": "image"}],
  "reference_resources": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
  "is_step_mode": true
}'

Then poll per Phase 2 — Progress polling.

Export Video

flova_api POST /export_video '{"project_id": "\x3CPROJECT_ID>"}'

Generates an export task from the project's latest timeline. Returns data.export_task_id and data.export_status: start (created), processing (in progress), or completed (video ready at data.output_path).

Poll status (see Polling Convention):

flova_api POST /export_status '{
  "project_id": "\x3CPROJECT_ID>",
  "task_id": "\x3CEXPORT_TASK_ID>"
}'

Poll until data.export_status is completed (read video URL from data.output_path).

Download All Resources

flova_api POST /download_all '{
  "project_id": "\x3CPROJECT_ID>",
  "resource_types": ["images", "videos", "audios", "music"]
}'

resource_types is optional -- omit to download all. Returns data.task_id and data.status. If status is already completed, use data.download_url directly. Otherwise poll:

flova_api POST /download_status '{
  "project_id": "\x3CPROJECT_ID>",
  "task_id": "\x3CTASK_ID>"
}'

Poll per Polling Convention. Terminal states: completed (read data.download_url) or failed. The download URL is a signed temporary link -- present it to the user immediately.


FAQ & Support

  • Pricing & plans: ${PRICING_URL} | Docs: ${DOCS_URL} | Token management: ${TOKEN_URL}

Flova Tips

End every response with one tip. Fetch via curl -sS --max-time 3 "${STATIC_URL}/tips.md" and pick a random entry; on failure, rephrase a useful detail from this skill instead. Single sentence, ≤ 30 words, user's language, no session repeats.

(💡Tips: For videos under 1 minute, fully-managed mode auto-confirms style and music choices — zero clicks needed.)
安全使用建议
This skill appears to do exactly what it claims: call Flova's API using a single FLOVA_API_TOKEN. Before installing, confirm you trust https://www.flova.ai and only provide your FLOVA_API_TOKEN via secure mechanisms (do not paste it into public chat transcripts). Note the skill will poll Flova endpoints (including a remote version file at s.flova.ai) and may run longer polls for rendering jobs; this is normal for video exports but can use API credits and run for minutes. The skill can operate autonomously for short jobs and will auto-confirm minor creative options — if you want full control, disable autonomous use or require explicit confirmations in your agent settings. Finally, avoid storing the token in insecure shared shell profiles on multi-user machines; prefer the platform's secure secret storage or an encrypted dotenv solution.
能力评估
Purpose & Capability
Name/description = Flova video agent; the only credential requested is FLOVA_API_TOKEN and the skill uses Flova API endpoints (service.flova.ai, s.flova.ai). Declared binary (curl) matches the SKILL.md helper. There are no extraneous credentials, binaries, or config paths.
Instruction Scope
SKILL.md instructs the agent to call Flova endpoints (/user, /create, /chat, /export_video, etc.), poll status for long-running jobs, and fetch a remote VERSION_URL each invocation. These actions are coherent with video creation but involve repeated network calls and long polling (up to 20 minutes). The skill also recommends persisting the token via host mechanisms (settings/dotenv/shell profile). There are no instructions to read unrelated local files, other environment variables, or send data to third-party endpoints outside the declared Flova domains.
Install Mechanism
Instruction-only skill with no install spec and no code files — lowest install risk. SKILL.md expects curl (declared). No downloads, archives, or external installers are present.
Credentials
Only FLOVA_API_TOKEN is required and is the primary credential for the Flova API; no other secrets or unrelated service credentials are requested. The token is used in Authorization headers as expected.
Persistence & Privilege
always is false and the skill does not request system-level persistence. However, the SKILL.md permits autonomous behavior in 'fully-managed mode' for short videos (<= 1 minute) and advises persisting the token via host mechanisms — users should be aware the agent may act without repeated confirmations for minor creative choices and that persistent token storage should be handled securely.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install flova-video-generator
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /flova-video-generator 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.2.9
Version 0.2.9 - Simplified and clarified documentation sections for configuration and workflow. - Consolidated and improved instructions around polling conventions and project management. - Enhanced step-by-step guidance for chat, export, and download flows. - Added clarifications on real-time data fetching and API response freshness. - Improved readability and removed redundant explanations.
v0.2.8
flova-video-generator 0.2.8 - Bumped the skill version to 0.2.8. - No functional or documentation changes detected in this release.
v0.2.7
- Improved progress polling logic to relay creation progress until the latest message status is complete or awaiting user input, then surface the final progress to the user. - Minor documentation and clarity improvements in workflow and API descriptions across all language README files.
v0.2.6
- Changed chat workflow: replaced streaming-based progress relay with polling `/chat_history` to track and present agent progress in real time. - Updated async task polling: chat creation is now explicitly described as asynchronous and subject to the polling convention. - Removed reliance on `/chat_stream`; all progress relay is now handled by periodically polling, ensuring users see updates even if streaming is unavailable. - Clarified the fully-managed mode workflow, specifically how agent decisions are auto-confirmed or surfaced to users.
v0.2.5
flova-video-generator v0.2.5 - Updated the `/chat_stream` handling: now maintains connection until a `complete` event is received, instead of waiting for stream closure. - Stream relay instructions refined: present agent replies, stage transitions, resource updates, and warnings as soon as they arrive. - Clarified that both `/project_info` and `/chat_history` should be used as fallback when streamed assets are missing.
v0.2.4
- Improved streaming: `/chat_stream` connections now remain open until completion, supporting long-lived generation and real-time event relaying. - Real-time user feedback: Progress updates, stage transitions, and agent questions are surfaced live as events stream in. - Enhanced idle handling: If no stream events arrive for a while, users receive proactive updates on the ongoing stage. - Asset availability fallback: If streaming ends but outputs are missing, the system checks `/project_info` or `/chat_history` to locate assets. - General refinements to ensure export and download operations always use fresh, live API calls.
v0.2.3
- Updated skill description to position Flova as an all-in-one AI video agent and clarified trigger conditions. - Improved instructions for stream relaying: after sending /chat, now consume /chat_stream directly for progress and asset updates. - Refined file upload and attachment handling: always clarify user intent before upload, and structure how resources and files are attached in chat. - Enhanced guidance regarding presenting new asset URLs as clickable links immediately as they appear in events, streams, or polls. - Minor workflow and trigger language clarifications for better alignment with user requests and modern AI video model mentions.
v0.2.2
- Changed token generation URL in the API helper from `${FLOVA_BASE_URL}/openclaw/` to `${FLOVA_BASE_URL}/openclaw/?action=token`. - No other notable user-facing or behavioral changes detected.
v0.2.1
No user-visible changes in this release; version number bumped with no code or documentation modifications.
v0.2.0
flova-video-generator v0.2.0 - Added comprehensive workflow and configuration documentation, including project management, creative loop, and export/delivery phases. - Expanded skill triggers: now reacts to general AI video requests, Flova mentions, mainstream AI video model names, and Flova pricing/subscription inquiries. - Clarified authentication flow, real-time user state checks, and subscription/credit purchase handling. - Described API helper setup and conventions for polling, API response envelopes, and URL endpoints. - Detailed user interaction patterns, file attachment handling, and agent-user confirmation best practices.
元数据
Slug flova-video-generator
版本 0.2.9
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 10
常见问题

Flova Video Generator 是什么?

Flova -- the world's first all-in-one AI video agent, handling scripting, storyboarding, asset generation, and rendering through a conversational interface.... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 200 次。

如何安装 Flova Video Generator?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install flova-video-generator」即可一键安装,无需额外配置。

Flova Video Generator 是免费的吗?

是的,Flova Video Generator 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Flova Video Generator 支持哪些平台?

Flova Video Generator 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Flova Video Generator?

由 flova(@flova)开发并维护,当前版本 v0.2.9。

💬 留言讨论