@acedatacloud/skills 2026.406.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +48 -0
- package/LICENSE +17 -0
- package/README.md +342 -0
- package/bin/cli.js +75 -0
- package/bin/postinstall.js +15 -0
- package/index.js +13 -0
- package/package.json +56 -0
- package/skills/_shared/async-tasks.md +32 -0
- package/skills/_shared/authentication.md +31 -0
- package/skills/_shared/mcp-servers.md +36 -0
- package/skills/acedatacloud-api/SKILL.md +130 -0
- package/skills/ai-chat/SKILL.md +210 -0
- package/skills/face-transform/SKILL.md +153 -0
- package/skills/fish-audio/SKILL.md +99 -0
- package/skills/flux-image/SKILL.md +82 -0
- package/skills/google-search/SKILL.md +88 -0
- package/skills/hailuo-video/SKILL.md +91 -0
- package/skills/kling-video/SKILL.md +126 -0
- package/skills/luma-video/SKILL.md +108 -0
- package/skills/midjourney-image/SKILL.md +170 -0
- package/skills/nano-banana-image/SKILL.md +85 -0
- package/skills/producer-music/SKILL.md +198 -0
- package/skills/seedance-video/SKILL.md +148 -0
- package/skills/seedream-image/SKILL.md +120 -0
- package/skills/short-url/SKILL.md +60 -0
- package/skills/sora-video/SKILL.md +97 -0
- package/skills/suno-music/SKILL.md +187 -0
- package/skills/veo-video/SKILL.md +112 -0
- package/skills/wan-video/SKILL.md +152 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: google-search
|
|
3
|
+
description: Search the web using Google via AceDataCloud API. Use when searching for web pages, images, news, maps, local places, or videos. Supports localization, time filtering, and pagination. Returns structured results with titles, snippets, URLs, and rich data.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable. Optionally pair with mcp-serp for tool-use.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Google Search (SERP)
|
|
12
|
+
|
|
13
|
+
Search the web through AceDataCloud's Google SERP API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/serp/google \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"query": "latest AI news", "type": "search"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Search Types
|
|
27
|
+
|
|
28
|
+
| Type | Description | Returns |
|
|
29
|
+
|------|-------------|---------|
|
|
30
|
+
| `search` | Web search (default) | Organic results, knowledge graph, rich snippets |
|
|
31
|
+
| `images` | Image search | Image URLs, titles, sources |
|
|
32
|
+
| `news` | News articles | Headlines, sources, publish dates |
|
|
33
|
+
| `maps` | Map results | Locations, coordinates |
|
|
34
|
+
| `places` | Local businesses/places | Name, address, rating, reviews |
|
|
35
|
+
| `videos` | Video results | Video URLs, thumbnails, duration |
|
|
36
|
+
|
|
37
|
+
## Parameters
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
POST /serp/google
|
|
41
|
+
{
|
|
42
|
+
"query": "your search query",
|
|
43
|
+
"type": "search",
|
|
44
|
+
"country": "us",
|
|
45
|
+
"language": "en",
|
|
46
|
+
"range": "qdr:w",
|
|
47
|
+
"number": 10,
|
|
48
|
+
"page": 1
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
| Parameter | Type | Description |
|
|
53
|
+
|-----------|------|-------------|
|
|
54
|
+
| `query` | string | Search query (required) |
|
|
55
|
+
| `type` | string | One of: search, images, news, maps, places, videos |
|
|
56
|
+
| `country` | string | Country code (e.g., "us", "uk", "cn", "jp") |
|
|
57
|
+
| `language` | string | Language code (e.g., "en", "zh", "ja") |
|
|
58
|
+
| `range` | string | Time filter (see below) |
|
|
59
|
+
| `number` | int | Number of results per page |
|
|
60
|
+
| `page` | int | Page number for pagination |
|
|
61
|
+
|
|
62
|
+
## Time Range Options
|
|
63
|
+
|
|
64
|
+
| Value | Period |
|
|
65
|
+
|-------|--------|
|
|
66
|
+
| `qdr:h` | Past hour |
|
|
67
|
+
| `qdr:d` | Past 24 hours |
|
|
68
|
+
| `qdr:w` | Past week |
|
|
69
|
+
| `qdr:m` | Past month |
|
|
70
|
+
| `qdr:y` | Past year |
|
|
71
|
+
|
|
72
|
+
## Response Structure
|
|
73
|
+
|
|
74
|
+
Web search returns structured data including:
|
|
75
|
+
- `organic_results`: Main search results with title, link, snippet
|
|
76
|
+
- `knowledge_graph`: Entity information panel (when available)
|
|
77
|
+
- `related_searches`: Related query suggestions
|
|
78
|
+
|
|
79
|
+
## Gotchas
|
|
80
|
+
|
|
81
|
+
- Default search type is `"search"` (web). Always specify `type` for non-web searches
|
|
82
|
+
- Country and language codes affect result localization significantly
|
|
83
|
+
- `number` controls results per page, not total results — use `page` for pagination
|
|
84
|
+
- Time range (`range`) only applies to web search and news, not images or places
|
|
85
|
+
- Image search returns thumbnail and full-size URLs — use full-size for downloads
|
|
86
|
+
- Places search works best with location-specific queries (e.g., "restaurants near Times Square")
|
|
87
|
+
|
|
88
|
+
> **MCP:** `pip install mcp-serp` | Hosted: `https://serp.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hailuo-video
|
|
3
|
+
description: Generate AI videos with Hailuo (MiniMax) via AceDataCloud API. Use when creating videos from text descriptions or animating images into video. Supports text-to-video and image-to-video with director mode for precise control.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Hailuo Video Generation
|
|
12
|
+
|
|
13
|
+
Generate AI videos through AceDataCloud's Hailuo (MiniMax) API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/hailuo/videos \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"action": "generate", "prompt": "a dolphin jumping through ocean waves at golden hour", "model": "minimax-t2v"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /hailuo/tasks` with `{"task_id": "..."}`.
|
|
27
|
+
## Models
|
|
28
|
+
|
|
29
|
+
| Model | Type | Best For |
|
|
30
|
+
|-------|------|----------|
|
|
31
|
+
| `minimax-t2v` | Text-to-Video | Creating video from text description |
|
|
32
|
+
| `minimax-i2v` | Image-to-Video | Animating a still image |
|
|
33
|
+
| `minimax-i2v-director` | Image-to-Video (Director) | Precise control over animation from image |
|
|
34
|
+
|
|
35
|
+
## Workflows
|
|
36
|
+
|
|
37
|
+
### 1. Text-to-Video
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
POST /hailuo/videos
|
|
41
|
+
{
|
|
42
|
+
"action": "generate",
|
|
43
|
+
"prompt": "a time-lapse of flowers blooming in a meadow",
|
|
44
|
+
"model": "minimax-t2v"
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 2. Image-to-Video
|
|
49
|
+
|
|
50
|
+
Animate a still image into a video clip.
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
POST /hailuo/videos
|
|
54
|
+
{
|
|
55
|
+
"action": "generate",
|
|
56
|
+
"prompt": "gentle wind blows through the scene",
|
|
57
|
+
"model": "minimax-i2v",
|
|
58
|
+
"first_image_url": "https://example.com/landscape.jpg"
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 3. Image-to-Video (Director Mode)
|
|
63
|
+
|
|
64
|
+
More precise control over the animation.
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
POST /hailuo/videos
|
|
68
|
+
{
|
|
69
|
+
"action": "generate",
|
|
70
|
+
"prompt": "camera slowly zooms in while leaves fall gently",
|
|
71
|
+
"model": "minimax-i2v-director",
|
|
72
|
+
"first_image_url": "https://example.com/scene.jpg"
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Parameters
|
|
77
|
+
|
|
78
|
+
| Parameter | Required | Values | Description |
|
|
79
|
+
|-----------|----------|--------|-------------|
|
|
80
|
+
| `action` | Yes | `"generate"` | Action type |
|
|
81
|
+
| `prompt` | Yes | string | Video description |
|
|
82
|
+
| `model` | Yes | `"minimax-t2v"`, `"minimax-i2v"`, `"minimax-i2v-director"` | Model |
|
|
83
|
+
| `first_image_url` | For i2v | string | Source image URL (required for image-to-video) |
|
|
84
|
+
| `callback_url` | No | string | Async callback URL |
|
|
85
|
+
|
|
86
|
+
## Gotchas
|
|
87
|
+
|
|
88
|
+
- `first_image_url` is **required** for `minimax-i2v` and `minimax-i2v-director` models
|
|
89
|
+
- Director mode (`minimax-i2v-director`) provides finer camera/motion control than standard i2v
|
|
90
|
+
- The `action` field currently only supports `"generate"` — no extend or edit
|
|
91
|
+
- Flat pricing per generation regardless of model
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kling-video
|
|
3
|
+
description: Generate AI videos with Kuaishou Kling via AceDataCloud API. Use when creating videos from text or images, extending existing videos, or applying motion control. Supports text-to-video, image-to-video, extend, and motion generation with multiple models and quality modes.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Kling Video Generation
|
|
12
|
+
|
|
13
|
+
Generate AI videos through AceDataCloud's Kuaishou Kling API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/kling/videos \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"action": "text2video", "prompt": "a cat playing piano on a rooftop at sunset", "model": "kling-v2-5-turbo", "mode": "std", "duration": 5}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /kling/tasks` with `{"task_id": "..."}`.
|
|
27
|
+
## Models
|
|
28
|
+
|
|
29
|
+
| Model | Quality | Best For |
|
|
30
|
+
|-------|---------|----------|
|
|
31
|
+
| `kling-v1` | Standard | Basic generation, lowest cost |
|
|
32
|
+
| `kling-v1-6` | Improved | Better quality than v1 |
|
|
33
|
+
| `kling-v2-master` | High | High-quality output |
|
|
34
|
+
| `kling-v2-1-master` | High | Improved v2 |
|
|
35
|
+
| `kling-v2-5-turbo` | High + Fast | Best speed/quality trade-off (recommended) |
|
|
36
|
+
| `kling-video-o1` | Premium | Highest quality |
|
|
37
|
+
|
|
38
|
+
## Quality Modes
|
|
39
|
+
|
|
40
|
+
| Mode | Speed | Cost | Use For |
|
|
41
|
+
|------|-------|------|---------|
|
|
42
|
+
| `std` (Standard) | Slower | Lower | Draft/preview |
|
|
43
|
+
| `pro` (Professional) | Faster | Higher | Final output |
|
|
44
|
+
|
|
45
|
+
## Workflows
|
|
46
|
+
|
|
47
|
+
### 1. Text-to-Video
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
POST /kling/videos
|
|
51
|
+
{
|
|
52
|
+
"action": "text2video",
|
|
53
|
+
"prompt": "a futuristic city with flying cars",
|
|
54
|
+
"model": "kling-v2-5-turbo",
|
|
55
|
+
"mode": "std",
|
|
56
|
+
"duration": 5,
|
|
57
|
+
"aspect_ratio": "16:9"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 2. Image-to-Video
|
|
62
|
+
|
|
63
|
+
Animate a still image. Optionally specify an ending frame.
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
POST /kling/videos
|
|
67
|
+
{
|
|
68
|
+
"action": "image2video",
|
|
69
|
+
"prompt": "the scene slowly comes alive with movement",
|
|
70
|
+
"start_image_url": "https://example.com/scene.jpg",
|
|
71
|
+
"end_image_url": "https://example.com/end-scene.jpg",
|
|
72
|
+
"model": "kling-v2-5-turbo",
|
|
73
|
+
"mode": "pro"
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 3. Extend Video
|
|
78
|
+
|
|
79
|
+
Continue an existing video with additional seconds.
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
POST /kling/videos
|
|
83
|
+
{
|
|
84
|
+
"action": "extend",
|
|
85
|
+
"video_id": "existing-video-id",
|
|
86
|
+
"prompt": "the camera pulls back to reveal the full landscape",
|
|
87
|
+
"model": "kling-v2-5-turbo"
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 4. Motion Control
|
|
92
|
+
|
|
93
|
+
Apply precise camera/motion control from an image + reference video.
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
POST /kling/motion
|
|
97
|
+
{
|
|
98
|
+
"image_url": "https://example.com/subject.jpg",
|
|
99
|
+
"video_url": "https://example.com/motion-reference.mp4"
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Parameters
|
|
104
|
+
|
|
105
|
+
| Parameter | Values | Description |
|
|
106
|
+
|-----------|--------|-------------|
|
|
107
|
+
| `action` | `"text2video"`, `"image2video"`, `"extend"` | Generation mode |
|
|
108
|
+
| `model` | See models table | Model to use |
|
|
109
|
+
| `mode` | `"std"`, `"pro"` | Quality mode |
|
|
110
|
+
| `duration` | `5`, `10` | Duration in seconds |
|
|
111
|
+
| `aspect_ratio` | `"16:9"`, `"9:16"`, `"1:1"` | Video aspect ratio |
|
|
112
|
+
| `cfg_scale` | 0–1 | Prompt relevance strength |
|
|
113
|
+
| `negative_prompt` | string | What to avoid in the video |
|
|
114
|
+
| `camera_control` | object | Camera movement parameters |
|
|
115
|
+
| `element_list` | array | Reference subjects from the element library (each item has `element_id`). Combined with `video_list`, total reference images + subjects ≤ 7 (or ≤ 4 if a reference video is included) |
|
|
116
|
+
| `video_list` | array | Reference video(s) via `video_url` (MP4/MOV, 3–10s, ≤200MB, max 1 video). Each item has `video_url`, `refer_type` (`"feature"` or `"base"`), and optional `keep_original_sound` |
|
|
117
|
+
| `callback_url` | string | Async callback URL |
|
|
118
|
+
|
|
119
|
+
## Gotchas
|
|
120
|
+
|
|
121
|
+
- `duration` only supports `5` or `10` seconds
|
|
122
|
+
- `end_image_url` is only for `image2video` action — it defines the last frame
|
|
123
|
+
- Motion control (`/kling/motion`) is a separate endpoint from video generation
|
|
124
|
+
- `pro` mode costs roughly 2x `std` mode but generates faster with better quality
|
|
125
|
+
- Task states use `"succeed"` (not "succeeded") — check for this value when polling
|
|
126
|
+
- `negative_prompt` helps avoid unwanted elements (e.g., "blurry, low quality, text")
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: luma-video
|
|
3
|
+
description: Generate AI videos with Luma Dream Machine via AceDataCloud API. Use when creating videos from text prompts, generating videos from reference images, extending existing videos, or any video generation task with Luma. Supports text-to-video, image-to-video, and video extension.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable. Optionally pair with mcp-luma for tool-use.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Luma Video Generation
|
|
12
|
+
|
|
13
|
+
Generate AI videos through AceDataCloud's Luma Dream Machine API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/luma/videos \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"prompt": "a drone flying over a mountain lake at sunrise", "action": "generate", "callback_url": "https://api.acedata.cloud/health"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /luma/tasks` with `{"task_id": "..."}`.
|
|
27
|
+
|
|
28
|
+
## Workflows
|
|
29
|
+
|
|
30
|
+
### 1. Text-to-Video
|
|
31
|
+
|
|
32
|
+
Generate video purely from a text description.
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
POST /luma/videos
|
|
36
|
+
{
|
|
37
|
+
"prompt": "a timelapse of flowers blooming in a garden",
|
|
38
|
+
"action": "generate",
|
|
39
|
+
"aspect_ratio": "16:9",
|
|
40
|
+
"loop": false,
|
|
41
|
+
"enhancement": true
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 2. Image-to-Video
|
|
46
|
+
|
|
47
|
+
Use start and/or end reference images to guide generation.
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
POST /luma/videos
|
|
51
|
+
{
|
|
52
|
+
"prompt": "the scene comes alive with gentle wind",
|
|
53
|
+
"action": "generate",
|
|
54
|
+
"start_image_url": "https://example.com/scene.jpg",
|
|
55
|
+
"end_image_url": "https://example.com/scene-end.jpg",
|
|
56
|
+
"aspect_ratio": "16:9"
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 3. Extend a Video
|
|
61
|
+
|
|
62
|
+
Continue an existing video with a new prompt.
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
POST /luma/videos
|
|
66
|
+
{
|
|
67
|
+
"action": "extend",
|
|
68
|
+
"video_id": "existing-video-id",
|
|
69
|
+
"prompt": "the camera continues forward through the forest"
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Aspect Ratios
|
|
74
|
+
|
|
75
|
+
| Ratio | Use Case |
|
|
76
|
+
|-------|----------|
|
|
77
|
+
| `16:9` | Landscape (default) — YouTube, TV |
|
|
78
|
+
| `9:16` | Portrait — TikTok, Instagram Stories |
|
|
79
|
+
| `1:1` | Square — Social media |
|
|
80
|
+
| `4:3` | Classic — Presentations |
|
|
81
|
+
| `21:9` | Ultra-wide — Cinematic |
|
|
82
|
+
|
|
83
|
+
## Parameters
|
|
84
|
+
|
|
85
|
+
| Parameter | Type | Default | Description |
|
|
86
|
+
|-----------|------|---------|-------------|
|
|
87
|
+
| `prompt` | string | — | Text description of the video (required) |
|
|
88
|
+
| `action` | string | `"generate"` | `"generate"` or `"extend"` |
|
|
89
|
+
| `aspect_ratio` | string | `"16:9"` | Video aspect ratio |
|
|
90
|
+
| `loop` | bool | `false` | Create seamless loop |
|
|
91
|
+
| `enhancement` | bool | `true` | Enhance prompt for better results |
|
|
92
|
+
| `start_image_url` | string | — | Reference image for first frame |
|
|
93
|
+
| `end_image_url` | string | — | Reference image for last frame |
|
|
94
|
+
| `video_id` | string | — | ID of video to extend (alternative to `video_url`) |
|
|
95
|
+
| `video_url` | string | — | URL of video to extend (alternative to `video_id`) |
|
|
96
|
+
| `timeout` | number | — | Timeout in seconds for the API to return data |
|
|
97
|
+
| `callback_url` | string | — | Webhook URL for async notifications |
|
|
98
|
+
|
|
99
|
+
## Gotchas
|
|
100
|
+
|
|
101
|
+
- `enhancement: true` (default) improves prompt quality but may alter your intent — set to `false` for literal prompts
|
|
102
|
+
- Start/end image URLs must be publicly accessible
|
|
103
|
+
- `loop: true` creates seamless looping video — good for backgrounds and social media
|
|
104
|
+
- Extend requires either `video_id` or `video_url` from a previously completed generation
|
|
105
|
+
- Video generation takes 1–5 minutes depending on complexity
|
|
106
|
+
- Both start and end images are optional — you can use just one for partial guidance
|
|
107
|
+
|
|
108
|
+
> **MCP:** `pip install mcp-luma` | Hosted: `https://luma.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: midjourney-image
|
|
3
|
+
description: Generate, edit, blend, upscale, and describe images with Midjourney via AceDataCloud API. Use when creating AI images from text prompts, editing existing images, generating 2x2 grids, upscaling, creating variations, blending multiple images, reverse-prompting from images, or generating video from images. Supports versions 5.2 through 8.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable. Optionally pair with mcp-midjourney for tool-use.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Midjourney Image Generation
|
|
12
|
+
|
|
13
|
+
Generate and manipulate AI images through AceDataCloud's Midjourney API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start — Generate an Image
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/midjourney/imagine \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"prompt": "a futuristic city at sunset, cyberpunk style --ar 16:9", "callback_url": "https://api.acedata.cloud/health"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /midjourney/tasks` with `{"task_id": "..."}`.
|
|
27
|
+
|
|
28
|
+
## Generation Modes
|
|
29
|
+
|
|
30
|
+
| Mode | Speed | Cost | Best For |
|
|
31
|
+
|------|-------|------|----------|
|
|
32
|
+
| `fast` | Fast | Standard | Most tasks (default) |
|
|
33
|
+
| `relax` | Slow | Cheaper | Batch generation |
|
|
34
|
+
| `turbo` | Fastest | Premium | Time-sensitive work |
|
|
35
|
+
|
|
36
|
+
## Midjourney Versions
|
|
37
|
+
|
|
38
|
+
| Version | Notes |
|
|
39
|
+
|---------|-------|
|
|
40
|
+
| `8` | Latest, best quality |
|
|
41
|
+
| `7` | Great quality, fast |
|
|
42
|
+
| `6.1` | Stable, well-tested |
|
|
43
|
+
| `6` | Previous generation |
|
|
44
|
+
| `5.2` | Legacy |
|
|
45
|
+
|
|
46
|
+
## Core Workflows
|
|
47
|
+
|
|
48
|
+
### 1. Generate Images (Imagine)
|
|
49
|
+
|
|
50
|
+
Creates a 2x2 grid of 4 image variations.
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
POST /midjourney/imagine
|
|
54
|
+
{
|
|
55
|
+
"prompt": "a serene mountain lake at dawn, photorealistic --ar 16:9 --v 7",
|
|
56
|
+
"mode": "fast",
|
|
57
|
+
"translation": true,
|
|
58
|
+
"split_images": true
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Set `translation: true` to auto-translate non-English prompts. Set `split_images: true` to get individual images besides the grid.
|
|
63
|
+
|
|
64
|
+
### 2. Upscale / Vary / Pan / Zoom
|
|
65
|
+
|
|
66
|
+
After generating a grid, use transform actions on individual images:
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
POST /midjourney/imagine
|
|
70
|
+
{
|
|
71
|
+
"action": "upscale1",
|
|
72
|
+
"image_id": "grid-image-id"
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Available actions:**
|
|
77
|
+
- `upscale1`–`upscale4`: Upscale individual quadrant
|
|
78
|
+
- `variation1`–`variation4`: Create variation of a quadrant
|
|
79
|
+
- `variation_subtle` / `variation_strong`: Subtle/strong variation of full image
|
|
80
|
+
- `reroll`: Re-generate with same prompt
|
|
81
|
+
- `zoom_out_2x` / `zoom_out_1_5x`: Zoom out
|
|
82
|
+
- `pan_left` / `pan_right` / `pan_up` / `pan_down`: Extend canvas
|
|
83
|
+
|
|
84
|
+
### 3. Edit an Image
|
|
85
|
+
|
|
86
|
+
Modify an existing image using a text prompt, optionally with a mask.
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
POST /midjourney/edits
|
|
90
|
+
{
|
|
91
|
+
"image_url": "https://example.com/photo.jpg",
|
|
92
|
+
"prompt": "add a rainbow in the sky",
|
|
93
|
+
"mode": "fast"
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 4. Blend Images
|
|
98
|
+
|
|
99
|
+
Combine 2–5 images into a new composition.
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
POST /midjourney/imagine
|
|
103
|
+
{
|
|
104
|
+
"action": "blend",
|
|
105
|
+
"image_urls": [
|
|
106
|
+
"https://example.com/image1.jpg",
|
|
107
|
+
"https://example.com/image2.jpg"
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 5. Describe an Image (Reverse Prompt)
|
|
113
|
+
|
|
114
|
+
Get AI-generated text descriptions of an image (returns 4 options).
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
POST /midjourney/describe
|
|
118
|
+
{"image_url": "https://example.com/photo.jpg"}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 6. Generate Video from Image
|
|
122
|
+
|
|
123
|
+
Create a video with a reference image and text prompt.
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
POST /midjourney/videos
|
|
127
|
+
{
|
|
128
|
+
"image_url": "https://example.com/photo.jpg",
|
|
129
|
+
"prompt": "the city comes alive with moving traffic",
|
|
130
|
+
"resolution": "720p"
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Prompt Parameters
|
|
135
|
+
|
|
136
|
+
Append these to your prompt text:
|
|
137
|
+
|
|
138
|
+
| Parameter | Example | Description |
|
|
139
|
+
|-----------|---------|-------------|
|
|
140
|
+
| `--ar` | `--ar 16:9` | Aspect ratio |
|
|
141
|
+
| `--v` | `--v 7` | Midjourney version |
|
|
142
|
+
| `--q` | `--q 2` | Quality (0.25, 0.5, 1, 2) |
|
|
143
|
+
| `--s` | `--s 750` | Stylization (0–1000) |
|
|
144
|
+
| `--c` | `--c 50` | Chaos/variety (0–100) |
|
|
145
|
+
| `--no` | `--no text, watermark` | Negative prompt |
|
|
146
|
+
| `--seed` | `--seed 12345` | Reproducible generation |
|
|
147
|
+
|
|
148
|
+
## API-Level Parameters (Billing Impact)
|
|
149
|
+
|
|
150
|
+
These top-level fields on `POST /midjourney/imagine` affect billing and are separate from inline prompt parameters:
|
|
151
|
+
|
|
152
|
+
| Parameter | Type | Description |
|
|
153
|
+
|-----------|------|-------------|
|
|
154
|
+
| `version` | string | Midjourney version (`"8"`, `"7"`, `"6.1"`, etc.) — used for billing calculation |
|
|
155
|
+
| `hd` | boolean | Enable HD 2K resolution (V8 only) — costs 4× GPU time |
|
|
156
|
+
| `quality` | string | Quality level: `".25"`, `".5"`, `"1"`, `"2"`, `"4"` — quality `"4"` is V8 only and costs 16× GPU time |
|
|
157
|
+
| `style_reference` | boolean | Whether prompt uses `--sref` style references (V8: costs 4× GPU time) |
|
|
158
|
+
| `moodboard` | boolean | Whether prompt uses moodboard image references (V8: costs 4× GPU time) |
|
|
159
|
+
|
|
160
|
+
## Gotchas
|
|
161
|
+
|
|
162
|
+
- Imagine returns a **2x2 grid** — use upscale/variation actions to work with individual images
|
|
163
|
+
- Use `split_images: true` to also receive individual cropped images alongside the grid
|
|
164
|
+
- Prompt parameters (`--ar`, `--v`, etc.) go **inside the prompt string**, not as separate fields
|
|
165
|
+
- `translation: true` auto-translates Chinese/other languages to English before sending to Midjourney
|
|
166
|
+
- Video generation requires a reference `image_url` — it cannot generate from text alone
|
|
167
|
+
- Available transform actions depend on the image — check `available_actions` in the response
|
|
168
|
+
- Get the seed with `POST /midjourney/seed` using the image_id for reproducible results
|
|
169
|
+
|
|
170
|
+
> **MCP:** `pip install mcp-midjourney` | Hosted: `https://midjourney.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nano-banana-image
|
|
3
|
+
description: Generate and edit AI images with NanoBanana (Gemini-based) via AceDataCloud API. Use when creating images from text prompts or editing existing images with text instructions. Supports nano-banana, nano-banana-2, and nano-banana-pro models.
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: acedatacloud
|
|
7
|
+
version: "1.0"
|
|
8
|
+
compatibility: Requires ACEDATACLOUD_API_TOKEN environment variable. Optionally pair with mcp-nano-banana for tool-use.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# NanoBanana Image Generation
|
|
12
|
+
|
|
13
|
+
Generate and edit AI images through AceDataCloud's NanoBanana (Gemini-based) API.
|
|
14
|
+
|
|
15
|
+
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
curl -X POST https://api.acedata.cloud/nano-banana/images \
|
|
21
|
+
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
|
|
22
|
+
-H "Content-Type: application/json" \
|
|
23
|
+
-d '{"action": "generate", "prompt": "a watercolor painting of a French countryside village", "model": "nano-banana"}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /nano-banana/tasks` with `{"id": "..."}`.
|
|
27
|
+
## Models
|
|
28
|
+
|
|
29
|
+
| Model | Best For |
|
|
30
|
+
|-------|----------|
|
|
31
|
+
| `nano-banana` | Standard image generation (default) |
|
|
32
|
+
| `nano-banana-2` | Improved quality, second generation |
|
|
33
|
+
| `nano-banana-pro` | Highest quality, most detailed output |
|
|
34
|
+
|
|
35
|
+
## Workflows
|
|
36
|
+
|
|
37
|
+
### 1. Text-to-Image
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
POST /nano-banana/images
|
|
41
|
+
{
|
|
42
|
+
"action": "generate",
|
|
43
|
+
"prompt": "a photorealistic macro shot of morning dew on a spider web",
|
|
44
|
+
"model": "nano-banana-pro",
|
|
45
|
+
"aspect_ratio": "16:9",
|
|
46
|
+
"resolution": "2K"
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 2. Image Editing
|
|
51
|
+
|
|
52
|
+
Edit existing images using natural language instructions — no mask needed. Pass source images via `image_urls`.
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
POST /nano-banana/images
|
|
56
|
+
{
|
|
57
|
+
"action": "edit",
|
|
58
|
+
"prompt": "change the background to a starry night sky",
|
|
59
|
+
"image_urls": ["https://example.com/photo.jpg"],
|
|
60
|
+
"model": "nano-banana"
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Parameters
|
|
65
|
+
|
|
66
|
+
| Parameter | Values | Description |
|
|
67
|
+
|-----------|--------|-------------|
|
|
68
|
+
| `action` | `"generate"`, `"edit"` | Operation mode |
|
|
69
|
+
| `model` | `"nano-banana"`, `"nano-banana-2"`, `"nano-banana-pro"` | Model to use |
|
|
70
|
+
| `prompt` | string | Image description or editing instruction |
|
|
71
|
+
| `image_urls` | array of strings | Source image URLs (required for edit action) |
|
|
72
|
+
| `aspect_ratio` | `"1:1"`, `"3:2"`, `"2:3"`, `"16:9"`, `"9:16"`, `"4:3"`, `"3:4"` | Output aspect ratio |
|
|
73
|
+
| `resolution` | `"1K"`, `"2K"`, `"4K"` | Output resolution (1K=1024px, 2K=2048px, 4K=4096px) |
|
|
74
|
+
| `callback_url` | string | Async callback URL; returns a task ID immediately |
|
|
75
|
+
|
|
76
|
+
## Gotchas
|
|
77
|
+
|
|
78
|
+
- Editing does **NOT** require a mask — just describe the change in natural language
|
|
79
|
+
- Editing uses the same `/nano-banana/images` endpoint with `action: "edit"` and `image_urls` array (not a separate `/edit` path)
|
|
80
|
+
- `nano-banana-2` is the second-generation model; `nano-banana-pro` offers the highest quality
|
|
81
|
+
- Task polling uses `id` (not `task_id`) in the `/nano-banana/tasks` request body
|
|
82
|
+
- Aspect ratio uses colon notation (e.g., `"16:9"`) not pixel dimensions
|
|
83
|
+
- The Gemini-based model excels at understanding complex, conversational editing instructions
|
|
84
|
+
|
|
85
|
+
> **MCP:** `pip install mcp-nano-banana` | Hosted: `https://nano-banana.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)
|