Submit Anime Project logo

Submit Anime Project

Community
zhaihao118
submit-anime-project

整部作品提交技能。读取全剧 seedance_project_tasks.json,按 Seedance 任务提交协议批量推送到 /api/tasks/push,并生成提交报告。关键词:提交任务、Seedance、批量推送、整部作品、task submit、api/tasks/push。

Overview

Publisherzhaihao118
RepositoryMicro-Drama-Skills
Skill namesubmit-anime-project
Stars
325
Forks
81
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by zhaihao118 on GitHub. Read the source before you install it.

Installation

Install the Submit Anime Project AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/zhaihao118/Micro-Drama-Skills/tree/main/.claude/skills/submit-anime-project
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/zhaihao118/Micro-Drama-Skills.git /tmp/Micro-Drama-Skills
mkdir -p .claude/skills
cp -r /tmp/Micro-Drama-Skills/.claude/skills/submit-anime-project .claude/skills/submit-anime-project
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Submit Anime Project in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Submit Anime Project on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Submit Anime Project is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

整部作品提交技能 (Submit Project)

概述

本技能用于将一整部短剧项目的分镜任务(通常 50 条)批量提交到 Seedance 任务服务。

输入来源:

  • seedance_project_tasks.json(项目根目录下的唯一任务文件)

输出结果:

  • 提交成功的 taskCodes
  • 失败任务清单
  • submission_report.json

依赖协议

遵循 seedance-video-task-submit 协议(详见 skill-task-submit.md):

  • 服务地址默认:http://localhost:3456
  • 核心接口:POST /api/tasks/push
  • 支持单任务或批量(tasks 数组)

任务对象关键字段:

  • prompt (必填,使用 (@fileName) 语法引用参考图)
  • description
  • modelConfig(model / referenceMode / aspectRatio / duration)
  • referenceFiles (对象数组,每项包含 fileName / base64 / fileType)
  • realSubmit (默认 false)
  • priority (默认 1)
  • tags (建议包含 project_id,EPxx,A|B)

referenceFiles 存储与展开

存储格式(seedance_tasks.json 中):referenceFiles 为相对路径字符串数组,相对于项目根目录。包含分镜参考图、角色参考图、场景参考图和道具参考图。

json
"referenceFiles": [
  "episodes/EP01/DM-002-EP01-A_storyboard.png",
  "characters/林策_ref.png",
  "characters/沈璃_ref.png",
  "scenes/scene_01_ref.png",
  "props/prop_01_ref.png"
]

提交时展开:提交前将每个路径展开为对象,读取文件转 base64:

json
"referenceFiles": [
  {
    "fileName": "DM-002-EP01-A_storyboard.png",
    "base64": "data:image/png;base64,iVBOR...",
    "fileType": "image/png"
  }
]

展开逻辑(Python 伪代码):

python
import base64, os, mimetypes

def expand_reference_files(ref_paths, project_dir):
    result = []
    for rel_path in ref_paths:
        abs_path = os.path.join(project_dir, rel_path)
        file_name = os.path.basename(rel_path)
        mime_type = mimetypes.guess_type(abs_path)[0] or "image/png"
        with open(abs_path, "rb") as f:
            b64 = base64.b64encode(f.read()).decode()
        result.append({
            "fileName": file_name,
            "base64": f"data:{mime_type};base64,{b64}",
            "fileType": mime_type
        })
    return result

目录约定

目标项目目录(示例 DM-002_tjkc/)应包含:

DM-002_tjkc/
├── seedance_project_tasks.json          # 必须,唯一任务文件
├── episodes/
│   ├── EP01/
│   │   ├── dialogue.md
│   │   └── storyboard_config.json
│   └── ...
└── submission_report.json               # 本技能生成

执行流程

第一步:定位项目

  1. 若用户指定项目编号(如 DM-002),定位对应目录
  2. 若未指定,使用 projects/index.json 最新项目

