mirror of
https://github.com/sun-guannan/CapCutAPI.git
synced 2025-11-25 03:15:00 +08:00
66 lines
2.4 KiB
Python
66 lines
2.4 KiB
Python
import os
|
|
import shutil
|
|
import sys
|
|
|
|
# 添加父目录到系统路径
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
# 从example.py中导入必要的函数
|
|
from example import add_video_impl, add_effect, save_draft_impl
|
|
|
|
def example_capcut_effect():
|
|
"""Test service for adding effects"""
|
|
# draft_folder = "/Users/sunguannan/Movies/JianyingPro/User Data/Projects/com.lveditor.draft"
|
|
draft_folder = "/Users/sunguannan/Movies/CapCut/User Data/Projects/com.lveditor.draft"
|
|
|
|
print("\nTest: Adding effects")
|
|
# First add video track
|
|
image_result = add_video_impl(
|
|
video_url="https://pan.superbed.cn/share/1nbrg1fl/jimeng_daweidai.mp4",
|
|
start=0,
|
|
end=3.0,
|
|
target_start=0,
|
|
width=1080,
|
|
height=1920
|
|
)
|
|
print(f"Video added successfully! {image_result['output']['draft_id']}")
|
|
image_result = add_video_impl(
|
|
video_url="https://pan.superbed.cn/share/1nbrg1fl/jimeng_daweidai.mp4",
|
|
draft_id=image_result['output']['draft_id'],
|
|
start=0,
|
|
end=3.0,
|
|
target_start=3,
|
|
)
|
|
print(f"Video added successfully! {image_result['output']['draft_id']}")
|
|
|
|
# Then add effect
|
|
effect_result = add_effect(
|
|
effect_type="Like",
|
|
effect_category="character", # Explicitly specify as character effect
|
|
start=3,
|
|
end=6,
|
|
draft_id=image_result['output']['draft_id'],
|
|
track_name="effect_01"
|
|
)
|
|
print(f"Effect adding result: {effect_result}")
|
|
print(save_draft_impl(effect_result['output']['draft_id'], draft_folder))
|
|
|
|
source_folder = os.path.join(os.getcwd(), effect_result['output']['draft_id'])
|
|
destination_folder = os.path.join(draft_folder, effect_result['output']['draft_id'])
|
|
|
|
if os.path.exists(source_folder):
|
|
print(f"Moving {effect_result['output']['draft_id']} to {draft_folder}")
|
|
shutil.move(source_folder, destination_folder)
|
|
print("Folder moved successfully!")
|
|
else:
|
|
print(f"Source folder {source_folder} does not exist")
|
|
|
|
# Add log to prompt user to find the draft in CapCut
|
|
print(f"\n===== IMPORTANT =====\nPlease open CapCut and find the draft named '{effect_result['output']['draft_id']}'\n=======================")
|
|
|
|
# Return the first test result for subsequent operations (if any)
|
|
return effect_result
|
|
|
|
|
|
if __name__ == "__main__":
|
|
example_capcut_effect() |