← Back to Skills Marketplace
patches429

Giggle Generation Drama

by Parker · GitHub ↗ · v0.0.10 · MIT-0
cross-platform ✓ Security Clean
260
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install giggle-generation-drama
Description
Use when the user wants to generate video, shoot short films, or view available video styles. Triggers: short film, make video, shoot short, AI video, genera...
README (SKILL.md)

简体中文 | English

⚠️ Review Before Installing

Please review before installing. This skill will:

  1. Network – Calls Giggle.pro API for video generation

Requirements: python3, GIGGLE_API_KEY (system environment variable), pip packages: requests

No Retry on Error: If script execution encounters an error, do not retry. Report the error to the user directly and stop.


Required Setup Before First Use

Before performing any operation, confirm the user has configured the API Key to avoid workflow failure due to auth errors.

  • API Key: Log in to Giggle.pro and obtain the API Key from account settings.
  • Configuration: Set system environment variable GIGGLE_API_KEY
    • export GIGGLE_API_KEY=your_api_key

Verification steps:

  1. Confirm the user has configured GIGGLE_API_KEY in system environment.
  2. If not configured, guide the user:

    Hello! Before using the video generation feature, you need to configure the API Key. Please go to Giggle.pro to get your API Key, then run export GIGGLE_API_KEY=your_api_key in the terminal.

  3. Wait for the user to configure before continuing the workflow.

Generation Modes

Supports three modes. Ask the user to select a mode before starting the workflow. If not specified, default to Episodes mode (director).

Mode project_type Description
Episodes director AI-directed short drama with storyboards and shot language
Narration narration Narration-focused video
Short Film short-film Story and visuals balanced; cinematic short film

Main Workflow: execute_workflow

Use execute_workflow to run the full workflow: submit + poll + auto-pay (if needed) + wait for completion. Call once and wait for return.

  1. Submit task
  2. Poll progress every 3 seconds
  3. Detect pending payment and auto-pay (if needed)
  4. Wait for completion (max 1 hour)
  5. Return video download link or error

Function Signature

execute_workflow(
    diy_story: str,                           # Story/script content (required)
    aspect: str,                              # Aspect ratio: 16:9 or 9:16 (required)
    project_name: str,                        # Project name (required)
    video_duration: str = "auto",             # Duration, default "auto" (optional)
    style_id: Optional[int] = None,          # Style ID (optional)
    project_type: str = "director",           # Mode, default "director" (optional)
    character_info: Optional[List[Dict]] = None  # Character images (optional)
)

Parameter Description

Parameter Required Description
diy_story yes Story or script content
aspect yes Aspect ratio: 16:9 or 9:16
project_name yes Project name
video_duration no auto, 30, 60, 120, 180, 240, 300; default "auto"
style_id no Style ID; omit if not specified
project_type no director / narration / short-film; default "director"
character_info no Character image list: [{"name": "Character name", "url": "Image URL"}, ...]

Usage Flow

  1. Introduce and select generation mode (required): Before generating, must introduce the three modes and let the user choose. Display:

    We support three video generation modes. Please choose:

    Episodes (director): AI director handles storyboards and shot language. Good for short drama with dialogue and plot.

    Narration (narration): Narration-focused with visuals. Good for knowledge sharing, news commentary, product introductions.

    Short Film (short-film): Story and visuals balanced; cinematic shots and pacing. Good for emotional shorts, creative stories, artistic expression.

    Wait for explicit user choice before continuing. If not specified, default to Episodes.

  2. If the user wants to pick a style: Call get_styles() for the style list; show ID, name, category, description; wait for choice before continuing.

  3. If the user provides character image URLs: Build character_info array with name and url per character.

  4. Run workflow:

    • Call execute_workflow() with story, aspect ratio, project name.
    • Set project_type per chosen mode; pass video_duration if specified (else "auto"); pass style_id if chosen; pass character_info if provided.
    • Call once and wait — the function handles create, submit, poll, pay, and completion; returns download link or error.

Examples

View style list:

api = TrusteeModeAPI()
styles_result = api.get_styles()
# Display style list to user

Basic workflow (no duration, no style):

api = TrusteeModeAPI()
result = api.execute_workflow(
    diy_story="An adventure story...",
    aspect="16:9",
    project_name="My Video Project"
)
# result contains download URL or error

Specify duration, no style:

result = api.execute_workflow(
    diy_story="An adventure story...",
    aspect="16:9",
    project_name="My Video Project",
    video_duration="60"
)

Specify duration and style:

result = api.execute_workflow(
    diy_story="An adventure story...",
    aspect="16:9",
    project_name="My Video Project",
    video_duration="60",
    style_id=142
)

Narration mode:

result = api.execute_workflow(
    diy_story="Today we'll talk about AI development...",
    aspect="16:9",
    project_name="Narration Video",
    project_type="narration"
)

Short film mode:

result = api.execute_workflow(
    diy_story="Sunset. An old fisherman rows home alone. The sea glows red...",
    aspect="16:9",
    project_name="Short Film",
    project_type="short-film"
)

With character images (when user provides character image URLs):

