Skip to main content
Wan

Wan 2.7 - API image-to-video

Model image-to-video Wan 2.7 mendukung input multimodal (teks, gambar, audio, dan video) serta menjalankan tiga tugas: first-frame-to-video, first-and-last-frame-to-video, dan video continuation .

Referensi: Panduan pengguna
API image-to-video baru (model wan2.7) mendukung ketiga tugas tersebut. API image-to-video dari frame pertama sebelumnya (wan2.6 dan versi lebih lama) hanya mendukung first-frame-to-video.

Ketersediaan

Model, URL endpoint, dan Kunci API harus berada dalam Wilayah yang sama. Pemanggilan lintas-Wilayah akan gagal.
  • Pilih model: Pastikan model tersedia di Wilayah target Anda.
  • Pilih URL: Gunakan URL endpoint yang sesuai dengan Wilayah model Anda. URL HTTP dan SDK DashScope didukung.
  • Konfigurasikan Kunci API: Dapatkan Kunci API untuk Wilayah tersebut, lalu konfigurasikan Kunci API sebagai Variabel lingkungan.
  • Instal SDK: Untuk melakukan pemanggilan API menggunakan SDK, instal SDK DashScope.
Kode contoh dalam topik ini berlaku untuk Wilayah Singapura.
Alibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk Wilayah China (Beijing) dan Singapura. Domain khusus baru ini memberikan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan Inferensi. Kami menyarankan migrasi ke domain baru:
  • China (Beijing): dari https://dashscope.aliyuncs.com ke https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapura: dari https://dashscope-intl.aliyuncs.com ke https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
{WorkspaceId} adalah ID ruang kerja Anda, yang dapat ditemukan pada halaman Detail Ruang Kerja di Konsol Alibaba Cloud Model Studio. Domain lama tetap berfungsi sepenuhnya.

HTTP

API ini menggunakan protokol image-to-video baru dan hanya mendukung model wan2.7.
Tugas image-to-video biasanya memerlukan waktu 1 hingga 5 menit, sehingga API menggunakan pemanggilan asinkron. Alur kerja terdiri dari dua langkah: buat tugas, lalu poll hasilnya.

Langkah 1: Buat tugas dan dapatkan ID tugas

  • Singapura
  • Beijing
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda.
  • Setelah tugas dibuat, gunakan task_id yang dikembalikan untuk mengkueri hasilnya. task_id berlaku selama 24 jam. Jangan membuat tugas duplikat. Sebagai gantinya, gunakan polling untuk mengambil hasilnya.
  • Untuk panduan pemula, lihat Panggil API dengan Postman atau cURL.

Parameter permintaan

  • Generasi video dari frame pertama
  • Generasi video dari frame pertama dan terakhir
  • Kelanjutan video
Buat video berdasarkan gambar frame pertama dan audio.

# URL berikut untuk Wilayah Singapura. Saat memanggil, ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan Wilayah.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
        -H 'X-DashScope-Async: enable' \
        -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
        -H 'Content-Type: application/json' \
        -d '{
        "model": "wan2.7-i2v-2026-04-25",
        "input": {
            "prompt": "A scene of urban fantasy art. A dynamic graffiti art character. A boy made of spray paint comes to life on a concrete wall. He sings an English rap song at high speed while striking a classic, energetic rapper pose. The scene is set under an urban railway bridge at night. The light comes from a single street lamp, creating a cinematic atmosphere full of high energy and amazing detail. The audio of the video consists entirely of the rap, with no other dialogue or noise.",
            "media": [
                {
                    "type": "first_frame",
                    "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png"
                },
                {
                    "type": "driving_audio",
                    "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3"

                }
            ]
        },
        "parameters": {
            "resolution": "720P",
            "duration": 10,
            "prompt_extend": true,
            "watermark": true
        }
    }'
Content-Type string (Wajib)Tipe konten permintaan. Harus application/json.
Authorization string (Wajib)Mengautentikasi permintaan dengan Kunci API Model Studio. Contoh: Bearer sk-xxxx.
X-DashScope-Async string (Wajib)Mengaktifkan pemrosesan asinkron. Permintaan HTTP hanya mendukung pemanggilan asinkron. Harus enable.
Jika header permintaan ini tidak ada, kesalahan "current user api does not support synchronous calls" akan dikembalikan.
Body permintaan
model string (Wajib)Nama model. Untuk daftar model dan harga, lihat Harga model.Contoh: wan2.7-i2v-2026-04-25.
input object (Wajib)Informasi input dasar, termasuk prompt.

