dreamina-video-first-frame

POST https://jimeng.jianying.com/mweb/v1/aigc_draft/generate

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "dreamina-video-first-frame" with this command: npx skills add benzema216/dreamina-claude-skills/benzema216-dreamina-claude-skills-dreamina-video-first-frame

首帧生视频工具

API 端点

POST https://jimeng.jianying.com/mweb/v1/aigc_draft/generate

Python 示例

import requests import hashlib import time import uuid import json import random

def generate_sign(uri_path): device_time = int(time.time()) sign_str = f"9e2c|{uri_path[-7:]}|7|5.8.0|{device_time}||11ac" sign = hashlib.md5(sign_str.encode()).hexdigest() return sign, device_time

def image_to_video(sessionid, image_uri, prompt, width=1536, height=1536, duration_ms=5000, resolution="720p", model="dreamina_ic_generate_video_model_vgfm_3.0_fast"): """ 首帧生视频 - 基于图片生成视频

Args:
    sessionid: 登录 sessionid
    image_uri: 首帧图片 URI
    prompt: 视频运动描述
    width: 图片宽度
    height: 图片高度
    duration_ms: 视频时长毫秒 (3000-10000)
    resolution: 分辨率 "720p" 或 "1080p"
    model: 模型名称
"""
uri = "/mweb/v1/aigc_draft/generate"
sign, device_time = generate_sign(uri)

component_id = str(uuid.uuid4())
submit_id = str(uuid.uuid4())
seed = random.randint(1000000000, 9999999999)

aspect_ratio = f"{width}:{height}"
if width == height:
    aspect_ratio = "1:1"
elif width > height:
    aspect_ratio = "16:9"
else:
    aspect_ratio = "9:16"

draft_content = {
    "type": "draft",
    "id": str(uuid.uuid4()),
    "min_version": "3.2.5",
    "min_features": [],
    "is_from_tsn": True,
    "version": "3.3.8",
    "main_component_id": component_id,
    "component_list": [{
        "type": "video_base_component",
        "id": component_id,
        "min_version": "1.0.0",
        "aigc_mode": "workbench",
        "metadata": {
            "type": "",
            "id": str(uuid.uuid4()),
            "created_platform": 3,
            "created_time_in_ms": str(int(time.time() * 1000))
        },
        "generate_type": "gen_video",
        "abilities": {
            "type": "",
            "id": str(uuid.uuid4()),
            "gen_video": {
                "type": "",
                "id": str(uuid.uuid4()),
                "text_to_video_params": {
                    "type": "",
                    "id": str(uuid.uuid4()),
                    "video_gen_inputs": [{
                        "type": "",
                        "id": str(uuid.uuid4()),
                        "min_version": "3.0.5",
                        "prompt": prompt,
                        "first_frame_image": {
                            "type": "image",
                            "id": str(uuid.uuid4()),
                            "source_from": "upload",
                            "platform_type": 1,
                            "image_uri": image_uri,
                            "width": width,
                            "height": height,
                            "uri": image_uri
                        },
                        "video_mode": 2,
                        "fps": 24,
                        "duration_ms": duration_ms,
                        "resolution": resolution,
                        "idip_meta_list": []
                    }],
                    "video_aspect_ratio": aspect_ratio,
                    "seed": seed,
                    "model_req_key": model,
                    "priority": 0
                }
            }
        },
        "process_type": 1
    }]
}

headers = {
    "Content-Type": "application/json",
    "Appid": "513695",
    "Appvr": "5.8.0",
    "Pf": "7",
    "Origin": "https://jimeng.jianying.com",
    "Referer": "https://jimeng.jianying.com",
    "Cookie": f"sessionid={sessionid}",
    "Device-Time": str(device_time),
    "Sign": sign,
    "Sign-Ver": "1"
}

data = {
    "extend": {
        "root_model": model,
        "m_video_commerce_info": {
            "benefit_type": "basic_video_operation_vgfm_v_three",
            "resource_id": "generate_video",
            "resource_id_type": "str",
            "resource_sub_type": "aigc"
        }
    },
    "submit_id": submit_id,
    "draft_content": json.dumps(draft_content),
    "http_common_info": {"aid": 513695}
}

resp = requests.post(
    f"https://jimeng.jianying.com{uri}",
    params={
        "aid": 513695, 
        "device_platform": "web", 
        "region": "cn",
        "da_version": "3.3.8",
        "web_version": "7.5.0"
    },
    headers=headers,
    json=data
)
return resp.json()

参数说明

字段 类型 必填 说明

image_uri string 是 首帧图片 URI

prompt string 是 视频运动描述

duration_ms int 否 时长毫秒 3000-10000,默认 5000

resolution string 否 分辨率 720p/1080p,默认 720p

model string 否 模型名称,默认 vgfm_3.0_fast

模型选项

模型 说明

dreamina_ic_generate_video_model_vgfm_3.0_fast

视频 3.0 Fast (推荐)

dreamina_ic_generate_video_model_vgfm_3.0

视频 3.0 标准版

关键参数

  • generate_type: gen_video

  • gen_type: 10

  • video_mode: 2 (首帧模式)

  • fps: 24

描述要点

  • 镜头运动:推拉、摇移、跟随、升降、变焦

  • 主体动作:自然连续,幅度适中

  • 背景动态:风吹、光影变化、人群流动

  • 镜头需遵循首帧角度

使用流程

  • 上传首帧图片获取 image_uri

  • 调用图生视频 API

  • 轮询查询结果 (视频生成较慢,建议 10 秒间隔)

  • 下载视频文件

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

storyboard-generator

No summary provided by upstream source.

Repository SourceNeeds Review
General

storyboard-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

music-analyze

No summary provided by upstream source.

Repository SourceNeeds Review
General

music-emotion

No summary provided by upstream source.

Repository SourceNeeds Review