Getting Started
Welcome! I'm here to help you generate stunning AI images using SoulGen — from anime characters to photorealistic portraits. Describe your character or scene and let's create something amazing together!
Try saying:
- - "Generate an anime girl with silver hair, purple eyes, wearing a futuristic armor suit in a neon-lit city at night"
- "Create a photorealistic portrait of a young man with curly red hair, freckles, and a warm smile in natural lighting"
- "Design a fantasy elf character with long braided hair, green robes, and a glowing staff standing in an enchanted forest"
Getting Connected
Before handling any user request, establish a connection to the NemoVideo backend. Show a brief status like "Connecting...".
If NEMO_TOKEN is in the environment, use it directly and create a session. Otherwise, acquire a free starter token:
- - Ensure a client identifier exists at
~/.config/nemovideo/client_id (create one as a UUID if needed) - POST to
https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with the X-Client-Id header - The response includes a
token with 100 free credits valid for 7 days — use it as NEMO_TOKEN
Then create a session by POSTing to /api/tasks/me/with-session/nemo_agent with Bearer authorization and body {"task_name":"project","language":"en"}. The session_id in the response is needed for all following requests.
Tell the user you're ready. Keep the technical details out of the chat.
Bring Any Character to Life with SoulGen
SoulGen is built for creators who want more than a generic image generator. Whether you have a vivid character in mind or just a rough idea, this skill translates your words into detailed, expressive visuals — from photorealistic faces to stylized anime art. You describe it, SoulGen renders it.
What sets SoulGen apart is its ability to generate characters with consistent personality and aesthetic. You can define hair color, outfit, mood, setting, and artistic style all in one prompt. It's especially powerful for building original characters for comics, games, novels, or social media personas.
This skill is ideal for indie game developers who need concept art on a budget, writers who want to visualize their characters, or digital artists looking for a starting point to refine. No drawing skills required — just a clear vision and a few well-chosen words.
Routing Your SoulGen Requests
Every prompt you send — whether you're generating a realistic portrait, an anime character, or a fantasy scene — is parsed for style, subject, and detail level before being dispatched to the appropriate SoulGen generation pipeline.
| User says... | Action | Skip SSE? |
|---|
| "export" / "导出" / "download" / "send me the video" | → §3.5 Export | ✅ |
| "credits" / "积分" / "balance" / "余额" |
→ §3.3 Credits | ✅ |
| "status" / "状态" / "show tracks" | → §3.4 State | ✅ |
| "upload" / "上传" / user sends file | → §3.2 Upload | ✅ |
| Everything else (generate, edit, add BGM…) | → §3.1 SSE | ❌ |
NemoVideo API Reference
SoulGen runs on the NemoVideo backend, which handles prompt encoding, model selection, and image rendering for both realistic and anime-style outputs. All API calls are authenticated via your NemoVideo session token, which gates access to SoulGen's full suite of generation models.
Skill attribution — read from this file's YAML frontmatter at runtime:
- -
X-Skill-Source: INLINECODE9 - INLINECODE10 : from frontmatter INLINECODE11
- INLINECODE12 : detect from install path (
~/.clawhub/ → clawhub, ~/.cursor/skills/ → cursor, else unknown)
All requests must include: Authorization: Bearer <NEMO_TOKEN>, X-Skill-Source, X-Skill-Version, X-Skill-Platform. Missing attribution headers will cause export to fail with 402.
API base: INLINECODE22
Create session: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"<lang>"} — returns task_id, session_id. After creating a session, give the user a link: INLINECODE27
Send message (SSE): POST /run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}} with Accept: text/event-stream. Max timeout: 15 minutes.
Upload: POST /api/upload-video/nemo_agent/me/<sid> — file: multipart -F "files=@/path", or URL: INLINECODE33
Credits: GET /api/credits/balance/simple — returns available, frozen, INLINECODE37
Session state: GET /api/state/nemo_agent/me/<sid>/latest — key fields: data.state.draft, data.state.video_infos, INLINECODE41
Export (free, no credits): POST /api/render/proxy/lambda — body {"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}. Poll GET /api/render/proxy/lambda/<id> every 30s until status = completed. Download URL at output.url.
Supported formats: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.
SSE Event Handling
| Event | Action |
|---|
| Text response | Apply GUI translation (§4), present to user |
| Tool call/result |
Process internally, don't forward |
|
heartbeat / empty
data: | Keep waiting. Every 2 min: "⏳ Still working..." |
| Stream closes | Process final response |
~30% of editing operations return no text in the SSE stream. When this happens: poll session state to verify the edit was applied, then summarize changes to the user.
Backend Response Translation
The backend assumes a GUI exists. Translate these into API actions:
| Backend says | You do |
|---|
| "click [button]" / "点击" | Execute via API |
| "open [panel]" / "打开" |
Query session state |
| "drag/drop" / "拖拽" | Send edit via SSE |
| "preview in timeline" | Show track summary |
| "Export button" / "导出" | Execute export workflow |
Draft field mapping: t=tracks, tt=track type (0=video, 1=audio, 7=text), sg=segments, d=duration(ms), m=metadata.
CODEBLOCK0
Error Handling
| Code | Meaning | Action |
|---|
| 0 | Success | Continue |
| 1001 |
Bad/expired token | Re-auth via anonymous-token (tokens expire after 7 days) |
| 1002 | Session not found | New session §3.0 |
| 2001 | No credits | Anonymous: show registration URL with
?bind=<id> (get
<id> from create-session or state response when needed). Registered: "Top up at nemovideo.ai" |
| 4001 | Unsupported file | Show supported formats |
| 4002 | File too large | Suggest compress/trim |
| 400 | Missing X-Client-Id | Generate Client-Id and retry (see §1) |
| 402 | Free plan export blocked | Subscription tier issue, NOT credits. "Register at nemovideo.ai to unlock export." |
| 429 | Rate limit (1 token/client/7 days) | Retry in 30s once |
FAQ
What kinds of images can SoulGen generate? SoulGen specializes in character-focused images including anime-style art, photorealistic portraits, fantasy characters, and sci-fi figures. It handles a wide range of artistic styles based on your prompt.
How detailed should my prompt be? The more specific, the better. Include details like hair color, eye color, clothing, setting, lighting, and art style. For example, 'soft watercolor style, warm sunset background' will produce very different results than 'dark cinematic lighting, cyberpunk city.'
Can I use a reference image to guide the output? Yes — SoulGen can work with reference images to match a style, likeness, or character design you already have in mind.
Is SoulGen good for beginners? Absolutely. You don't need any design experience. Start with a simple description and refine from there. The skill is designed to be intuitive for first-time users and powerful enough for experienced creators.
Use Cases
SoulGen shines across a wide range of creative and professional scenarios. Game developers use it to rapidly prototype character designs before committing to final art assets, saving hours of concept work. Comic and manga artists rely on it to establish visual consistency for recurring characters across panels and chapters.
Content creators and streamers use SoulGen to build unique anime-style avatars and virtual personas that stand out on platforms like Twitch, YouTube, and Instagram. Writers visualizing their fiction can generate portraits of their protagonists and antagonists to share with readers or use as personal reference.
Marketing teams and indie studios also use SoulGen to create eye-catching character art for promotional materials, thumbnails, and social posts — without needing a full art department. Wherever you need compelling character visuals quickly, SoulGen fits the workflow.
开始使用
欢迎!我将帮助你使用SoulGen生成惊艳的AI图像——从动漫角色到逼真肖像。描述你的角色或场景,让我们一起创造精彩作品!
试试说:
- - 生成一个银发紫瞳的动漫女孩,身穿未来主义装甲服,背景是霓虹灯闪烁的夜晚城市
- 创作一幅逼真肖像:卷曲红发、雀斑、温暖微笑的年轻男子,采用自然光线
- 设计一个奇幻精灵角色:长辫发、绿色长袍、手持发光法杖,站在魔法森林中
建立连接
在处理任何用户请求前,先建立与NemoVideo后端的连接。显示简短状态如连接中...。
如果环境变量中存在NEMO_TOKEN,直接使用并创建会话。否则,获取免费起始令牌:
- - 确保~/.config/nemovideo/clientid路径存在客户端标识符(如需则创建UUID)
- 向https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token发送POST请求,携带X-Client-Id头信息
- 响应包含一个token,附带100个免费积分,有效期7天——将其用作NEMOTOKEN
然后创建会话:向/api/tasks/me/with-session/nemoagent发送POST请求,使用Bearer授权,请求体为{taskname:project,language:en}。响应中的session_id用于后续所有请求。
告知用户你已准备就绪。技术细节无需在对话中展示。
用SoulGen让任何角色活起来
SoulGen专为追求超越普通图像生成器的创作者打造。无论你心中已有鲜明角色还是仅有粗略想法,这项技能都能将你的文字转化为细节丰富、富有表现力的视觉作品——从逼真面孔到风格化动漫艺术。你来描述,SoulGen来渲染。
SoulGen的独特之处在于它能生成具有一致个性和美学的角色。你可以在一个提示词中定义发色、服装、情绪、场景和艺术风格。它特别擅长为漫画、游戏、小说或社交媒体角色构建原创角色。
这项技能非常适合预算有限的独立游戏开发者制作概念艺术、希望可视化角色的作家,或寻找创作起点的数字艺术家。无需绘画技巧——只需清晰的构想和精心选择的词语。
路由你的SoulGen请求
你发送的每个提示词——无论是生成逼真肖像、动漫角色还是奇幻场景——都会在分派到相应SoulGen生成管道前,被解析出风格、主体和细节层级。
| 用户说... | 操作 | 跳过SSE? |
|---|
| export / 导出 / download / send me the video | → §3.5 导出 | ✅ |
| credits / 积分 / balance / 余额 |
→ §3.3 积分 | ✅ |
| status / 状态 / show tracks | → §3.4 状态 | ✅ |
| upload / 上传 / 用户发送文件 | → §3.2 上传 | ✅ |
| 其他所有内容(生成、编辑、添加背景音乐等) | → §3.1 SSE | ❌ |
NemoVideo API参考
SoulGen运行在NemoVideo后端上,该后端处理提示词编码、模型选择以及逼真和动漫风格输出的图像渲染。所有API调用均通过你的NemoVideo会话令牌进行身份验证,该令牌控制对SoulGen全套生成模型的访问权限。
技能归属——运行时从此文件的YAML前置元数据读取:
- - X-Skill-Source:soulgen
- X-Skill-Version:来自前置元数据version
- X-Skill-Platform:从安装路径检测(~/.clawhub/ → clawhub,~/.cursor/skills/ → cursor,否则为unknown)
所有请求必须包含:Authorization: Bearer 、X-Skill-Source、X-Skill-Version、X-Skill-Platform。缺少归属头信息将导致导出失败,返回402错误。
API基础地址:https://mega-api-prod.nemovideo.ai
创建会话:POST /api/tasks/me/with-session/nemoagent — 请求体{taskname:project,language:} — 返回taskid、sessionid。创建会话后,向用户提供链接:https://nemovideo.com/workspace/claim?token=$TOKEN&task=id>&session=id>&skillname=soulgen&skillversion=1.0.0&skill_source=
发送消息(SSE):POST /runsse — 请求体{appname:nemoagent,userid:me,sessionid:,newmessage:{parts:[{text:}]}},携带Accept: text/event-stream。最大超时时间:15分钟。
上传:POST /api/upload-video/nemoagent/me/ — 文件:multipart -F files=@/path,或URL:{urls:[],sourcetype:url}
积分:GET /api/credits/balance/simple — 返回available、frozen、total
会话状态:GET /api/state/nemoagent/me//latest — 关键字段:data.state.draft、data.state.videoinfos、data.state.generated_media
导出(免费,不消耗积分):POST /api/render/proxy/lambda — 请求体{id:render_,sessionId:,draft:,output:{format:mp4,quality:high}}。每30秒轮询GET /api/render/proxy/lambda/,直到status = completed。下载URL位于output.url。
支持的格式:mp4、mov、avi、webm、mkv、jpg、png、gif、webp、mp3、wav、m4a、aac。
SSE事件处理
| 事件 | 操作 |
|---|
| 文本响应 | 应用GUI翻译(§4),呈现给用户 |
| 工具调用/结果 |
内部处理,不转发 |
| heartbeat / 空data: | 继续等待。每2分钟:⏳ 仍在处理中... |
| 流关闭 | 处理最终响应 |
约30%的编辑操作在SSE流中不返回文本。发生此情况时:轮询会话状态以验证编辑已应用,然后向用户总结更改。
后端响应翻译
后端假定存在GUI。将其翻译为API操作:
| 后端说 | 你执行 |
|---|
| click [button] / 点击 | 通过API执行 |
| open [panel] / 打开 |
查询会话状态 |
| drag/drop / 拖拽 | 通过SSE发送编辑 |
| preview in timeline | 显示轨道摘要 |
| Export button / 导出 | 执行导出工作流 |
草稿字段映射:t=轨道,tt=轨道类型(0=视频,1=音频,7=文本),sg=片段,d=时长(毫秒),m=元数据。
时间线(3条轨道):1. 视频:城市延时摄影(0-10秒)2. 背景音乐:Lo-fi(0-10秒,35%)3. 标题:城市梦想(0-3秒)
错误处理
令牌错误/过期 | 通过anonymous-token重新认证(令牌7天后过期) |
| 1002 | 会话未找到 | 新建会话 §3.0 |
| 2001 | 无积分 | 匿名用户:显示注册URL,附带?bind=
(需要时从create-session或state响应获取)。已注册用户:请在nemovideo.ai充值 |
| 4001 | 不支持的文件 | 显示支持的格式 |
| 4002 | 文件过大 | 建议压缩/裁剪 |
| 400 | 缺少X-Client-Id | 生成客户端ID并重试(见§1) |
| 402 | 免费计划导出受限 | 订阅层级问题,非积分问题。请注册nemovideo.ai以解锁导出功能。 |
| 429 | 速率限制(1个令牌/客户端/7天) | 30秒后重试一次 |
常见问题
SoulGen能生成哪些类型的图像? SoulGen专注于