Properti

prompt string (Opsional)Prompt teks yang menjelaskan elemen dan karakteristik visual untuk video yang dihasilkan.Mendukung bahasa Tionghoa dan Inggris. Maksimal 5.000 karakter.Setiap karakter Tionghoa atau huruf dihitung sebagai satu karakter. Teks yang melebihi batas akan dipotong secara otomatis.Contoh: Seekor anak kucing berlari di atas rumput.Untuk informasi lebih lanjut tentang cara menggunakan prompt, lihat Panduan prompt text-to-video/image-to-video.negative_prompt string (Opsional)Menjelaskan konten yang harus dikecualikan dari video.Mendukung bahasa Tionghoa dan Inggris. Maksimal 500 karakter. Teks yang melebihi batas akan dipotong secara otomatis.Contoh: resolusi rendah, error, kualitas terburuk, kualitas rendah, cacat, jari ekstra, proporsi buruk.media array (Wajib)Materi referensi (gambar, audio, dan video) untuk generasi video.Setiap elemen adalah objek media dengan bidang type dan url.

Kombinasi aset

Hanya kombinasi aset berikut yang valid. Kombinasi tidak valid akan mengembalikan kesalahan.
  • Generasi video dari frame pertama:
    • Frame pertama: first_frame
    • Frame pertama + audio: first_frame+driving_audio
  • Generasi video dari frame pertama dan terakhir:
    • Frame pertama + frame terakhir: first_frame+last_frame
    • Frame pertama + frame terakhir + audio: first_frame+last_frame+driving_audio
  • Kelanjutan video:
    • Kelanjutan klip video pertama: first_clip
    • Kelanjutan klip video pertama + frame terakhir: first_clip+last_frame

Properti

type string (Wajib)Jenis aset media. Nilai valid:
  • first_frame
  • last_frame
  • driving_audio
  • first_clip
Batasan: Setiap type hanya boleh muncul paling banyak sekali dalam array media. Misalnya, Anda tidak dapat mengirim dua aset first_frame.url string (Wajib)URL aset media (gambar, audio, atau video).

Kirim gambar (type=first_frame atau last_frame)

URL atau data Base64-encoded untuk gambar frame pertama atau terakhir.Batasan gambar:
  • Format: JPEG, JPG, PNG (saluran alfa tidak didukung), BMP, WEBP.
  • Resolusi: Lebar dan tinggi harus dalam rentang [240, 8000] piksel.
  • Rasio aspek: 1:8 hingga 8:1.
  • Ukuran file: maksimal 20 MB.
Format input yang didukung:
  1. URL publik:
  2. String gambar Base64-encoded:
    • Format data: data:{MIME_type};base64,{base64_data}.
    • Contoh: data:image/png;base64,GDU7MtCZzEbTbmRZ...... (Contoh dipotong untuk keperluan demonstrasi).
      Format: data:{MIME_type};base64,{base64_data} .
      • {base64_data}: String Base64-encoded dari file gambar.
      • {MIME_type}: Tipe Multipurpose Internet Mail Extensions (MIME) gambar, yang harus sesuai dengan format file.

Kirim audio (type=driving_audio)

URL file audio.
  • Dengan audio: Model menggunakannya sebagai sumber penggerak untuk sinkronisasi bibir dan penyesuaian waktu gerakan.
  • Tanpa audio: Model secara otomatis menghasilkan musik latar atau efek suara yang sesuai.
Batasan audio:
  • Format: wav, mp3.
  • Durasi: 2 hingga 30 detik.
  • Ukuran file: maksimal 15 MB.
  • Pemotongan: Jika durasi audio melebihi nilai duration (misalnya, 5 detik), audio akan dipotong secara otomatis menjadi 5 detik pertama, dan sisanya dibuang. Jika durasi audio lebih pendek daripada durasi video, bagian video yang melebihi durasi audio akan senyap. Misalnya, jika audio berdurasi 3 detik dan video berdurasi 5 detik, 3 detik pertama video hasil akan memiliki suara, dan 2 detik terakhir akan senyap.
