全部产品
Search
文档中心

Alibaba Cloud Model Studio:Transformasi Gaya Video API Referensi

更新时间:Oct 21, 2025

API Transformasi Gaya Video mengubah video input menjadi berbagai gaya artistik preset. Ini memastikan gerakan yang halus dan koherensi konten. API ini mendukung delapan gaya preset: manga Jepang, komik Amerika, komik segar, kartun 3D, kartun Cina, seni kertas, ilustrasi sederhana, dan lukisan tinta Cina.

Penting

Layanan model ini hanya tersedia di wilayah Cina (Beijing). Anda harus menggunakan Kunci API dari wilayah ini untuk panggilan API.

Peragaan performa

Video Input

Video output (manga Jepang)

Untuk lebih banyak contoh, lihat Lampiran: Demonstrasi Efek Gaya Lainnya.

Prasyarat

Sebelum melakukan panggilan API, dapatkan Kunci API dan atur sebagai Variabel lingkungan.

HTTP

Pemrosesan video memakan waktu. Untuk mencegah permintaan habis waktu, transformasi gaya video menggunakan pemanggilan asinkron. Proses ini melibatkan dua langkah:

  1. Kirim Tugas Asinkron: Kirim permintaan POST dengan URL video sumber dan parameter gaya yang diinginkan untuk mendapatkan task_id unik.

  2. Kueri Hasil Tugas: Gunakan task_id untuk memantau status tugas melalui permintaan GET hingga tugas selesai. Kemudian, ambil URL video hasilnya.

Langkah 1: Kirim tugas transformasi gaya video

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

Permintaan

Hasilkan video 720p
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "video-style-transform",
    "input": {
        "video_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20250704/viwndw/original_video.mp4"
    },
    "parameters": {
        "style": 0,
        "video_fps": 15
    }
}'
import requests
import os


DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Ganti ini dengan URL video Anda
video_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20250704/viwndw/original_video.mp4"

response = requests.post(
            "https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
            headers={
                "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
                "X-DashScope-Async": "enable",
            },
            json={
            "model": "video-style-transform",
            "input": {
                "video_url": video_url
            },
            "parameters": {
                "style": 0,
                "video_fps": 15
            }
        }
        )
print(response.json())
Hasilkan video 540p
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "video-style-transform",
    "input": {
        "video_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20250704/viwndw/original_video.mp4"
    },
    "parameters": {
        "style": 0,
        "video_fps": 15,
        "min_len": 540
    }
}'
import requests
import os


DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Ganti ini dengan URL video Anda
video_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20250704/viwndw/original_video.mp4"

response = requests.post(
            "https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
            headers={
                "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
                "X-DashScope-Async": "enable",
            },
            json={
            "model": "video-style-transform",
            "input": {
                "video_url": video_url
            },
            "parameters": {
                "style": 0,
                "video_fps": 15,
                "min_len": 540
            }
        }
        )
print(response.json())
Header

Tipe Konten string (Wajib)

Tipe konten dari permintaan. Atur parameter ini ke application/json.

Otorisasi string (Wajib)

Kredensial otentikasi identitas untuk permintaan. API ini menggunakan Kunci API Model Studio untuk otentikasi identitas. Contoh: Bearer sk-xxxx.

X-DashScope-Async string (Wajib)

Parameter konfigurasi pemrosesan asinkron. Permintaan HTTP hanya mendukung pemrosesan asinkron. Anda harus mengatur parameter ini ke enable.

Penting

Jika header permintaan ini hilang, pesan kesalahan "current user api does not support synchronous calls" akan dikembalikan.

Body Permintaan

model string (Wajib)

Nama model. Atur ini ke video-style-transform.

input object (Wajib)

Konten input.

Properti

video_url string (Wajib)

URL publik video input. Contoh: https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20250704/viwndw/original_video.mp4.

Persyaratan untuk video input:

  • Resolusi: Panjang setiap sisi video harus antara 256 piksel dan 4096 piksel. Rasio aspek sisi yang lebih panjang terhadap sisi yang lebih pendek tidak boleh melebihi 1.8.

  • Format: MP4, AVI, MKV, MOV, FLV, TS, MPG, dan MXF didukung.

  • Durasi: Tidak boleh melebihi 30 detik.

  • Ukuran: Tidak boleh melebihi 100 MB.

  • URL: Jika URL asli mengandung karakter non-ASCII, seperti karakter Cina, lakukan pengkodean URL terlebih dahulu.

parameters object (Opsional)

Parameter pemrosesan video.