result = api.execute_workflow(
    diy_story="Xiao Ming and Xiao Hong meet in the park, they smile at each other...",
    aspect="16:9",
    project_name="Custom Character Video",
    character_info=[
        {"name": "Xiao Ming", "url": "https://xxx/xiaoming.jpg"},
        {"name": "Xiao Hong", "url": "https://xxx/xiaohong.jpg"}
    ]
)

Return Value

The function blocks until the task completes (success or failure) or times out (1 hour). Wait for it to return.

Success (includes download link):

{
    "code": 200,
    "msg": "success",
    "uuid": "...",
    "data": {
        "project_id": "...",
        "video_asset": {...},
        "status": "completed"
    }
}

Return the full signed URL to the user (data.video_asset.download_url), e.g.:

https://assets.giggle.pro/private/ai_director/348e4956c7bd4f763b/qzjc7gwkpf.mp4?Policy=...&Key-Pair-Id=...&Signature=...&response-content-disposition=attachment

Do not return unsigned URLs without query params, e.g.:

https://assets.giggle.pro/private/ai_director/348e4956c7bd4f763b/qzjc7gwkpf.mp4

Failure:

{
    "code": -1,
    "msg": "Error message",
    "data": null
}
Usage Guidance
This skill appears to be a legitimate client for Giggle.pro, but before installing: 1) Ensure you trust Giggle.pro and understand your API key's permissions (billing) because the workflow can auto-pay on your account. 2) Be aware that any story text and character image URLs you provide will be sent to the remote service (privacy/PII risk). 3) If you want to be cautious, create a limited/billing-controlled API key or test with a throwaway account and small jobs first. 4) Review the included scripts/trustee_api.py (readable) if you want to confirm there are no extra endpoints or unexpected behavior. 5) Confirm you are comfortable with the agent waiting up to 1 hour for job completion and that you want automatic payment behavior.
Capability Analysis
Type: OpenClaw Skill Name: giggle-generation-drama Version: 0.0.10 The skill is a legitimate integration for the Giggle.pro video generation service. The core logic in `scripts/trustee_api.py` uses a user-provided API key to interact with the service's REST API for creating projects and generating videos. While the script includes an 'auto-pay' feature that spends service credits, this behavior is clearly documented in `SKILL.md` as part of the 'Trustee Mode' workflow and is accompanied by safety instructions for the AI agent to stop execution and avoid retries upon encountering errors, preventing accidental overspending.
Capability Assessment
Purpose & Capability
The name/description (video/short-film generation) matches the code and runtime requirements: python3, requests, and a GIGGLE_API_KEY. The API endpoints are all under giggle.pro and the primary credential is GIGGLE_API_KEY — this is proportionate to the stated purpose.
Instruction Scope
SKILL.md instructs the agent to create/submit projects, poll progress, and perform auto-pay if needed; it requires the agent to wait up to 1 hour for completion. The only environment access the instructions require is GIGGLE_API_KEY (declared). Note: the workflow will send user-provided story text and any character image URLs to the remote Giggle API and may trigger on-account payments automatically.
Install Mechanism
No install spec is provided (instruction-only plus a small Python script). This is low risk: nothing is downloaded from arbitrary URLs and the only pip dependency is requests (declared in requirements.txt).
Credentials
Only GIGGLE_API_KEY is required and is the primary credential; that matches the service. There are no unrelated secrets or config paths requested. However, the API key likely carries billing privileges, so it can be used to incur charges via the provider's API (the skill's workflow includes auto-pay).
Persistence & Privilege
The skill is not force-included (always:false) and does not request system-wide persistence. It can be invoked autonomously (platform default) — combined with auto-pay behavior this is something to be aware of, but autonomy alone is expected.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install giggle-generation-drama
  3. After installation, invoke the skill by name or use /giggle-generation-drama
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.0.10
**0.0.10 Summary: Adds English docs, pip dependencies, and updated setup instructions.** - Added English documentation (`SKILL.md`) with complete usage instructions alongside the new Chinese doc (`SKILL.zh-CN.md`). - Explicitly documents required Python `requests` package and pip dependency in metadata. - Updated setup guide to use environment variables instead of `.env` file. - Clarifies networking/API requirements and error handling (do not retry on error). - Refines usage flow and parameter descriptions for better clarity in English.
v0.0.1
Initial release of giggle-generation-drama. - Supports one-stop AI video generation based on user story/script, with three modes: director, narration, and short-film. - Provides clear setup instructions for configuring the required GIGGLE_API_KEY. - Guides users to select video mode and style, with examples and parameter explanations. - Supports optional character images, customizable video duration, and style choice. - Returns downloadable signed video link upon completion or provides error details if failed.
Metadata
Slug giggle-generation-drama
Version 0.0.10
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Giggle Generation Drama?

Use when the user wants to generate video, shoot short films, or view available video styles. Triggers: short film, make video, shoot short, AI video, genera... It is an AI Agent Skill for Claude Code / OpenClaw, with 260 downloads so far.

How do I install Giggle Generation Drama?

Run "/install giggle-generation-drama" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Giggle Generation Drama free?

Yes, Giggle Generation Drama is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Giggle Generation Drama support?

Giggle Generation Drama is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Giggle Generation Drama?

It is built and maintained by Parker (@patches429); the current version is v0.0.10.

💬 Comments