@talesofai/neta-skills 0.10.0 → 0.11.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/CHANGELOG.md +6 -0
- package/bin/apis/types.js +22 -6
- package/bin/cli.js +3 -1
- package/bin/commands/creative/make_image.cmd.en_us.yml +3 -1
- package/bin/commands/creative/make_image.cmd.js +21 -2
- package/bin/commands/creative/make_image.cmd.zh_cn.yml +3 -0
- package/bin/commands/creative/make_song.cmd.js +1 -1
- package/bin/commands/creative/remove_background.cmd.js +2 -2
- package/bin/commands/load.js +1 -1
- package/package.json +1 -1
- package/skills/neta/SKILL.md +22 -0
- package/skills/neta-character/SKILL.md +2 -4
- package/skills/neta-community/SKILL.md +2 -11
- package/skills/neta-creative/SKILL.md +1 -3
- package/skills/neta-creative/references/image-generation.md +84 -68
- package/skills/neta-elementum/SKILL.md +2 -4
- package/skills/neta-space/SKILL.md +1 -3
- package/skills/neta-suggest/SKILL.md +1 -3
- package/skills/zh_cn/neta/SKILL.md +20 -0
- package/skills/zh_cn/neta-character/SKILL.md +2 -4
- package/skills/zh_cn/neta-community/SKILL.md +1 -3
- package/skills/zh_cn/neta-creative/SKILL.md +1 -3
- package/skills/zh_cn/neta-creative/references/image-generation.md +46 -20
- package/skills/zh_cn/neta-elementum/SKILL.md +2 -4
- package/skills/zh_cn/neta-space/SKILL.md +1 -3
- package/skills/zh_cn/neta-suggest/SKILL.md +1 -3
package/CHANGELOG.md
CHANGED
package/bin/apis/types.js
CHANGED
|
@@ -26,16 +26,32 @@ export const IMAGE_GENERATE_ASPECTS = [
|
|
|
26
26
|
},
|
|
27
27
|
];
|
|
28
28
|
export const buildMakeImagePayload = (vtokens, options, inherit) => {
|
|
29
|
-
const { make_image_aspect, advanced_translator, negative_freetext, context_model_series, entrance_uuid, manuscript_uuid, assign_key, toolcall_uuid, } = options;
|
|
30
|
-
const
|
|
29
|
+
const { make_image_aspect, width, height, advanced_translator, negative_freetext, context_model_series, entrance_uuid, manuscript_uuid, assign_key, toolcall_uuid, } = options;
|
|
30
|
+
const size = (() => {
|
|
31
|
+
// use custom width and height
|
|
32
|
+
if (width && height) {
|
|
33
|
+
return [width, height];
|
|
34
|
+
}
|
|
35
|
+
const aspectSize = IMAGE_GENERATE_ASPECTS.find((a) => a.aspect === make_image_aspect)?.size ?? [576, 768];
|
|
36
|
+
// use custom width and fix height by aspect ratio
|
|
37
|
+
if (width) {
|
|
38
|
+
return [width, (aspectSize[1] / aspectSize[0]) * width];
|
|
39
|
+
}
|
|
40
|
+
// use custom height and fix width by aspect ratio
|
|
41
|
+
if (height) {
|
|
42
|
+
return [(aspectSize[0] / aspectSize[1]) * height, height];
|
|
43
|
+
}
|
|
44
|
+
// use aspect ratio preset size
|
|
45
|
+
return aspectSize;
|
|
46
|
+
})();
|
|
31
47
|
return {
|
|
32
48
|
storyId: "DO_NOT_USE",
|
|
33
49
|
jobType: "universal",
|
|
34
50
|
rawPrompt: vtokens,
|
|
35
|
-
width:
|
|
36
|
-
height:
|
|
51
|
+
width: size[0],
|
|
52
|
+
height: size[1],
|
|
37
53
|
meta: {
|
|
38
|
-
entrance: "PICTURE,
|
|
54
|
+
entrance: "PICTURE,CLI",
|
|
39
55
|
entrance_uuid,
|
|
40
56
|
manuscript_uuid,
|
|
41
57
|
assign_key,
|
|
@@ -56,7 +72,7 @@ export const buildMakeVideoPayload = (image_url, work_flow_text, work_flow_model
|
|
|
56
72
|
work_flow_model,
|
|
57
73
|
inherit_params,
|
|
58
74
|
meta: {
|
|
59
|
-
entrance: "VIDEO,
|
|
75
|
+
entrance: "VIDEO,CLI",
|
|
60
76
|
entrance_uuid,
|
|
61
77
|
manuscript_uuid,
|
|
62
78
|
assign_key,
|
package/bin/cli.js
CHANGED
|
@@ -4,7 +4,9 @@ import dotenv from "dotenv-flow";
|
|
|
4
4
|
import pkg from "../package.json" with { type: "json" };
|
|
5
5
|
import { buildCommands } from "./commands/load.js";
|
|
6
6
|
// Load environment variables
|
|
7
|
-
dotenv.config(
|
|
7
|
+
dotenv.config({
|
|
8
|
+
silent: true,
|
|
9
|
+
});
|
|
8
10
|
program
|
|
9
11
|
.name("neta")
|
|
10
12
|
.description("NETA CLI - Neta API Client")
|
|
@@ -17,4 +17,6 @@ parameters:
|
|
|
17
17
|
- For image editing or image‑to‑image tasks, always include the proper reference image variables.
|
|
18
18
|
- Example (character + element): @character_name, /elementum_name, ref_img-1234567890, ref_img-1234567891, keyword1, keyword2…
|
|
19
19
|
aspect: Image aspect ratio
|
|
20
|
-
|
|
20
|
+
width: Image width
|
|
21
|
+
height: Image height
|
|
22
|
+
model_series: Image generation model
|
|
@@ -10,6 +10,9 @@ const meta = parseMeta(Type.Object({
|
|
|
10
10
|
parameters: Type.Object({
|
|
11
11
|
prompt: Type.String(),
|
|
12
12
|
aspect: Type.String(),
|
|
13
|
+
width: Type.String(),
|
|
14
|
+
height: Type.String(),
|
|
15
|
+
model_series: Type.String(),
|
|
13
16
|
}),
|
|
14
17
|
}), import.meta);
|
|
15
18
|
const makeImageV1Parameters = Type.Object({
|
|
@@ -24,18 +27,34 @@ const makeImageV1Parameters = Type.Object({
|
|
|
24
27
|
default: "3:4",
|
|
25
28
|
description: meta.parameters.aspect,
|
|
26
29
|
}),
|
|
30
|
+
width: Type.Optional(Type.Integer({
|
|
31
|
+
description: meta.parameters.width,
|
|
32
|
+
minimum: 256,
|
|
33
|
+
maximum: 2048,
|
|
34
|
+
})),
|
|
35
|
+
height: Type.Optional(Type.Integer({
|
|
36
|
+
description: meta.parameters.height,
|
|
37
|
+
minimum: 256,
|
|
38
|
+
maximum: 2048,
|
|
39
|
+
})),
|
|
40
|
+
model_series: Type.Union([Type.Literal("8_image_edit"), Type.Literal("3_noobxl")], {
|
|
41
|
+
default: "8_image_edit",
|
|
42
|
+
description: meta.parameters.model_series,
|
|
43
|
+
}),
|
|
27
44
|
});
|
|
28
45
|
export const makeImage = createCommand({
|
|
29
46
|
name: meta.name,
|
|
30
47
|
title: meta.title,
|
|
31
48
|
description: meta.description,
|
|
32
49
|
inputSchema: makeImageV1Parameters,
|
|
33
|
-
}, async ({ prompt, aspect }, { log, apis }) => {
|
|
50
|
+
}, async ({ prompt, aspect, model_series, width, height }, { log, apis }) => {
|
|
34
51
|
const createTask = async () => {
|
|
35
52
|
const vtokens = (await apis.prompt.parseVtokens(prompt)) ?? [];
|
|
36
53
|
const payload = buildMakeImagePayload(vtokens ?? [], {
|
|
37
54
|
make_image_aspect: aspect ?? "3:4",
|
|
38
|
-
|
|
55
|
+
width,
|
|
56
|
+
height,
|
|
57
|
+
context_model_series: model_series,
|
|
39
58
|
});
|
|
40
59
|
return await apis.artifact.makeImage(payload);
|
|
41
60
|
};
|
|
@@ -31,7 +31,7 @@ export const makeSong = createCommand({
|
|
|
31
31
|
}, async ({ prompt, lyrics }, { apis, log }) => {
|
|
32
32
|
const createTask = async () => {
|
|
33
33
|
return apis.artifact.makeSong(prompt, lyrics, {
|
|
34
|
-
entrance: "SONG,
|
|
34
|
+
entrance: "SONG,CLI",
|
|
35
35
|
});
|
|
36
36
|
};
|
|
37
37
|
const task_uuid = await createTask();
|
|
@@ -25,7 +25,7 @@ export const removeBackground = createCommand({
|
|
|
25
25
|
}, async ({ input_image }, { apis, log }) => {
|
|
26
26
|
const createTask = async () => {
|
|
27
27
|
return apis.artifact.postProcess(input_image, "0_null/抠图SEG", {
|
|
28
|
-
entrance: "PICTURE,
|
|
28
|
+
entrance: "PICTURE,CLI",
|
|
29
29
|
});
|
|
30
30
|
};
|
|
31
31
|
const task_uuid = await createTask();
|
|
@@ -53,7 +53,7 @@ export const removeBackgroundNoCrop = createCommand({
|
|
|
53
53
|
}, async ({ input_image }, { apis, log }) => {
|
|
54
54
|
const createTask = async () => {
|
|
55
55
|
return apis.artifact.postProcess(input_image, "0_null/抠图SEG", {
|
|
56
|
-
entrance: "PICTURE,
|
|
56
|
+
entrance: "PICTURE,CLI",
|
|
57
57
|
});
|
|
58
58
|
};
|
|
59
59
|
const task_uuid = await createTask();
|
package/bin/commands/load.js
CHANGED
|
@@ -56,7 +56,7 @@ export const buildCommands = async (cli) => {
|
|
|
56
56
|
Object.entries(properties).forEach(([key, property]) => {
|
|
57
57
|
if (typeof property !== "object")
|
|
58
58
|
return;
|
|
59
|
-
const option = new Option(`--${key} <${property["type"]}>`, property.description);
|
|
59
|
+
const option = new Option(`--${key} <${property["type"] ?? "string"}>`, property.description);
|
|
60
60
|
if (property.default) {
|
|
61
61
|
option.default(property.default);
|
|
62
62
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@talesofai/neta-skills",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Neta API pi coding agent skills for interacting with Neta API to generate images, videos, songs, and manage characters/elements.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
package/skills/neta/SKILL.md
CHANGED
|
@@ -28,6 +28,9 @@ npx skills add talesofai/neta-skills/skills/neta-suggest
|
|
|
28
28
|
|
|
29
29
|
# Character creation and management
|
|
30
30
|
npx skills add talesofai/neta-skills/skills/neta-character
|
|
31
|
+
|
|
32
|
+
# Elementum (visual style/concept) creation and management
|
|
33
|
+
npx skills add talesofai/neta-skills/skills/neta-elementum
|
|
31
34
|
```
|
|
32
35
|
|
|
33
36
|
## Instructions
|
|
@@ -39,6 +42,7 @@ npx skills add talesofai/neta-skills/skills/neta-character
|
|
|
39
42
|
- Browsing feeds, viewing collection details, liking/interacting, community-centric views → use `neta-community`
|
|
40
43
|
- Keyword/tag/category research and recommendation, progressive exploration from broad to narrow → use `neta-suggest`
|
|
41
44
|
- Creating or managing anime/cultural IP/original characters (VTokens/TCP/OC) → use `neta-character`
|
|
45
|
+
- Creating or managing visual style elements (scenes, props, clothing, poses, atmospheres, memes) → use `neta-elementum`
|
|
42
46
|
3. Use this skill only when boundaries are unclear or when you need to explain which sub-skill to pick.
|
|
43
47
|
|
|
44
48
|
## Capability map and sub-skill overview
|
|
@@ -125,6 +129,23 @@ Use when:
|
|
|
125
129
|
|
|
126
130
|
See `skills/neta-character/SKILL.md` for full details.
|
|
127
131
|
|
|
132
|
+
### 6. Elementum (visual style/concept) creation and management: `neta-elementum`
|
|
133
|
+
|
|
134
|
+
Responsibilities:
|
|
135
|
+
|
|
136
|
+
- Create new Elementa (visual concepts) as VTokens (TCP/Elementum).
|
|
137
|
+
- Update existing Elementum settings (representative images, prompts, descriptions).
|
|
138
|
+
- Query and search for Elementa.
|
|
139
|
+
- Generate visual previews before Elementum creation.
|
|
140
|
+
|
|
141
|
+
Use when:
|
|
142
|
+
|
|
143
|
+
- The user wants to "create a visual element", "make an Elementum", or "encapsulate a style".
|
|
144
|
+
- The user wants to create reusable visual concepts (scenes, props, clothing, poses, atmospheres, memes).
|
|
145
|
+
- The user wants to "list my Elementa" or "search for Elementa".
|
|
146
|
+
|
|
147
|
+
See `skills/neta-elementum/SKILL.md` for full details.
|
|
148
|
+
|
|
128
149
|
## Migration notes (from legacy neta skill)
|
|
129
150
|
|
|
130
151
|
If you encounter older docs or scripts that call commands directly under `neta`, migrate them according to this table:
|
|
@@ -136,6 +157,7 @@ If you encounter older docs or scripts that call commands directly under `neta`,
|
|
|
136
157
|
| Collection details, feeds, likes/interacts | `neta-community` |
|
|
137
158
|
| Keyword/tag/category/recommendation research| `neta-suggest` |
|
|
138
159
|
| Character creation and management | `neta-character` |
|
|
160
|
+
| Elementum (visual style/concept) creation | `neta-elementum` |
|
|
139
161
|
|
|
140
162
|
For new development, always prefer the focused sub-skills and avoid adding new command examples directly to this skill.
|
|
141
163
|
|
|
@@ -11,16 +11,14 @@ Guide users from inspiration to forging, completing the creation and management
|
|
|
11
11
|
|
|
12
12
|
## Prerequisites
|
|
13
13
|
|
|
14
|
-
Ensure the environment variable `NETA_TOKEN` is set.
|
|
15
|
-
|
|
16
14
|
Ensure the latest version of Neta CLI is installed:
|
|
17
15
|
```
|
|
18
16
|
neta-cli --version
|
|
19
|
-
0.
|
|
17
|
+
0.11.0
|
|
20
18
|
```
|
|
21
19
|
|
|
22
20
|
```
|
|
23
|
-
npm i @talesofai/neta-
|
|
21
|
+
npm i @talesofai/neta-skills@latest -g
|
|
24
22
|
```
|
|
25
23
|
|
|
26
24
|
## Command Usage
|
|
@@ -19,13 +19,11 @@ Used to interact with the Neta API for community feed browsing, interactions, an
|
|
|
19
19
|
|
|
20
20
|
## Prerequisites
|
|
21
21
|
|
|
22
|
-
Make sure the `NETA_TOKEN` environment variable is set.
|
|
23
|
-
|
|
24
22
|
Install the latest version of the Neta CLI:
|
|
25
23
|
|
|
26
24
|
```bash
|
|
27
25
|
neta-cli --version
|
|
28
|
-
0.
|
|
26
|
+
0.11.0
|
|
29
27
|
```
|
|
30
28
|
|
|
31
29
|
```bash
|
|
@@ -38,13 +36,7 @@ pnpm add -g @talesofai/neta-skills@latest
|
|
|
38
36
|
|
|
39
37
|
## Commands
|
|
40
38
|
|
|
41
|
-
###
|
|
42
|
-
|
|
43
|
-
**Get interactive feed**
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
neta-cli request_interactive_feed --page_index 0 --page_size 3
|
|
47
|
-
```
|
|
39
|
+
### Collection
|
|
48
40
|
|
|
49
41
|
**Get collection details**
|
|
50
42
|
|
|
@@ -110,7 +102,6 @@ neta-cli request_character_or_elementum --uuid "uuid"
|
|
|
110
102
|
|
|
111
103
|
| Scenario | Doc |
|
|
112
104
|
|--------------------------|---------------------------------------------------|
|
|
113
|
-
| 🎮 Interactive feed | [interactive-feed.md](./references/interactive-feed.md) |
|
|
114
105
|
| 💬 Community interactions| [social-interactive.md](./references/social-interactive.md) |
|
|
115
106
|
| 🏷️ Tag research | [hashtag-research.md](./references/hashtag-research.md) |
|
|
116
107
|
| 👤 Character queries | [character-search.md](./references/character-search.md) |
|
|
@@ -16,13 +16,11 @@ Used to interact with the Neta API for multimedia content creation and creation
|
|
|
16
16
|
|
|
17
17
|
## Prerequisites
|
|
18
18
|
|
|
19
|
-
Make sure the `NETA_TOKEN` environment variable is set.
|
|
20
|
-
|
|
21
19
|
Also ensure the latest Neta CLI is installed:
|
|
22
20
|
|
|
23
21
|
```bash
|
|
24
22
|
neta-cli --version
|
|
25
|
-
0.
|
|
23
|
+
0.11.0
|
|
26
24
|
```
|
|
27
25
|
|
|
28
26
|
```bash
|
|
@@ -1,64 +1,87 @@
|
|
|
1
|
-
# Best Practices
|
|
1
|
+
# Image Generation Best Practices
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Understand user needs, refine prompts, and enhance image details and atmosphere while meeting user requirements.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Applicable to `make_image` and `remove_background` commands.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
---
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- **Visual elements**: reference style elements with `/elementum_name`, for example `/MangaStyle`.
|
|
11
|
-
- **Reference images**: reference existing images with the pattern `ref_img-artifact_uuid`, for example `"ref_img-1234567890"`. Up to 14 images are supported.
|
|
12
|
-
- **Natural language phrases**: describe the concrete scene and details. If you don’t reference a character, you must describe the character’s appearance here.
|
|
9
|
+
## Prompt Structure
|
|
13
10
|
|
|
14
|
-
**
|
|
11
|
+
- **Characters**: Use characters in the format "@character_name", e.g., "@character_name". The character name must be an exact string match—no modifications, no spaces, no simplified/traditional Chinese conversion. This reference contains the character's complete visual information.
|
|
12
|
+
- **Image Elements**: Use built-in image elements in the format "/element_name", e.g., "/comic_style".
|
|
13
|
+
- **Reference Images**: When using the 8_image_edit model, you can reference existing images as references using the format "reference-image-artifact_uuid", e.g., "reference-image-1234567890". A maximum of 14 images is supported.
|
|
14
|
+
- **Chinese Natural Language Phrases**: Descriptive text composed of short phrases depicting the scene. If no character is referenced, describe the character's appearance within the natural language phrases.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
[Character] + [Visual element] + [Reference image] + [Main subject] + [Appearance details] + [Outfit/accessories] + [Pose/action] + [Background/environment] + [Lighting/atmosphere] + [Art style]
|
|
16
|
+
**Recommended Format:**
|
|
18
17
|
```
|
|
19
|
-
|
|
20
|
-
**Example:**
|
|
21
|
-
|
|
22
|
-
```text
|
|
23
|
-
@character_name, /MangaStyle, ref_img-1234567890, ref_img-1234567891, keyword1, keyword2…
|
|
18
|
+
[Character] + [Image Elements] + [Reference Images] + [Subject Description] + [Appearance Details] + [Clothing/Accessories] + [Pose/Action] + [Background/Environment] + [Lighting/Atmosphere] + [Art Style]
|
|
24
19
|
```
|
|
25
20
|
|
|
26
21
|
**Notes:**
|
|
22
|
+
- For the noobxl model, @character_name must be placed at the beginning
|
|
23
|
+
- Image elements must appear in the format "/name", e.g., "/comic_style"
|
|
24
|
+
- For the 8_image_edit model, provide more context and intent. Describe the scene rather than just listing keywords. This model's core strength lies in its deep language understanding. Narrative descriptive paragraphs almost always generate better, more coherent images compared to strings of unrelated words
|
|
25
|
+
- You can search for available characters or elements using search_character_or_elementum, and verify their availability using request_character_or_elementum before use
|
|
26
|
+
- Reference images must appear in the format "reference-image-artifact_uuid", and can only use images obtained via `read_collection` or generated images as references
|
|
27
|
+
- When referencing characters or elements, add spaces or commas before and after, e.g., "@Neta#996, /comic_style, walking in school"
|
|
28
|
+
- For image modifications and other generations related to referencing the original image, be sure to use reference images with the 8_image_edit model
|
|
29
|
+
- Example (referencing characters and elements): @Neta#996, /comic_style, reference-image-artifact_uuid, reference-image-artifact_uuid, phrase1, phrase2…
|
|
30
|
+
- **When a specific character exists, use the character via @character_name rather than re-describing the character's appearance**
|
|
31
|
+
---
|
|
27
32
|
|
|
28
|
-
|
|
29
|
-
- Character references **must** use the form `@character_name` (for example, `@Neta`).
|
|
30
|
-
- Element references **must** use the form `/elementum_name` (for example, `/MangaStyle`).
|
|
31
|
-
- You can use `search_character_or_elementum` to discover available characters and elementums, and `request_character_or_elementum` to validate them before using.
|
|
32
|
-
- Reference images must follow the pattern `ref_img-artifact_uuid` and should come from `read_collection` artifacts or previously generated images.
|
|
33
|
-
- When referencing characters or elements, separate them with spaces or commas, for example: `"@character_name, /MangaStyle, walking on campus"`.
|
|
34
|
-
- For image editing or image‑to‑image tasks, always include the appropriate reference images.
|
|
35
|
-
- When specific characters exist, prefer `@character_name` instead of re‑describing their appearance from scratch.
|
|
33
|
+
## Model Selection
|
|
36
34
|
|
|
37
|
-
|
|
35
|
+
- **3_noobxl**: Style-oriented single-character image generation, using danbooru tag format for prompts. Excellent at various art styles and style combinations, not skilled at complex scenes, multiple characters, or images with text. Prefer this model when users specify specific characters and style elements for stylized character images.
|
|
36
|
+
|
|
37
|
+
- **8_image_edit (default)**: Versatile high-end image generation model, using natural language descriptions for prompts, supporting multiple image inputs. Excellent at following complex instructions and presenting high-fidelity text, multi-character rendering, and images with text. Not skilled at refined art styles. Can be used for sequential art (comic panels/storyboards), adding and removing elements, inpainting (semantic mask), style transfer, combining multiple images to bring things to life, etc. Prefer this model when multiple characters are involved, reference images contain complex visual structures and text content, or when modifying/adjusting specified images
|
|
38
|
+
|
|
39
|
+
## Aspect Ratio Selection
|
|
38
40
|
|
|
39
|
-
|
|
41
|
+
| Ratio | Resolution | Use Cases |
|
|
42
|
+
|-------|------------|-----------|
|
|
43
|
+
| `1:1` | 1024*1024 | Avatars, icons, square displays |
|
|
44
|
+
| `3:4` | 896*1152 | **Default recommended**, social media portrait, posters |
|
|
45
|
+
| `4:3` | 1152*896 | Landscape illustrations, presentations |
|
|
46
|
+
| `9:16` | 768*1344 | Phone wallpapers, short video covers, Stories |
|
|
47
|
+
| `16:9` | 1344*768 | Video covers, banners, desktop wallpapers |
|
|
48
|
+
|
|
49
|
+
**When using the above five ratios, prefer using the --aspect parameter**
|
|
50
|
+
|
|
51
|
+
Generate a 3:4 character standing illustration
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
neta-cli make_image \
|
|
55
|
+
--prompt "@Neta#996, character standing illustration" \
|
|
56
|
+
--aspect "3:4"
|
|
57
|
+
```
|
|
40
58
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
59
|
+
**When needing special image ratios, directly use --width and --height parameters**
|
|
60
|
+
|
|
61
|
+
Generate a 2:1 wide poster
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
neta-cli make_image \
|
|
65
|
+
--prompt "@Neta#996, wide poster" \
|
|
66
|
+
--width "1536" \
|
|
67
|
+
--height "768"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Note: When using custom resolutions, excessively high or low values will cause image degradation. Try to keep values within the range [768-1536]**
|
|
48
71
|
|
|
49
72
|
---
|
|
50
73
|
|
|
51
|
-
## Common
|
|
74
|
+
## Common Use Cases
|
|
52
75
|
|
|
53
|
-
### Character
|
|
76
|
+
### Character Standing Illustration
|
|
54
77
|
|
|
55
78
|
```bash
|
|
56
79
|
neta-cli make_image \
|
|
57
|
-
--prompt "
|
|
80
|
+
--prompt "@Neta#996, sailor uniform, standing at the classroom door, sunlight streaming through the window, fresh and natural" \
|
|
58
81
|
--aspect "3:4"
|
|
59
82
|
```
|
|
60
83
|
|
|
61
|
-
### Three
|
|
84
|
+
### Three-View Character Sheet
|
|
62
85
|
|
|
63
86
|
```bash
|
|
64
87
|
# Front view
|
|
@@ -71,61 +94,54 @@ neta-cli make_image --prompt "@character_name, side view, white background, full
|
|
|
71
94
|
neta-cli make_image --prompt "@character_name, back view, white background, full body" --aspect "3:4"
|
|
72
95
|
```
|
|
73
96
|
|
|
74
|
-
### Expression
|
|
97
|
+
### Expression Sheet
|
|
75
98
|
|
|
76
99
|
```bash
|
|
77
|
-
neta-cli make_image --prompt "@character_name, happy expression, close
|
|
78
|
-
neta-cli make_image --prompt "@character_name, angry expression, close
|
|
79
|
-
neta-cli make_image --prompt "@character_name, surprised expression, close
|
|
80
|
-
neta-cli make_image --prompt "@character_name, shy expression, close
|
|
100
|
+
neta-cli make_image --prompt "@character_name, happy expression, close-up, white background" --aspect "1:1"
|
|
101
|
+
neta-cli make_image --prompt "@character_name, angry expression, close-up, white background" --aspect "1:1"
|
|
102
|
+
neta-cli make_image --prompt "@character_name, surprised expression, close-up, white background" --aspect "1:1"
|
|
103
|
+
neta-cli make_image --prompt "@character_name, shy expression, close-up, white background" --aspect "1:1"
|
|
81
104
|
```
|
|
82
105
|
|
|
83
|
-
### Background
|
|
106
|
+
### Background Removal
|
|
84
107
|
|
|
85
108
|
```bash
|
|
86
109
|
neta-cli remove_background --input_image "image_uuid"
|
|
87
110
|
```
|
|
88
|
-
|
|
89
111
|
---
|
|
90
112
|
|
|
91
113
|
## FAQ
|
|
92
114
|
|
|
93
|
-
### Q: What if the generated
|
|
115
|
+
### Q: What if the generated result doesn't match expectations?
|
|
94
116
|
|
|
95
|
-
**A:**
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
4. Try different aspect ratios.
|
|
117
|
+
**A:** Adjust prompts gradually:
|
|
118
|
+
1. Add more specific details
|
|
119
|
+
2. Specify art style clearly
|
|
120
|
+
3. Simplify overly complex scenes
|
|
121
|
+
4. Try different aspect ratios
|
|
101
122
|
|
|
102
|
-
### Q: What if character
|
|
123
|
+
### Q: What if the character's face is distorted?
|
|
103
124
|
|
|
104
125
|
**A:**
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
4. Use close‑up compositions (explicitly mention “face close‑up”).
|
|
126
|
+
1. Avoid overly complex expression descriptions
|
|
127
|
+
2. Don't describe multiple actions at once
|
|
128
|
+
3. Try adding descriptions like "exquisite facial features"
|
|
129
|
+
4. Use close-up composition (emphasize "face close-up" in the prompt)
|
|
110
130
|
|
|
111
131
|
### Q: How to maintain character consistency?
|
|
112
132
|
|
|
113
133
|
**A:**
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
3. First query character details to get canonical descriptions:
|
|
118
|
-
|
|
134
|
+
1. Use fixed character feature descriptions
|
|
135
|
+
2. Save successful prompt templates
|
|
136
|
+
3. First query character details to get standard descriptions
|
|
119
137
|
```bash
|
|
120
138
|
neta-cli request_character_or_elementum --name "character_name"
|
|
121
139
|
```
|
|
122
|
-
|
|
123
|
-
4. Build prompts based on that description.
|
|
140
|
+
4. Generate prompts based on character descriptions
|
|
124
141
|
|
|
125
142
|
---
|
|
126
143
|
|
|
127
|
-
## Related
|
|
128
|
-
|
|
129
|
-
- [Character search](./character-search.md) — getting canonical character info.
|
|
130
|
-
- [Video generation](./video-generation.md) — converting images into animated video.
|
|
144
|
+
## Related Documents
|
|
131
145
|
|
|
146
|
+
- [Character Search](./character-search.md) - Get character standard information
|
|
147
|
+
- [Video Generation](./video-generation.md) - Convert images to dynamic videos
|
|
@@ -11,16 +11,14 @@ Through the "Elementum Alchemy" workflow, forge any visual concept into a reusab
|
|
|
11
11
|
|
|
12
12
|
## Prerequisites
|
|
13
13
|
|
|
14
|
-
Ensure the environment variable `NETA_TOKEN` is set.
|
|
15
|
-
|
|
16
14
|
Ensure the latest version of Neta CLI is installed:
|
|
17
15
|
```
|
|
18
16
|
neta-cli --version
|
|
19
|
-
0.
|
|
17
|
+
0.11.0
|
|
20
18
|
```
|
|
21
19
|
|
|
22
20
|
```
|
|
23
|
-
npm i @talesofai/neta-
|
|
21
|
+
npm i @talesofai/neta-skills@latest -g
|
|
24
22
|
```
|
|
25
23
|
|
|
26
24
|
## Command Usage
|
|
@@ -19,13 +19,11 @@ Used to interact with the Neta API to browse space‑level content.
|
|
|
19
19
|
|
|
20
20
|
## Prerequisites
|
|
21
21
|
|
|
22
|
-
Make sure the `NETA_TOKEN` environment variable is set.
|
|
23
|
-
|
|
24
22
|
Install the latest version of the Neta CLI:
|
|
25
23
|
|
|
26
24
|
```bash
|
|
27
25
|
neta-cli --version
|
|
28
|
-
0.
|
|
26
|
+
0.11.0
|
|
29
27
|
```
|
|
30
28
|
|
|
31
29
|
```bash
|
|
@@ -14,13 +14,11 @@ description: Neta API research and recommendation skill — provide keyword/tag/
|
|
|
14
14
|
|
|
15
15
|
## Prerequisites
|
|
16
16
|
|
|
17
|
-
Make sure the `NETA_TOKEN` environment variable is set.
|
|
18
|
-
|
|
19
17
|
Install the latest version of the Neta CLI:
|
|
20
18
|
|
|
21
19
|
```bash
|
|
22
20
|
neta-cli --version
|
|
23
|
-
0.
|
|
21
|
+
0.11.0
|
|
24
22
|
```
|
|
25
23
|
|
|
26
24
|
```bash
|
|
@@ -28,6 +28,9 @@ npx skills add talesofai/neta-skills/skills/zh_cn/neta-suggest
|
|
|
28
28
|
|
|
29
29
|
# 角色创建与管理
|
|
30
30
|
npx skills add talesofai/neta-skills/skills/zh_cn/neta-character
|
|
31
|
+
|
|
32
|
+
# 元素(视觉风格/概念)创建与管理
|
|
33
|
+
npx skills add talesofai/neta-skills/skills/zh_cn/neta-elementum
|
|
31
34
|
```
|
|
32
35
|
|
|
33
36
|
## Instructions
|
|
@@ -39,6 +42,7 @@ npx skills add talesofai/neta-skills/skills/zh_cn/neta-character
|
|
|
39
42
|
- 浏览推荐流、查看作品详情、点赞互动、社区视角浏览 → 使用 `neta-community`
|
|
40
43
|
- 关键词/标签/分类/推荐流调研、从宽到窄找题材 → 使用 `neta-suggest`
|
|
41
44
|
- 创建或管理动漫/文化IP/原创角色(VToken/TCP/OC)→ 使用 `neta-character`
|
|
45
|
+
- 创建或管理视觉风格元素(场景、道具、服装、姿势、氛围、梗)→ 使用 `neta-elementum`
|
|
42
46
|
3. **仅在边界不清或需要解释时使用本 skill**,帮用户说明应该选择哪一个子 skill。
|
|
43
47
|
|
|
44
48
|
## 能力地图与子 Skill 说明
|
|
@@ -115,6 +119,21 @@ npx skills add talesofai/neta-skills/skills/zh_cn/neta-character
|
|
|
115
119
|
|
|
116
120
|
详见 `skills/zh_cn/neta-character/SKILL.md`。
|
|
117
121
|
|
|
122
|
+
### 6. 元素(视觉风格/概念)创建与管理:`neta-elementum`
|
|
123
|
+
|
|
124
|
+
负责:
|
|
125
|
+
- 创建新元素(视觉概念)为 VToken(TCP/Elementum)
|
|
126
|
+
- 更新已有元素设置(代表图、prompt、描述)
|
|
127
|
+
- 查询和搜索元素
|
|
128
|
+
- 创建前生成视觉预览图
|
|
129
|
+
|
|
130
|
+
适用场景:
|
|
131
|
+
- 用户想要「创建视觉元素」「做个 Elementum」「封装一个风格」
|
|
132
|
+
- 用户想创建可复用的视觉概念(场景、道具、服装、姿势、氛围、梗)
|
|
133
|
+
- 用户想要「列出我的元素」或「搜索元素」
|
|
134
|
+
|
|
135
|
+
详见 `skills/neta-elementum/SKILL.md`。
|
|
136
|
+
|
|
118
137
|
## 迁移说明(从旧 neta skill)
|
|
119
138
|
|
|
120
139
|
如果遇到旧文档或指令中引用了 `neta` skill 下的命令,请按下表迁移到新的专职 skill:
|
|
@@ -126,6 +145,7 @@ npx skills add talesofai/neta-skills/skills/zh_cn/neta-character
|
|
|
126
145
|
| 作品详情、推荐流、点赞互动 | `neta-community` |
|
|
127
146
|
| 关键词/标签/分类/推荐调研 | `neta-suggest` |
|
|
128
147
|
| 角色创建与管理 | `neta-character` |
|
|
148
|
+
| 元素(视觉风格/概念)创建 | `neta-elementum` |
|
|
129
149
|
|
|
130
150
|
今后的实现中,请优先调用这些子 skill,不再在本 skill 中添加新的命令示例。
|
|
131
151
|
|
|
@@ -11,16 +11,14 @@ description: Neta 角色锻造技能 - 引导用户创建或更新动漫/文化I
|
|
|
11
11
|
|
|
12
12
|
## 前置条件
|
|
13
13
|
|
|
14
|
-
确保已设置环境变量 `NETA_TOKEN`。
|
|
15
|
-
|
|
16
14
|
确保已安装最新版本的 Neta Cli
|
|
17
15
|
```
|
|
18
16
|
neta-cli --version
|
|
19
|
-
0.
|
|
17
|
+
0.11.0
|
|
20
18
|
```
|
|
21
19
|
|
|
22
20
|
```
|
|
23
|
-
npm i @talesofai/neta-
|
|
21
|
+
npm i @talesofai/neta-skills@latest -g
|
|
24
22
|
```
|
|
25
23
|
|
|
26
24
|
## 命令使用
|
|
@@ -1,47 +1,73 @@
|
|
|
1
1
|
# 图片生成最佳实践
|
|
2
2
|
|
|
3
|
+
理解用户需求,完善提示词,在满足用户要求的同时,提升画面的细节和氛围感。
|
|
4
|
+
|
|
3
5
|
适用于 `make_image` 和 `remove_background` 命令。
|
|
4
6
|
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
## 提示词结构
|
|
8
10
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- 参考图:
|
|
12
|
-
-
|
|
11
|
+
- 角色:通过"@角色名"格式使用角色,如"@角色名"。角色名必须是完全一致的字符串,不得修改,不得加空格,不得简体繁体转换。这个引用会包含角色的完整形象信息。
|
|
12
|
+
- 画面元素:通过"/元素名称"格式使用工具自带的画面元素,如"/漫画屋"。
|
|
13
|
+
- 参考图: 当使用 8_image_edit 模型时可以通过"参考图-artifact_uuid"格式引用已存在的图片作为参考图,如"参考图-1234567890"。最多能有 14 张图片
|
|
14
|
+
- 中文自然语言词组:由短语组成的描述画面的文本,如果没有引用角色,则需要在自然语言词组中描述角色形象.
|
|
13
15
|
|
|
14
16
|
**推荐格式:**
|
|
15
17
|
```
|
|
16
18
|
[角色] + [画面元素] + [参考图] + [主体描述] + [外观细节] + [服装/配饰] + [姿势/动作] + [背景/环境] + [光影/氛围] + [艺术风格]
|
|
17
19
|
```
|
|
18
20
|
|
|
19
|
-
**示例:**
|
|
20
|
-
```
|
|
21
|
-
@奈塔#996, /漫画风格, 参考图-1234567890, 参考图-1234567891, 词组1, 词组2…
|
|
22
|
-
```
|
|
23
|
-
|
|
24
21
|
**注意:**
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
22
|
+
- 对于 noobxl 模型,@角色名 必须放在首位
|
|
23
|
+
- 画面元素必须以 "/名称" 形式出现,如 "/漫画屋"
|
|
24
|
+
- 对于 8_image_edit 模型,要多提供上下文和意图。要描述场景,而不仅仅是列出关键字。该模型的核心优势在于其深厚的语言理解能力。与一连串不相关的字词相比,叙述性描述段落几乎总是能生成更好、更连贯的图片
|
|
28
25
|
- 可以通过 search_character_or_elementum 搜索来获取可以使用的角色或元素,使用前通过 request_character_or_elementum 验证角色或者元素可用
|
|
29
26
|
- 参考图必须以 参考图-artifact_uuid 形式出现, 只能使用 `read_collection` 获取到的图片 artifact,或者生成过的图片作为参考图
|
|
30
|
-
- 引用角色或者元素的时候,前后要添加空格或逗号分隔,如:"@奈塔#996,
|
|
31
|
-
-
|
|
27
|
+
- 引用角色或者元素的时候,前后要添加空格或逗号分隔,如:"@奈塔#996, /漫画风格, 在校园里散步"
|
|
28
|
+
- 对于修改图片等跟原图参考相关的生成,请一定使用携带参考图并使用 8_image_edit 模型
|
|
32
29
|
- 示例(引用角色和元素):@奈塔#996, /漫画风格, 参考图-artifact_uuid, 参考图-artifact_uuid, 词组1, 词组2…
|
|
33
30
|
- **存在具体的角色时,通过@角色名来使用角色,而不是重新描述角色的外貌**
|
|
34
31
|
---
|
|
35
32
|
|
|
33
|
+
## 模型选择
|
|
34
|
+
|
|
35
|
+
- 3_noobxl: 单角色的风格类图像生成,提示词使用 danbooru tag 格式。擅长多种画风还有画风组合,不擅长复杂场景、多角色、带文字的图像。当用户指定了具体的角色及风格元素需要绘制风格化的角色图片时优先使用这个模型。
|
|
36
|
+
|
|
37
|
+
- 8_image_edit(默认): 全能高级图像生成模型,提示词使用自然语言描述,支持多张图片输入。擅长遵循复杂的指令并呈现高保真文本、多角色绘制、带文字的图像。不擅长精美的画风。可以用于连续艺术(漫画分格 / 故事板)、添加和移除元素、局部重绘(语义遮盖)、风格迁移、组合多张图片让事物焕发活力等。当涉及多个角色、参考图包含复杂的画面结构及文字内容或对指定的图片进行修改调整时优先使用这个模型
|
|
38
|
+
|
|
36
39
|
## 宽高比选择
|
|
37
40
|
|
|
38
41
|
| 比例 | 分辨率 | 适用场景 |
|
|
39
42
|
|------|--------|----------|
|
|
40
|
-
| `1:1` |
|
|
41
|
-
| `3:4` |
|
|
42
|
-
| `4:3` |
|
|
43
|
-
| `9:16` |
|
|
44
|
-
| `16:9` |
|
|
43
|
+
| `1:1` | 1024*1024 | 头像、图标、方形展示图 |
|
|
44
|
+
| `3:4` | 896*1152 | **默认推荐**,社交媒体竖图、海报 |
|
|
45
|
+
| `4:3` | 1152*896 | 横版插图、演示文稿 |
|
|
46
|
+
| `9:16` | 768*1344 | 手机壁纸、短视频封面、Stories |
|
|
47
|
+
| `16:9` | 1344*768 | 视频封面、横幅、桌面壁纸 |
|
|
48
|
+
|
|
49
|
+
**当需要使用上述五种比例时优先使用--aspect参数**
|
|
50
|
+
|
|
51
|
+
生成3:4的角色立绘
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
neta-cli make_image \
|
|
55
|
+
--prompt "@奈塔#996,角色立绘" \
|
|
56
|
+
--aspect "3:4"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**当需要特殊的图片比例时直接使用--width,--height参数**
|
|
60
|
+
|
|
61
|
+
生成2:1的宽幅海报
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
neta-cli make_image \
|
|
65
|
+
--prompt "@奈塔#996,宽幅海报" \
|
|
66
|
+
--width "1536" \
|
|
67
|
+
--height "768"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**注意:使用自定义分辨率时,过高或过低的数值会导致画面崩坏,尽可能的将数值控制在[768-1536]之间**
|
|
45
71
|
|
|
46
72
|
---
|
|
47
73
|
|
|
@@ -51,7 +77,7 @@
|
|
|
51
77
|
|
|
52
78
|
```bash
|
|
53
79
|
neta-cli make_image \
|
|
54
|
-
--prompt "
|
|
80
|
+
--prompt "@奈塔#996,水手服,站在教室门口,阳光从窗户洒进来,清新自然" \
|
|
55
81
|
--aspect "3:4"
|
|
56
82
|
```
|
|
57
83
|
|
|
@@ -11,16 +11,14 @@ description: Neta 元素(Elementum)炼金技能 - 引导用户创建或更新风
|
|
|
11
11
|
|
|
12
12
|
## 前置条件
|
|
13
13
|
|
|
14
|
-
确保已设置环境变量 `NETA_TOKEN`。
|
|
15
|
-
|
|
16
14
|
确保已安装最新版本的 Neta Cli
|
|
17
15
|
```
|
|
18
16
|
neta-cli --version
|
|
19
|
-
0.
|
|
17
|
+
0.11.0
|
|
20
18
|
```
|
|
21
19
|
|
|
22
20
|
```
|
|
23
|
-
npm i @talesofai/neta-
|
|
21
|
+
npm i @talesofai/neta-skills@latest -g
|
|
24
22
|
```
|
|
25
23
|
|
|
26
24
|
## 命令使用
|