Skip to content
Agentmart
Submit a tool

giggle-generation-video

Supports text-to-video and image-to-video conversion (start frame/end frame).

Skill by giggle-official

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/giggle-official-giggle-generation-video

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Supports text-to-video and image-to-video conversion (start frame/end frame). Trigger words: text-to-video, image-to-video.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/giggle-generation-video

What's inside

Skill name
giggle-generation-video
Description
Supports text-to-video and image-to-video conversion (start frame/end frame). Trigger words: text-to-video, image-to-video.
License
MIT
Instructions
199 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (3)

  • SKILL.md
  • requirements.txt
  • generation_api.py · scripts/

SKILL.md (first lines)

# Giggle Video Generation

**Source**: [giggle-official/skills](https://github.com/giggle-official/skills) · API: [giggle.pro](https://giggle.pro/)

Generates AI videos via giggle.pro's Generation API. Supports text-to-video and image-to-video. Submit task → **agent proactively polls** with `--query` until done (see **Continuous progress updates**). No Cron, no file writes—all operations via exec.

---

## Installation Requirements

| Requirement | Value |
|-------------|-------|
| **Binary** | `python3` |
| **Environment** | `GIGGLE_API_KEY` (required; see below) |
| **Pip** | `requests` |

**Where to get `GIGGLE_API_KEY`:** Open [giggle.pro](https://giggle.pro/) while **logged in** → **left sidebar** → **API Key** (**API 密钥**) → create or copy your key. Then `export GIGGLE_API_KEY=your_api_key`. The script will prompt if not configured.

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

---

## Supported Models

| Model | Supported Durations (s) | Default | Description |
|-------|-------------------------|---------|-------------|
| grok | 6, 10 | 6 | Strong overall capability, recommended |
| grok-fast | 6, 10 | 6 | grok fast version |
| sora2 | 4, 8, 12 | 4 | OpenAI Sora 2 |
| sora2-pro | 4, 8, 12 | 4 | Sora 2 Pro |
| sora2-fast | 10, 15 | 10 | Sora 2 Fast |
| sora2-pro-fast | 10, 15 | 10 | Sora 2 Pro Fast |
| kling25 | 5, 10 | 5 | Kling video model |
| seedance15-pro | 4, 8, 12 | 4 | Seedance Pro (with audio) |
| seedance15-pro-no-audio | 4, 8, 12 | 4 | Seedance Pro (no audio) |
| veo31 | 4, 6, 8 | 4 | Google Veo 3.1 (with audio) |
| veo31-no-audio | 4, 6, 8 | 4 | Google Veo 3.1 (no audio) |
| minimax23 | 6 | 6 | MiniMax model |
| wan25 | 5, 10 | 0 | Wanxiang model |

**Note**: `--duration` must be chosen from the model's supported durations, otherwise the API will error.

---

## Frame Reference (Image-to-Video)

For image-to-video, `--start-frame` and `--end-frame` support three mutually exclusive formats:

| Method | Format | Example |
|--------|--------|---------|
| asset_id | `asset_id:<ID>` | `asset_id:lkllv0yv81` |
| url | `url:<URL>` | `url:https://example.com/img.jpg` |
| base64 | `base64:<DATA>` | `base64:iVBORw0KGgo...` |

Each frame parameter can only use one of these methods.

---

## Execution Flow: Submit and Query

Video generation is asynchronous (typically 60–300 seconds). **Submit** a task to get `task_id`, then **query** until the task reaches a terminal state. All commands run via `exec`; API key from system env.

---

## Continuous progress updates (default; user need not put this in their prompt)

Video jobs are usually **~1–5+ minutes** (sometimes longer). The user does **not** need to ask you to check progress.

1. **Right after submit**, say you submitted, give `task_id`, and give a **realistic** wait range for the model/load (not a generic “1–3 minutes” if the pipeline is often slower).
2. **Poll proactively**: run `--query` about every **15–30 seconds** until a terminal state—**do not** wait for the user to ask.
3. **After each query**, briefly report status in natural language; if stdout is non-terminal JSON (`processing`, etc.), paraphrase and say you will check again—**do not** go silent.
4. **When done**: forward full **signed video** links on success; explain failures clearly. If still non-terminal after **~20 minutes** (adjust if the user/model context suggests longer is normal), stop blind polling, explain, keep `task_id`, and suggest retry or a later manual check.
5. **If the user explicitly opts out** of polling (“don’t poll”, “I’ll ask”), submit once, give `task_id`, and only `--query` when they ask.

---

### Step 1: Submit Task

**First send a message to the user**: Video generation is submitted; you will query progress on a schedule and report updates—no need to nag. Include `task_id` once you have it from the JSON response.

```bash
# Text-to-video (default grok-fast)
python3 scripts/generation_api.py \
  --prompt "Camera slowly pushes forward, person smiling in frame" \
  --model grok-fast --duration 6 \
  --aspect-ratio 16:9 --resolution 720p

# Image-to-video - use asset_id as start frame
python3 scripts/generation_api.py \
  --prompt "Person slowly turns around" \
  --start-frame "asset_id:lkllv0yv81" \
  --model grok-fast --duration 6 \
  --aspect-ratio 16:9 --resolution 720p

# Image-to-video - use URL as start frame
python3 scripts/generation_api.py \
  --prompt "Scenery from still to motion" \
  --start-frame "url:https://example.com/img.jpg" \
  --model grok-fast --duration 6

# Image-to-video - both start and end frame
python3 scripts/generation_api.py \
  --prompt "Scene transition" \
  --start-frame "asset_id:abc123" \
  --end-frame "url:https://example.com/end.jpg" \
  --model grok --duration 6
```

Response example:
```json
{"status": "started", "task_id": "55bf24ca-e92a-4d9b-a172-8f585a7c5969"}
```

**Store task_id in memory** (`addMemory`):
```
giggle-generation-video task_id: xxx (submitted: YYYY-MM-DD HH:mm)
```

---

From giggle-official/skills, MIT.

More from giggle-official/skills

Signals

Stars
0
Forks
2
Open issues
0
Last commit (this folder)
Mar 25, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from giggle-official

Cite this page

giggle-generation-video skill. Agent Mart. https://agentmart.dev/skills/giggle-official-giggle-generation-video (last updated 2026-10-24)