Properti

style int (Opsional)

Tipe gaya. Jenis preset adalah sebagai berikut:

  • 0: Manga Jepang (default)

  • 1: Komik Amerika

  • 2: Komik segar

  • 3: Kartun 3D

  • 4: Kartun Cina (terbaik untuk input dengan kostum kuno)

  • 5: Gaya seni kertas

  • 6: Ilustrasi sederhana

  • 7: Lukisan tinta Cina

video_fps int (Opsional)

Laju frame video yang dihasilkan. Nilai default adalah 15. Rentang valid adalah [15, 25].

animate_emotion bool (Opsional)

Menentukan apakah akan mengoptimalkan ekspresi wajah. Nilai default adalah true.

Mengaktifkan opsi ini biasanya meningkatkan sinkronisasi gerakan bibir dan ekspresi. Jika area wajah kecil, menonaktifkan opsi ini dapat menghasilkan hasil yang lebih baik.

min_len int (Opsional)

Menentukan jumlah piksel pada sisi yang lebih pendek dari video output untuk mengontrol resolusi. Nilai valid adalah 720 dan 540. Nilai default adalah 720.

Catatan

Parameter ini memengaruhi penagihan. Video 720p lebih mahal daripada video 540p. Untuk informasi lebih lanjut, lihat Penagihan dan Pembatasan Laju.

use_SR bool (Opsional)

Menentukan apakah akan menerapkan pemrosesan super-resolusi (SR) ke video setelah transformasi gaya. Nilai default adalah false. Jika Anda mengatur ini ke true, kualitas video ditingkatkan tanpa biaya tambahan.

Catatan

Jika Anda mengatur min_len ke 540 dan mengaktifkan opsi ini, video output ditingkatkan ke resolusi 1080p, tetapi Anda masih ditagih berdasarkan standar 540p. Ini meningkatkan waktu pemrosesan. Kami sarankan Anda mengaktifkan opsi ini ketika Anda memerlukan output berkualitas tinggi.

Respons