Format input yang didukung:
  1. URL publik:

Kirim video (type=first_clip)

URL file video. Model menghasilkan kelanjutan berdasarkan konten video. Parameter duration mengontrol durasi total maksimum output.
Misalnya, jika duration=15 dan video input berdurasi 3 detik, model menghasilkan kelanjutan 12 detik. Video output akhir berdurasi 15 detik dan ditagih untuk 15 detik.
Batasan video:
  • Format: mp4, mov.
  • Durasi: 2 hingga 10 detik.
  • Resolusi: Lebar dan tinggi harus dalam rentang [240, 4096] piksel.
  • Rasio aspek: 1:8 hingga 8:1.
  • Ukuran file: maksimal 100 MB.
Format input yang didukung:
  1. URL publik:
parameters object (Opsional)Parameter pemrosesan video: resolusi, durasi, penulisan ulang prompt, dan watermark.

Properti

resolution string (Opsional)
Resolusi berdampak langsung pada biaya. Sebelum memanggil, periksa Harga model.
Tingkat resolusi untuk video yang dihasilkan. Mengontrol jumlah total piksel.Model secara otomatis menskalakan video ke jumlah total piksel yang mendekati tingkat yang dipilih. Rasio aspek output mengikuti materi input (frame pertama atau klip video pertama). Untuk detail, lihat FAQ.Nilai valid adalah 720P dan 1080P. Default: 1080P.duration integer (Opsional)
Durasi berdampak langsung pada biaya. Penagihan per detik. Sebelum memanggil, periksa Harga model.
Durasi video yang dihasilkan dalam detik. Rentang valid tergantung pada model:Nilai valid: bilangan bulat dari 2 hingga 15. Default: 5.prompt_extendboolean (Opsional)Apakah akan mengaktifkan penulisan ulang prompt. Saat diaktifkan, model menulis ulang prompt input untuk meningkatkan hasil prompt pendek, tetapi meningkatkan waktu pemrosesan.
  • true (default)
  • false
watermark boolean (Opsional)Apakah akan menambahkan watermark "AI Generated" di pojok kanan bawah video.
  • false (default)
  • true
seed integer (Opsional)Seed bilangan acak harus berupa bilangan bulat dalam rentang [0, 2147483647].Jika tidak ditentukan, seed acak akan dihasilkan. Seed tetap meningkatkan reproduktibilitas.Karena generasi model bersifat probabilistik, seed yang sama tidak menjamin hasil identik.

Parameter respons

  • Respons berhasil
  • Respons kesalahan
Simpan task_id untuk mengkueri status dan hasil tugas.
{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}
output objectInformasi output tugas.

Properti

task_id stringID tugas. Berlaku untuk kueri selama 24 jam.task_status stringStatus tugas.

Nilai enumerasi

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: Tugas tidak ada atau statusnya tidak diketahui.
request_id stringIdentifikasi permintaan unik untuk pelacakan dan troubleshooting.
code stringKode kesalahan. Hanya dikembalikan untuk permintaan gagal. Lihat Kode kesalahan.
message stringPesan kesalahan detail. Hanya dikembalikan untuk permintaan gagal. Lihat Kode kesalahan.

Langkah 2: Kueri hasil berdasarkan ID tugas

  • Singapura
  • Beijing
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda.
  • Rekomendasi polling: Generasi video memerlukan beberapa menit. Gunakan mekanisme polling dengan interval wajar, misalnya 15 detik.
  • Transisi status tugas: PENDING → RUNNING → SUCCEEDED atau FAILED.
  • Tautan hasil: Setelah tugas berhasil, URL video yang berlaku selama 24 jam dikembalikan. Unduh dan simpan video ke penyimpanan permanen, seperti OSS.
  • task_idmasa berlaku: 24 jam. Setelah periode ini, kueri akan mengembalikan status tugas sebagai UNKNOWN.

Parameter permintaan

  • Kueri hasil tugas