第二步:加载任务

  1. 优先读取 seedance_project_tasks.json
  2. 若不存在,遍历 episodes/EP01-EP25/seedance_tasks.json 聚合
  3. 若用户指定单集(如 EP01),只读取该集的 seedance_tasks.json
  4. 校验任务结构:
    • 每个任务必须有 prompt
    • modelConfig 缺失时补默认值
    • realSubmit 缺失时默认 false

第三步:展开 referenceFiles

对每个任务的 referenceFiles(相对路径字符串数组),执行 base64 展开:

  1. 拼接绝对路径:项目根目录 + 相对路径
  2. 读取文件二进制内容
  3. 转换为 {fileName, base64: "data:mime;base64,...", fileType} 对象
  4. 替换原 referenceFiles 数组

第四步:批量提交

  1. 按批次提交(推荐每批 20~50 条)到 /api/tasks/push
  2. 请求体格式:
json
{
  "tasks": [
    {
      "prompt": "...",
      "description": "...",
      "modelConfig": {
        "model": "Seedance 2.0 Fast",
        "referenceMode": "全能参考",
        "aspectRatio": "16:9",
        "duration": "15s"
      },
      "referenceFiles": [
        {
          "fileName": "DM-002-EP01-A_storyboard.png",
          "base64": "data:image/png;base64,...",
          "fileType": "image/png"
        },
        {
          "fileName": "林策_ref.png",
          "base64": "data:image/png;base64,...",
          "fileType": "image/png"
        },
        {
          "fileName": "scene_01_ref.png",
          "base64": "data:image/png;base64,...",
          "fileType": "image/png"
        }
      ],
      "realSubmit": true,
      "priority": 1,
      "tags": ["DM-002", "EP01", "A"]
    }
  ]
}
  1. 收集返回的 taskCodes
  2. 记录失败批次与错误信息

第五步:生成报告

在项目根目录生成 submission_report.json,格式示例:

json
{
  "project_id": "DM-002",
  "submitted_at": "2026-02-16T12:00:00Z",
  "api_base": "http://localhost:3456",
  "total_tasks": 300,
  "submitted_tasks": 300,
  "failed_tasks": 0,
  "task_codes": ["SD-20260216-0001"],
  "failed_items": []
}

推荐默认值

当字段缺失时,按以下默认值补齐:

json
{
  "modelConfig": {
    "model": "Seedance 2.0 Fast",
    "referenceMode": "全能参考",
    "aspectRatio": "16:9",
    "duration": "15s"
  },
  "referenceFiles": [],
  "realSubmit": false,
  "priority": 1,
  "tags": []
}

运行指令

可通过以下表达触发:

  • "提交整部作品任务"
  • "把 DM-002 全部分镜提交到 Seedance"
  • "batch submit drama tasks"
  • "提交所有 seedance_tasks"

可附带参数:

  • 项目编号:如 DM-002
  • realSubmit:true/false
  • 批次大小:如 batch=30
  • API 地址:如 api_base=http://localhost:3456

检查清单

  • 已定位正确项目目录
  • 任务来源文件存在(项目级或分集级)
  • 每个任务包含 prompt
  • 批量提交到 /api/tasks/push 成功
  • 已收集全部 taskCodes
  • 失败项已记录并可重试
  • submission_report.json 已生成

输出示例

text
✅ 整部作品任务提交完成

项目:DM-002
总任务数:300
成功提交:300
失败:0

报告文件:/data/dongman/projects/DM-002_tjkc/submission_report.json

Frequently asked questions

What does the Submit Anime Project AI skill do?

整部作品提交技能。读取全剧 seedance_project_tasks.json,按 Seedance 任务提交协议批量推送到 /api/tasks/push,并生成提交报告。关键词:提交任务、Seedance、批量推送、整部作品、task submit、api/tasks/push。

Why use Submit Anime Project on TypingMind?

Because you install it once and use it with any model. Submit Anime Project is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Submit Anime Project in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/zhaihao118/Micro-Drama-Skills/tree/main/.claude/skills/submit-anime-project. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Submit Anime Project?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Submit Anime Project?

As many as you like. As long as a model supports skills, you can use Submit Anime Project with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Submit Anime Project AI skill free?

It is published on GitHub by zhaihao118. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