Respons berhasil
{
    "output": {
	  "task_id": "xxxxxxxx", 
    	  "task_status": "PENDING"
    },
    "request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}
Respons abnormal
{
    "code":"InvalidApiKey",
    "message":"Invalid API-key provided.",
    "request_id":"fb53c4ec-1c12-4fc4-a580-xxxxxxxxxxxx"
}

output object

Informasi output tugas.

Properti

task_id string

ID unik untuk tugas asinkron. ID ini digunakan untuk kueri selanjutnya.

task_status string

Status tugas.

  • PENDING

  • RUNNING

  • SUSPENDED

  • SUCCEEDED

  • FAILED

request_id string

ID permintaan unik. Anda dapat menggunakan ID ini untuk melacak dan memecahkan masalah.

code string

Kode kesalahan untuk permintaan gagal. Parameter ini tidak dikembalikan jika permintaan berhasil. Untuk informasi lebih lanjut, lihat Pesan Kesalahan.

message string

Informasi rinci tentang permintaan gagal. Parameter ini tidak dikembalikan jika permintaan berhasil. Untuk informasi lebih lanjut, lihat Pesan Kesalahan.

Langkah 2: Kueri status tugas dan hasil

GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
Penting

Data hasil tugas, seperti status tugas dan URL video yang dihasilkan, valid selama 24 jam. Setelah periode ini, data secara otomatis dihapus. Kueri dan simpan hasilnya dengan segera.

Permintaan

Dapatkan hasil tugas

Anda perlu mengganti {task_id} dengan task_id sebenarnya.

curl -X GET \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
import requests
import os

DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Ganti task_id dengan task_id Anda
task_id = "0c9c33e6-b2e7-41e5-*********"

task_response = requests.get(
        f"https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}",
        headers={
            "Authorization": f"Bearer {DASHSCOPE_API_KEY}"
        })
print(task_response.json())
Header

Otorisasi string (Wajib)

Kredensial otentikasi identitas untuk permintaan. API ini menggunakan Kunci API Model Studio untuk otentikasi identitas. Contoh: Bearer sk-xxxx.

Parameter jalur

task_id string (Wajib)

ID tugas.

Respons

Tugas berhasil
{
    "request_id": "b67df059-ca6a-9d51-afcd-xxxxxxxxxxxx",
    "output": {
        "task_id": "d76ec1e8-ea27-4038-8913-xxxxxxxxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2024-05-16 13:50:01.247",
        "scheduled_time": "2024-05-16 13:50:01.354",
        "end_time": "2024-05-16 13:50:27.795",
        "output_video_url": "http://xxx/result.mp4"
    },
    "usage": {
        "duration": 3,
        "SR": 720 
    }
}
Tugas berjalan

Setelah tugas dikirim, ia ditempatkan dalam antrian. Setelah dijadwalkan, statusnya berubah menjadi RUNNING.

{
    "request_id":"e5d70b02-ebd3-98ce-9fe8-xxxxxxxxxxxx",
    "output":{
        "task_id":"13b1848b-5493-4c0e-xxxxxxxxxxxx",
        "task_status":"RUNNING",
        "submit_time":"2025-09-08 15:53:13.143",
        "scheduled_time":"2025-09-08 15:53:13.169"
    }
}
Tugas gagal
{
    "request_id": "dccfdf23-b38e-97a6-a07b-xxxxxxxxxxxx",
    "output": {
        "task_id": "4cbabbdf-2c1f-43f4-b983-xxxxxxxxxxxx",
        "task_status": "FAILED",
        "submit_time": "2024-05-16 14:15:14.103",
        "scheduled_time": "2024-05-16 14:15:14.154",
        "end_time": "2024-05-16 14:15:14.694",
        "code": "InvalidParameter.FileDownload",
        "message": "download for input video error"
    }
}

request_id string

ID unik permintaan. Anda dapat menggunakan ID ini untuk melacak detail permintaan dan memecahkan masalah.

output object

Informasi output tugas.

Properti

output_video_url string

URL video hasilnya. Contoh: http://xxx/result.mp4.

task_id string

ID tugas. Kueri valid selama 24 jam.

task_status string

Status tugas.

  • PENDING

  • RUNNING

  • SUSPENDED

  • SUCCEEDED

  • FAILED

  • UNKNOWN

submit_time string

Waktu saat tugas dikirim. Formatnya adalah YYYY-MM-DD HH:mm:ss.SSS.

scheduled_time string

Waktu saat tugas mulai berjalan. Formatnya adalah YYYY-MM-DD HH:mm:ss.SSS.

end_time string

Waktu saat tugas selesai. Formatnya adalah YYYY-MM-DD HH:mm:ss.SSS.

code string

Kode kesalahan untuk permintaan gagal. Parameter ini tidak dikembalikan jika permintaan berhasil. Untuk informasi lebih lanjut, lihat Pesan Kesalahan.

message string

Informasi rinci tentang permintaan gagal. Parameter ini tidak dikembalikan jika permintaan berhasil. Untuk informasi lebih lanjut, lihat Pesan Kesalahan.

usage object

Statistik penggunaan untuk tugas.

Properti

duration float

Durasi video yang dihasilkan dalam detik.

SR int

Nilai piksel pada sisi yang lebih pendek dari video yang digunakan untuk penagihan. Nilai ini sama dengan nilai min_len yang Anda atur dalam permintaan.

Penagihan dan pembatasan laju

Anda hanya dikenakan biaya untuk tugas yang berhasil. Biaya dihitung berdasarkan durasi aktual (dalam detik) dari video output dan resolusi yang dipilih.

Rumus Penagihan: Total Biaya = Durasi Video Output (detik) × Harga Satuan untuk Resolusi yang Sesuai (Catatan: Biaya akhir dihitung berdasarkan durasi dan SR bidang dalam objek usage yang dikembalikan untuk tugas yang berhasil.)

Model

Harga satuan

Batas laju (dibagikan oleh Akun Alibaba Cloud dan Pengguna RAM)

Batas QPS untuk API pengiriman tugas

Jumlah tugas bersamaan

video-style-transform

720p

$0.071677/detik

2

1

540p

$0.028671/detik

Contoh Penagihan

Sebagai contoh, asumsikan Anda mengirimkan video 10 detik dan memilih resolusi 720p untuk transformasi gaya. Jika tugas berhasil dan video yang dihasilkan berdurasi 10 detik, biaya untuk tugas ini adalah: 10 detik × $0.071677/detik = $0.71677.

Kode kesalahan

Jika panggilan gagal, lihat Pesan Kesalahan untuk pemecahan masalah.

Lampiran: Demonstrasi efek gaya lainnya

Nama gaya

Video asli

Efek Repaint

Manga Jepang (style=0)

Komik Amerika (style=1)

Komik Baru (style=2)

Kartun 3D (style=3)

Kartun Cina (style=4)

Gaya seni kertas (style=5)

Ilustrasi sederhana (style=6)

Lukisan tinta Cina (style=7)