Ganti {task_id} dengan nilai task_id yang dikembalikan oleh pemanggilan API sebelumnya. task_id berlaku untuk kueri selama 24 jam, Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda.
curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Header
Authorization string (Wajib)Mengautentikasi permintaan dengan Kunci API Model Studio. Contoh: Bearer sk-xxxx.
Parameter path
task_id string (Wajib)ID tugas.

Parameter respons

  • Tugas berhasil
  • Tugas gagal
  • Kueri tugas kedaluwarsa
URL video hanya berlaku selama 24 jam, lalu secara otomatis dipurge. Segera simpan video yang dihasilkan.
{
    "request_id": "2ca1c497-f9e0-449d-9a3f-xxxxxx",
    "output": {
        "task_id": "af6efbc0-4bef-4194-8246-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-09-25 11:07:28.590",
        "scheduled_time": "2025-09-25 11:07:35.349",
        "end_time": "2025-09-25 11:17:11.650",
        "orig_prompt": "A scene of urban fantasy art. A dynamic graffiti art character. A boy made of spray paint comes to life on a concrete wall. He sings an English rap song at high speed while striking a classic, energetic rapper pose. The scene is set under an urban railway bridge at night. The light comes from a single street lamp, creating a cinematic atmosphere full of high energy and amazing detail. The audio of the video consists entirely of his rap, with no other dialogue or noise.",
        "video_url": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.mp4?Expires=xxx"
    },
    "usage": {
        "duration": 15,
        "input_video_duration": 0,
        "output_video_duration": 15,
        "video_count": 1,
        "SR": 720
    }
}
outputobjectInformasi output tugas.

Properti

task_id stringID tugas. Berlaku untuk kueri selama 24 jam.task_status stringStatus tugas.

Nilai enumerasi

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: Tugas tidak ada atau statusnya tidak diketahui.
Transisi status selama polling:
  • PENDING → RUNNING → SUCCEEDED atau FAILED.
  • Status kueri awal biasanya PENDING atau RUNNING.
  • Saat status berubah menjadi SUCCEEDED, respons berisi URL video yang dihasilkan.
  • Jika status FAILED, periksa pesan kesalahan dan coba ulang tugas.
submit_time stringWaktu saat tugas dikirim. Waktu dalam UTC+8 dan format YYYY-MM-DD HH:mm:ss.SSS.scheduled_time stringWaktu saat tugas dieksekusi. Waktu dalam UTC+8 dan format YYYY-MM-DD HH:mm:ss.SSS.end_time stringWaktu saat tugas selesai. Waktu dalam UTC+8 dan format YYYY-MM-DD HH:mm:ss.SSS.video_url stringURL video yang dihasilkan. Hanya dikembalikan saat task_status bernilai SUCCEEDED.Berlaku selama 24 jam. Video dalam format MP4 dengan encoding H.264.orig_prompt stringPrompt input asli, sesuai dengan parameter permintaan prompt.code stringKode kesalahan. Hanya dikembalikan untuk permintaan gagal. Lihat Kode kesalahan.message stringPesan kesalahan detail. Hanya dikembalikan untuk permintaan gagal. Lihat Kode kesalahan.
usage objectStatistik penggunaan. Dihitung hanya untuk tugas yang berhasil.

Properti

input_video_duration integerDurasi video input, dalam detik.output_video_duration integerDurasi video output, dalam detik.duration integerTotal durasi video yang digunakan untuk penagihan.SR integerResolusi video output. Contoh: 720.video_count integerJumlah video output. Tetap 1.
request_id stringIdentifikasi permintaan unik untuk pelacakan dan troubleshooting.

DashScope SDK

Nama parameter SDK sesuai dengan API HTTP. Struktur parameter dienkapsulasi berdasarkan konvensi bahasa. Tugas image-to-video biasanya memerlukan waktu 1 hingga 5 menit. SDK mengenkapsulasi proses pemanggilan asinkron HTTP dan mendukung pemanggilan sinkron maupun asinkron.
Waktu pemrosesan aktual tergantung pada antrian tugas dan beban layanan. Tunggu hasilnya.

SDK Python

