自己的武器自己造:用码道打造视频生成skill,在编程闲暇时可以娱乐娱乐

举报
deli007 发表于 2026/04/01 10:34:44 2026/04/01
【摘要】       当下程序员的工作台就是诸如码道这样的AI Coding工具,我们如何让编程工具能够生成视频,在闲暇时娱乐一下呢?动手打造一个视频生成skill吧。Step1:在码道 设置->技能与规则->系统内置 里检查一下是否有 skill-creator 这个技能。如果没有,把skill-creator压缩包(skill-creator.zip)解压后放到个人级skill目录里。拷贝进去后重...

      当下程序员的工作台就是诸如码道这样的AI Coding工具,我们如何让编程工具能够生成视频,在闲暇时娱乐一下呢?动手打造一个视频生成skill吧。

Step1:在码道 设置->技能与规则->系统内置 里检查一下是否有 skill-creator 这个技能。如果没有,把skill-creator压缩包(skill-creator.zip)解压后放到个人级skill目录里。拷贝进去后重新关闭打开码道,在设置->技能与规则->个人级,可以看到这个技能。它是skill兵工厂,可以生成其它任意skill。


Step2:在码道新建一个项目,再新建一个seedance_demo.py文件,把seedance官方生成视频的python示例代码拷贝过去(示例代码可从seedance模型服务开通界面获取,内含硬编码的seedance api key,这里我用xxxx隐藏了key)

import os
import time  
# 通过 pip install 'volcengine-python-sdk[ark]' 安装方舟SDK
from volcenginesdkarkruntime import Ark

# 请确保您已将 API Key 存储在环境变量 ARK_API_KEY 中
# 初始化Ark客户端,从环境变量中读取您的API Key
client = Ark(
    # 此为默认路径,您可根据业务所在地域进行配置
    base_url="https://ark.cn-beijing.volces.com/api/v3",
    # 从环境变量中获取您的 API Key。此为默认方式,您可根据需要进行修改
    api_key="xxxx",
)

if __name__ == "__main__":
    print("----- create request -----")
    create_result = client.content_generation.tasks.create(
        model="doubao-seedance-1-5-pro-251215", # 模型 Model ID 已为您填入
        content=[
            {
                # 文本提示词与参数组合
                "type": "text",
                "text": "无人机以极快速度穿越复杂障碍或自然奇观,突然袭来的导弹击中发生剧烈爆炸  --duration 5 --camerafixed false --watermark true"
            },
            { # 若仅需使用文本生成视频功能,可对该大括号内的内容进行注释处理,并删除上一行中大括号后的逗号。
                # 首帧图片URL
                "type": "image_url",
                "image_url": {
                    "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seepro_i2v.png" 
                }
            }
        ]
    )
    print(create_result)

    # 轮询查询部分
    print("----- polling task status -----")
    task_id = create_result.id
    while True:
        get_result = client.content_generation.tasks.get(task_id=task_id)
        status = get_result.status
        if status == "succeeded":
            print("----- task succeeded -----")
            print(get_result)
            break
        elif status == "failed":
            print("----- task failed -----")
            print(f"Error: {get_result.error}")
            break
        else:
            print(f"Current status: {status}, Retrying after 3 seconds...")
            time.sleep(3)


Step3:在码道输入prompt(注意,为了方便自己使用,我是让它把seedance的api key直接硬编码到skill里去了,安全的做法是让它去读取环境变量):用skill-creator技能创建一个名为 video-generator 技能,要求如下:1)如何生成视频请参考示例代码 seedance_demo.py,把api key直接硬编码到skill里;2)交互式逐步提醒用户提供首帧图片的URL或本地路径(提供本地路径时用base64编码直接发送图片数据给seedance模型),提醒用户提供视频生成提示词;3)中途不断告知用户视频生成进度,最后把生成的视频URL给到用户;


Step4:把生成的 video-generator 目录拷贝到码道个人级skill目录里去(码道->设置->技能与规则->个人级,点击打开 ~/.codeartsdoer/skills/目录),关闭再重新打开码道设置窗口,可以看到在个人级技能下多了一个video-generator技能






Step5:在任意项目开发闲暇时,可以输入prompt:用 video-generator 技能生成一个视频。   按skill的提示,提供图片和提示词,




Step6:我们把这个生成视频后的URL复制到浏览器打开,即可下载这个视频,可以欣赏一段美丽的舞蹈了 :)


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。