Pastikan versi SDK Python DashScope tidak lebih rendah dari 1.25.16 sebelum menjalankan kode berikut.Jika versi terlalu lama, kesalahan seperti "url error, please check url!" dapat terjadi. Untuk informasi lebih lanjut, lihat Instal SDK untuk memperbaruinya.
Atur dashscope.base_http_api_url berdasarkan Wilayah model:
  • Singapura
  • Beijing
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda.
  • Panggilan sinkron
  • Panggilan asinkron
Contoh permintaan
# -*- coding: utf-8 -*-
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os

# URL berikut untuk Wilayah Singapura. Saat memanggil, ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan Wilayah.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan: api_key="sk-xxx"
# Kunci API bervariasi berdasarkan Wilayah. Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

media = [
    {
        "type": "first_frame",
        "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png"
    },
    {
        "type": "driving_audio",
        "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3"
    }
]

def sample_sync_call():
    print('----Panggilan sinkron, mohon tunggu sebentar----')
    rsp = VideoSynthesis.call(
        api_key=api_key,
        model="wan2.7-i2v-2026-04-25",
        media=media,
        resolution="720P",
        duration=10,
        watermark=True,
        prompt="An urban fantasy art scene featuring a dynamic graffiti character. A boy made of spray paint comes to life on a concrete wall. He sings an English rap song at high speed while striking a classic, energetic rapper pose. The scene is set under an urban railway bridge at night, lit by a single street lamp. This creates a cinematic atmosphere with high energy and amazing detail. The video's audio consists entirely of the rap, with no other dialogue or noise.",
    )
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output.video_url)
    else:
        print('Gagal, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

if __name__ == '__main__':
    sample_sync_call()
Contoh respons
video_url berlaku selama 24 jam. Segera unduh video.
{
    "status_code": 200,
    "request_id": "ac5faf37-ddfa-9720-a0c5-xxxxxx",
    "code": null,
    "message": "",
    "output": {
        "task_id": "b97c6d86-ad73-4bb7-80ff-xxxxxx",
        "task_status": "SUCCEEDED",
        "video_url": "https://dashscope-a717.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx",
        "submit_time": "2026-04-13 10:45:47.597",
        "scheduled_time": "2026-04-13 10:45:56.342",
        "end_time": "2026-04-13 10:47:26.273",
        "orig_prompt": "An urban fantasy art scene. A dynamic graffiti character. A boy made of spray paint comes to life on a concrete wall. He performs a fast-paced English rap song while striking a classic, energetic rapper pose. The scene is set under an urban railway bridge at night. The light comes from a single street lamp, creating a cinematic atmosphere with high energy and incredible detail. The audio consists solely of the rap, with no other dialogue or background noise."
    },
    "usage": {
        "video_count": 1,
        "duration": 10,
        "input_video_duration": 0,
        "output_video_duration": 10,
        "SR": 720
    }
}

SDK Java

Pastikan versi SDK Java DashScope tidak lebih rendah dari 2.22.14 sebelum menjalankan kode berikut.Jika versi terlalu lama, kesalahan seperti "url error, please check url!" dapat terjadi. Untuk informasi lebih lanjut, lihat Instal SDK untuk memperbaruinya.
Atur Constants.baseHttpApiUrl berdasarkan Wilayah model:
  • Singapura
  • Beijing
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"
Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda.
  • Panggilan sinkron
  • Panggilan asinkron
Panggilan sinkron akan memblokir hingga generasi video selesai dan hasil dikembalikan.
Contoh permintaan
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.util.ArrayList;
import java.util.List;

public class Image2Video {

    static {
        // URL berikut untuk Wilayah Singapura. Saat memanggil, ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan Wilayah.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan: apiKey="sk-xxx"
    // Kunci API spesifik Wilayah. Untuk mendapatkan Kunci API, kunjungi: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void syncCall() {
        VideoSynthesis videoSynthesis = new VideoSynthesis();
        final String prompt = "A scene of urban fantasy art. A dynamic graffiti art character. A boy made of spray paint comes to life on a concrete wall. He sings an English rap song at high speed while striking a classic, energetic rapper pose. The scene is set under an urban railway bridge at night. The light comes from a single street lamp, creating a cinematic atmosphere full of high energy and amazing detail. The audio of the video consists entirely of his rap, with no other dialogue or noise.";
        List<VideoSynthesisParam.Media> media = new ArrayList<VideoSynthesisParam.Media>(){{
            add(VideoSynthesisParam.Media.builder()
                    .url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png")
                    .type("first_frame")
                    .build());
            add(VideoSynthesisParam.Media.builder()
                    .url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3")
                    .type("driving_audio")
                    .build());
        }};
        VideoSynthesisParam param =
                VideoSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.7-i2v-2026-04-25")
                        .prompt(prompt)
                        .media(media)
                        .watermark(true)
                        .duration(10)
                        .resolution("720P")
                        .build();
        VideoSynthesisResult result = null;
        try {
            System.out.println("---Panggilan sinkron, mohon tunggu...----");
            result = videoSynthesis.call(param);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        } catch (InputRequiredException e) {
            throw new RuntimeException(e);
        }
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        syncCall();
    }
}
Contoh respons
video_url berlaku selama 24 jam. Segera unduh video.
{
    "request_id": "78178b55-8399-9823-8173-xxxxxx",
    "output": {
        "task_id": "be457e1b-8a79-47ed-aeff-xxxxxx",
        "task_status": "SUCCEEDED",
        "video_url": "https://dashscope-a717.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx",
        "orig_prompt": "An urban fantasy art scene featuring a dynamic graffiti art character. A boy made of spray paint comes to life on a concrete wall. He rapidly sings an English rap song while striking a classic, energetic rapper pose. The scene is set under an urban railway bridge at night. A single street lamp provides the light, creating a high-energy cinematic atmosphere with incredible detail. The audio consists entirely of his rap, with no other dialogue or background noise.",
        "submit_time": "2026-04-13 10:57:36.795",
        "scheduled_time": "2026-04-13 10:57:46.280",
        "end_time": "2026-04-13 10:59:16.338"
    },
    "usage": {
        "video_count": 1,
        "duration": 10,
        "input_video_duration": 0,
        "output_video_duration": 10,
        "SR": 720
    },
    "status_code": 200,
    "code": "",
    "message": ""
}

Kode kesalahan

Jika pemanggilan model gagal dan mengembalikan pesan kesalahan, lihat Kode kesalahan untuk menyelesaikan masalah.

FAQ

T: Bagaimana cara menghasilkan video dengan rasio aspek tertentu, seperti 3:4?

J: Rasio aspek output ditentukan oleh materi input (gambar frame pertama atau klip video pertama) tetapi tidak dijamin persis sama. Deviasi kecil dapat terjadi. Contoh berikut menjelaskan logika menggunakan gambar frame pertama sebagai input:
  • Mengapa deviasi terjadi?
    • Logika eksekusi: Sistem menggunakan rasio aspek gambar input sebagai garis dasar, dikombinasikan dengan total piksel target untuk tingkat resolution. Karena pengkodean video memerlukan lebar dan tinggi kelipatan 16, sistem menyesuaikan output ke resolusi valid terdekat.
    • Contoh perhitungan: Gambar input 750 x 1000 piksel (rasio 3:4 = 0,75) dengan resolusi "720P" (~920.000 total piksel) menghasilkan output 816 x 1104 piksel (rasio ~0,739, ~900.000 total piksel).
  • Rekomendasi:
    • Kontrol input: Gunakan frame pertama atau klip video yang sesuai dengan rasio aspek target Anda.
    • Pasca-pemrosesan: Untuk kebutuhan rasio aspek ketat, potong video atau tambahkan bilah hitam setelah generasi.

T: Bagaimana cara mendapatkan daftar putih nama domain untuk akses penyimpanan video?

J: Video yang dihasilkan model disimpan di OSS. API mengembalikan URL publik sementara. Untuk mengonfigurasi daftar putih firewall untuk URL unduh ini, perhatikan hal berikut: Penyimpanan dasar dapat berubah secara dinamis. Topik ini tidak menyediakan daftar putih nama domain OSS tetap untuk mencegah masalah akses akibat informasi usang. Jika Anda memiliki kebutuhan kontrol keamanan, hubungi manajer akun Anda untuk mendapatkan daftar nama domain OSS terbaru.
Pembuatan Gambar
  • FAQ
Model Dunia
Audio
  • Pembuatan audio
Realtime API
Penyematan Teks
TokenPlan
Model production