Lewati ke konten utama
Kecerdasan Buatan
Large Language Models

Panduan API Seedance 2.0: Tutorial Pembuatan Video Langkah demi Langkah

Pelajari cara menggunakan Seedance 2 API dengan tutorial Python langkah demi langkah ini. Kuasai text-to-video, interpolasi gambar, dan input multimodal melalui BytePlus Ark.
François Aubry's photo
François Aubry
Diperbarui

Jelajahi bersama AI

ChatGPTClaudePerplexity

Buat Akun Gratis Anda

Berlatih dan lacak kemajuan Anda.

Lanjutkan Dengan Google
Dengan melanjutkan, Anda menerima Ketentuan Penggunaan kami, Kebijakan Privasi kami dan bahwa data Anda disimpan di Amerika Serikat.

Dalam tutorial ini, saya akan mendemonstrasikan cara menggunakan BytePlus Ark API untuk berinteraksi dengan Seedance 2 menggunakan Python. 

Seedance 2 adalah model AI generatif yang kuat dari ByteDance yang berfungsi sebagai "sutradara multimodal," mampu memproses input teks, gambar, video, dan audio secara bersamaan untuk membuat urutan video sinematik dengan audio tersinkron. Baik Anda ingin menganimasikan gambar statis atau menghidupkan prompt teks yang kompleks, panduan ini akan memandu Anda melalui proses penyiapan dan implementasinya. 

Membuat Kunci API Seedance 2

Untuk memulai, kita perlu membuat akun BytePlus dan kunci API. Caranya:

  1. Buka situs resmi BytePlus dan buat akun.
  2. Masuk ke halaman pembuatan API key dan klik “Create API Key”.

Kunci ini digunakan untuk membuat permintaan ke ModelArk API, API resmi mereka. 

Praktik terbaik adalah menyimpan kunci tersebut dalam berkas bernama .env di folder yang sama tempat kita menulis skrip Python. Pastikan untuk merahasiakan kunci tersebut karena siapa pun dapat menggunakannya untuk berinteraksi dengan API menggunakan akun Anda.

Tempelkan API key ke dalam berkas .env dengan format berikut:

ARK_API_KEY=<paste_api_key_here>

Mengaktifkan model Seedance 2 dan struktur harga

Agar dapat menggunakan Seedance 2, kita perlu mengaktifkan modelnya terlebih dahulu: 

Tangkapan layar antarmuka yang menunjukkan cara mengaktifkan model Seedance 2.0.

Perlu dicatat bahwa penggunaan API tidak gratis dan mengaktifkan Seedance 2 memerlukan pembelian kredit untuk model tersebut. Untuk artikel ini, saya membeli paket token sebanyak 7 juta untuk Seedance 2 seharga $30,10. 

Tangkapan layar antarmuka pembelian token Seedance 2.

Sayangnya, token bersifat spesifik untuk model. Artinya, jika kita membeli token untuk versi fast atau mini dari Seedance 2, token tersebut tidak dapat digunakan dengan model dasar.

Berikut adalah tabel dengan paket harga untuk API:

Cara Membuat Video dengan Seedance 2 API di Python

Saya telah menyertakan skrip lengkap yang sesuai dengan kode yang dibuat dalam tutorial ini di repositori GitHub ini.

Di bagian ini, kita belajar cara membuat permintaan text-to-video untuk menghasilkan video berikut:

1. Menyiapkan lingkungan Python dan SDK Anda

Untuk terhubung dengan BytePlus Ark API menggunakan Python, kita akan menggunakan paket resmi byteplus-python-sdk-v2. 

Cara termudah untuk menyiapkan dependensi proyek ini adalah membuat environment Anaconda dan memasang berkas requirements.txt, seperti ini:

git clone git@github.com:fran-aubry/seedance2-tutorial.git
conda create --name seedance2 python=3.11
conda activate seedance2
pip install -r requirements.txt

2. Menginisialisasi klien BytePlus Ark untuk Python

Buat skrip baru bernama text_to_video.py di folder yang sama dengan berkas .env yang kita buat sebelumnya.

Pertama, kita perlu mengimpor paket yang diperlukan:

import os
from byteplussdkarkruntime import Ark
from dotenv import load_dotenv

Selanjutnya, kita memuat API key dari berkas .env menggunakan fungsi load_dotenv():

load_dotenv()
API_KEY = os.getenv("ARK_API_KEY")

Sekarang kita inisialisasi klien Ark, yang memungkinkan kita membuat permintaan ke BytePlus Ark API. 

Kita menggunakan pustaka os untuk mengambil API key dari variabel lingkungan dan menetapkan base URL yang sesuai untuk akses API internasional:

client = Ark(
    api_key=os.getenv("ARK_API_KEY"),
    base_url="https://ark.ap-southeast.bytepluses.com/api/v3"
)

Terakhir, kita menetapkan sebuah prompt dan menggunakan fungsi content_generation.tasks.create() dari klien untuk menghasilkan video:

prompt = """
A cinematic close-up of a weary but hopeful female astronaut inside a dimly lit, dusty spaceship cabin. 
Soft blue light illuminates her face. 
She takes a deep breath, showing subtle emotional relief, looks directly into the camera, and says: 
'We finally made it. The atmosphere is stable.' 
The ambient sound of a low, rhythmic spaceship engine hums in the background.
"""
response = client.content_generation.tasks.create(
    model="dreamina-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": prompt,
        }
    ],
    generate_audio=True,
    ratio="16:9",
    duration=8,
    watermark=True,
    resolution="480p",
)
task_id = response.id
print(f"Task successfully submitted! Task ID: {task_id}")

Setelah meminta pembuatan video, kita tidak langsung mendapatkan video karena video memerlukan waktu untuk diproses. 

Ini berarti variabel response bukanlah videonya sendiri. 

Sebaliknya, ini adalah objek yang berisi informasi tentang tugas pembuatan video. 

Secara khusus, objek ini berisi pengenal tugas, yang memungkinkan kita melacak progres pembuatan video dan mengunduh video setelah model selesai menghasilkannya.

3. Melacak status pembuatan video (Polling tugas)

Kita dapat mengambil status suatu tugas dengan memberikan pengenal tugas ke fungsi content_generation.tasks.get(), seperti ini:

task = client.content_generation.tasks.get(task_id=task_id)
status = task.status
print(f"Status: {status}")

Agar lebih mudah melacak progres video, kita membuat skrip baru utils.py di folder yang sama dan menambahkan fungsi ini untuk melacak progres video berdasarkan instance klien dan pengenal tugas:

import time
import requests

def poll_task(client, task_id, poll_interval=5):
    while True:
        try:
            task_status = client.content_generation.tasks.get(task_id=task_id)
            status = getattr(task_status, "status", None) or (task_status.get("status") if isinstance(task_status, dict) else None)
            
            if status == "succeeded":
                print("\nTask completed successfully.")
                return task_status.content.video_url
                
            elif status == "failed":
                error_details = getattr(task_status, "error", "Unknown error occurred during processing.")
                raise RuntimeError(f"Task failed: {error_details}")
                
            print(".", end="", flush=True)
            time.sleep(poll_interval)
        except Exception as e:
            if isinstance(e, RuntimeError):
                raise
            print(f"\nWarning: Error polling task (will retry): {e}")
            time.sleep(poll_interval)

4. Mengunduh video yang dihasilkan dengan Python requests

Fungsi poll_task() yang kita implementasikan di atas mengembalikan URL video

Sekarang setelah kita dapat melacak proses pembuatan video, yang kita perlukan hanyalah cara untuk mengunduhnya saat selesai dibuat. 

Karena BytePlus Ark API mengembalikan URL langsung ke berkas video yang dihasilkan dalam respons tugas, kita dapat mengunduhnya menggunakan pustaka requests.

Berikut fungsi yang melakukan hal tersebut:

def download_video(url, output_path = "video.mp4"):
    try:
        print(f"Downloading video from {url} to {output_path}...")
        response = requests.get(url, stream=True)
        response.raise_for_status()
        
        with open(output_path, 'wb') as f:
            for chunk in response.iter_content(chunk_size=8192):
                f.write(chunk)
        print(f"Video successfully downloaded to '{output_path}'")
        return True
    except Exception as e:
        print(f"Error downloading video: {e}")
        return False

Skrip Python lengkap: Teks-ke-video dengan Seedance 2

Menggabungkan semuanya, berikut skrip lengkap untuk menghasilkan video dari prompt teks menggunakan Seedance 2:

import os
from byteplussdkarkruntime import Ark
from dotenv import load_dotenv
import utils

load_dotenv()
API_KEY = os.getenv("ARK_API_KEY")

client = Ark(
    api_key=os.getenv("ARK_API_KEY"),
    base_url="https://ark.ap-southeast.bytepluses.com/api/v3"
)

prompt = """
A cinematic close-up of a weary but hopeful female astronaut inside a dimly lit, dusty spaceship cabin. 
Soft blue light illuminates her face. 
She takes a deep breath, showing subtle emotional relief, looks directly into the camera, and says: 
'We finally made it. The atmosphere is stable.' 
The ambient sound of a low, rhythmic spaceship engine hums in the background.
"""

response = client.content_generation.tasks.create(
    model="dreamina-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": prompt,
        }
    ],
    generate_audio=True,
    ratio="16:9",
    duration=8,
    watermark=True,
    resolution="480p",
)

task_id = response.id
print(f"Task successfully submitted! Task ID: {task_id}")

# Wait for the video to finish generating
video_url = utils.poll_task(client, task_id)

utils.download_video(video_url, "./videos/space.mp4")

Panduan referensi parameter inti API Seedance 2

Berikut daftar nilai yang diterima untuk parameter inti dari permintaan pembuatan video:

Tabel yang menampilkan parameter inti Seedance 2 beserta nilai yang tersedia. Parameter 'duration' menerima nilai dari 4d hingga 15d. Parameter 'aspect_ratio' menerima 16:9, 4:3, 1:1, 3:4, 9:16, dan 21:9. Parameter 'resolution' menerima 480p, 720p, 1080p, dan 4k

Panduan Lanjutan: Kemampuan Image-to-Video Seedance 2.0

Di bagian sebelumnya, kita mempelajari cara menghasilkan video menggunakan prompt teks. Seedance 2 juga mendukung input gambar, video, dan audio, jadi mari mulai dengan gambar.

Menggunakan gambar referensi untuk konsistensi karakter

Untuk menguji input gambar, saya menghasilkan dua karakter menggunakan AI untuk digunakan dalam adegan mirip sitkom.

image9.png

Kita dapat memberikan gambar referensi ke model dengan menambahkannya ke bidang content pada permintaan, seperti ini:

response = client.content_generation.tasks.create(
    model="dreamina-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": prompt,
        },
        {
            "type": "image_url",
            "image_url": {
                "url": utils.load_image("./images/male-character.png")
            },
            "role": "reference_image"
        },
        {
            "type": "image_url",
            "image_url": {
                "url": utils.load_image("./images/female-character.png")
            },
            "role": "reference_image"
        }
    ],
    generate_audio=True,
    ratio="16:9",
    duration=15,
    watermark=True,
    resolution="480p",
)

Untuk video ini, saya menggunakan prompt berikut:

Context: A cozy, warmly lit independent coffee shop counter with wooden accents.
Reference: 
- The male barista's face and clothing follow @Image1.
- The female customer's face and styling follow @Image2.

Action & Dialogue (10 Seconds Total):

0:00 - 0:04: 
Medium close-up on the male barista (@Image1) standing behind the counter,
next to the coffee machine. He leans across the counter with a smooth, 
flirtatious smirk, acting like he is making a highly exclusive offer: 
"The WiFi password? It's actually my phone number: five-five-five, zero-one—"

0:04 - 0:07: 
Camera cuts to the female customer (@Image2), instantly interrupting him. 
She holds up her phone screen toward him, entirely unimpressed: 
"Your network is called 'Free_Guest_WiFi' and there is literally no password."

0:07 - 0:08: Quick cut back to the two-shot. 
Flustered, the barista becomes visibly embarrassed, his confident smirk 
instantly vanishing as he nervously breaks eye contact.

0:08 - 0:10: Camera cuts back to a medium shot of the female customer (@Image2). 
She lowers her phone, tapping her fingers lightly on the counter, 
and delivers her order with perfect deadpan clarity: 
"It will be an espresso please. No milk, no sugar, and no phone number."

Framing/Timing: 
Clean cuts to perfectly pace the comedic timing over exactly 10 seconds.

Tone/Audio: 
Lighthearted sitcom vibe. Synchronized voice generation for the dialogue, a subtle low cafe background hum, and the sound of the customer's fingers lightly tapping the wooden counter at the end.

Perhatikan bahwa prompt menggunakan @Image1 dan @Image2 untuk merujuk ke gambar sesuai urutan yang disediakan dalam daftar.

Sayangnya, ketika saya mencoba membuat video ini, saya mendapat galat yang mengatakan: 

The request failed because the input image may contain a real person.

Saya mendapati hal ini terjadi secara konsisten saat mencoba menggunakan Seedance 2 dengan gambar referensi yang berisi manusia realistis, bahkan yang dihasilkan AI sekalipun. 

Untuk mengatasinya, saya mengonversi karakter menjadi kartun dan mencoba lagi.

Kali ini berhasil sempurna, dan menurut saya hasilnya persis seperti yang ingin saya ciptakan.

Kode lengkap untuk contoh ini dapat ditemukan di berkas image_to_video.py.

Menetapkan frame pertama dan terakhir untuk animasi terpandu

Contoh sebelumnya menunjukkan cara menggunakan gambar sebagai referensi dengan menetapkan ”role”: “reference_image” dalam permintaan.

Seedance 2 mendukung dua peran gambar lainnya:

  • ”first_frame”: Menginstruksikan model untuk menggunakan gambar yang diberikan sebagai frame awal persis dari video yang dihasilkan. Ini adalah pengaturan standar untuk pembuatan langsung Image-to-Video.
  • ”last_frame”: Menginstruksikan model untuk mengakhiri video yang dihasilkan pada gambar spesifik ini. Catatan: Anda hanya dapat menggunakannya jika Anda juga menyediakan first_frame dalam permintaan yang sama, sehingga secara efektif meminta model menginterpolasi video di antara kedua gambar.

Saya mencoba ini dengan membuat serangkaian frame awal yang menampilkan lab AI robot yang mencoba menciptakan kembali tanaman di dunia di mana kehidupan alami telah menghilang. 

image11.png

Untuk setiap frame, saya menghasilkan video dengan frame tersebut sebagai frame pertama. Berikut cara menyusun setiap permintaan:

response = client.content_generation.tasks.create(
    model="dreamina-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": prompt,
        },
        {
            "type": "image_url",
            "image_url": {
                "url": utils.load_image("./images/robot-lab1.jpeg")
            },
            "role": "first_frame"
        }
    ],
    generate_audio=False,
    ratio="16:9",
    duration=4,
    watermark=True,
    resolution="480p",
)

Saya menghasilkan video tanpa audio karena audionya tidak akan konsisten, mengingat setiap video dibuat secara terpisah. Berikut hasil penggabungan kelima klip tersebut:

Skrip lengkap yang digunakan untuk menghasilkan video berdasarkan frame awal dapat ditemukan di sini.

Interpolasi gambar dengan last_frame

Dalam contoh ini, kita menyediakan first_frame dan last_frame untuk menghasilkan video di antara keduanya.

Saya menghasilkan dua gambar dari ruangan yang sama, satu kosong tanpa furnitur dan satu lagi dengan ruangan yang sepenuhnya berperabot. Tujuannya adalah menghasilkan video yang menganimasikan proses pengisian furnitur di ruangan tersebut.

image5.png

Prompt yang saya gunakan menjelaskan bagaimana saya ingin furnitur itu muncul dalam video:

A dynamic, fast-paced sequence where furniture pops into existence piece by piece. First, a rug rapidly unfolds itself, then the sofa drops from just above the floor with a heavy, realistic bounce. Lamps, artwork, and plants quickly spring into reality one after another. Vibrant lighting, photorealistic materials, lively and snappy energetic rhythm.

Berikut permintaannya:

response = client.content_generation.tasks.create(
    model="dreamina-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": prompt,
        },
        {
            "type": "image_url",
            "image_url": {
                "url": utils.load_image("./images/room-start.png")
            },
            "role": "first_frame"
        },
        {
            "type": "image_url",
            "image_url": {
                "url": utils.load_image("./images/room-end.png")
            },
            "role": "last_frame"
        }
    ],
    generate_audio=True,
    ratio="16:9",
    duration=8,
    watermark=True,
    resolution="480p",
)

Dan berikut hasilnya:

Skrip lengkapnya dapat ditemukan di sini.

Input Multimodal Seedance 2.0: Menambahkan Referensi Audio dan Video

Sebagai model multimodal, Seedance 2 melampaui input teks dan gambar. Model ini juga mendukung input video dan audio. Ini dapat digunakan sebagai referensi gaya, penggerak gerakan, atau pengeditan video.

Contoh dari situs resmi mereka mengilustrasikan ini dengan sangat baik. Mereka mengambil adegan dua aktor yang bertarung dan menggunakannya untuk menggerakkan aksi, menggantikan para aktor dengan gambar referensi:

Mengirimkan input video

Seperti halnya gambar, input video disediakan dalam parameter content pada permintaan. 

Namun, saat tulisan ini dibuat, input video hanya mendukung URL. Ini berarti jika kita ingin menggunakan video lokal di mesin kita, kita harus meng-host-nya terlebih dahulu.

Untuk contoh ini, saya menggunakan video skating gratis pakai karya Marc Espejo ini. Idenya adalah menggunakan Seedance 2 untuk menambahkan VFX. Berikut hasilnya:

Untuk menghasilkan ini, saya menggunakan permintaan berikut:

response = client.content_generation.tasks.create(
    model="dreamina-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": prompt,
        },
        {
            "type": "video_url", 
            "video_url": {
                "url": "https://www.pexels.com/download/video/38213009/"
            },
            "role": "reference_video" 
        }
    ],
    generate_audio=True,
    ratio="16:9",
    duration=6,
    watermark=True,
    resolution="480p",
)

Skrip lengkapnya dapat ditemukan di sini. Prompt yang saya gunakan adalah:

The original skater, environment, and camera movement must remain 
unchanged and untouched. 

Only add gaming-style visual effects: intense glowing sparks and electric arcs 
streaming from the skateboard-rail contact point during the grind, and a 
brilliant energy shockwaves and dust burst at the jump/pop. 

Mengirimkan input audio

Untuk menguji input audio, saya membuat gambar untuk sebuah karakter dan menggunakan Fish Audio untuk membuat trek audio dengan emosi yang berbeda-beda.

image8.png

Untuk audionya, saya menginginkan beberapa emosi berbeda untuk melihat apakah Seedance 2 mampu mengidentifikasinya saat menghasilkan video. 

Fish Audio AI memungkinkan kita menentukan emosi menggunakan [emotion] dalam prompt, jadi ini sangat cocok. Berikut prompt audio yang saya gunakan:

[sighing] Nothing much is happening today. [surprised] Wait a minute... what are those on my ears?[laughing] Oh my gosh, I can't believe I got piercings last night! [angry] But hold on, I specifically told you not to let me do it!

Untuk memuat berkas audio, saya menulis fungsi ini yang saya tambahkan ke utils.py:

def load_audio(file_path):
    if not os.path.exists(file_path):
        raise FileNotFoundError(f"Audio file not found at: {file_path}")

    # Guess the mime type (e.g., audio/mpeg for mp3, audio/wav for wav)
    mime_type, _ = mimetypes.guess_type(file_path)
    if mime_type is None:
        mime_type = "audio/mpeg" # Fallback to mp3 just in case

    with open(file_path, "rb") as audio_file:
        encoded_string = base64.b64encode(audio_file.read()).decode('utf-8')
        
    return f"data:{mime_type};base64,{encoded_string}"

Memberikan audio ke model caranya sangat mirip dengan gambar. 

Kita memuatnya sebagai data URI base 64 dan mengirimkannya ke model dalam parameter contents, seperti ini:

response = client.content_generation.tasks.create(
    model="dreamina-seedance-2-0-260128",
    content=[
        {
            "type": "text",
            "text": prompt,
        },
        {
            "type": "image_url",
            "image_url": {
                "url": utils.load_image("./images/cat.png")
            },
            "role": "reference_image"
        },
        {
            "type": "audio_url",
            "audio_url": {
                "url": utils.load_audio("./audio/voice.mp3")
            },
            "role": "reference_audio"
        }
    ],
    ratio="16:9",
    duration=11,
    watermark=True,
    resolution="480p",
)

Ini adalah video yang dihasilkan Seedance 2:

Secara keseluruhan, menurut saya kinerjanya cukup baik. 

Entah bagaimana, menjelang akhir, karakternya mulai menangis, yang sebenarnya tidak saya harapkan dari emosi marah. 

Namun perhatikan bahwa Seedance 2 tidak menerima prompt audio; model hanya diberikan berkas audio final.

Skrip lengkapnya dapat ditemukan di sini.

Ide Proyek Seedance 2.0: Membangun Alat Transisi Video AI

Jika Anda ingin proyek yang menyenangkan untuk memperkuat apa yang Anda pelajari di sini, saya sarankan menulis skrip Python yang menerima dua video sebagai input dan:

  1. Mengekstrak frame terakhir dari video pertama.
  2. Mengekstrak frame pertama dari video kedua.
  3. Menggunakan interpolasi video yang kita pelajari di sini untuk menghasilkan transisi antara kedua video. 
  4. Terakhir, skrip menggabungkan ketiga video menjadi satu.

Kesimpulan

Dalam artikel ini, kita mengeksplorasi cara menggunakan Seedance 2 API untuk menghasilkan video dari teks, gambar, dan audio. 

Kita membahas penyiapan lingkungan, koneksi ke API, dan pengelolaan berbagai input media yang diperlukan untuk mewujudkan ide. Prosesnya cukup langsung, dan kemampuan menggabungkan input-input ini membuka beragam kemungkinan kreatif yang menarik.

Secara keseluruhan, saya mendapati model ini bekerja andal dan menghasilkan keluaran yang solid. 

Namun, rasanya ini bukan sebuah terobosan atau lompatan besar dibandingkan model pembuatan video lain yang saat ini ada di pasaran. Model ini menyelesaikan tugasnya, tetapi tidak serta-merta mengubah permainan.

Terakhir, meskipun saya sepenuhnya memahami alasan di balik pedoman keamanan yang membatasi penggunaan wajah manusia nyata pada input, saya merasa aturan ini sangat membatasi kegunaan praktis model. 

Saat saya mencoba menggunakan alat ini untuk meningkatkan konten saya sendiri, alat ini secara konsisten menolak video apa pun yang menampilkan wajah saya. 

Ini menjadi hambatan bagi kreator yang ingin membangun media yang dipersonalisasi, dan ini tetap menjadi hal yang perlu dipertimbangkan jika Anda ingin menggunakan alat ini untuk proyek profesional atau pribadi.

Seedance 2.0 FAQs

Apa itu Seedance 2?

Seedance 2 adalah model AI generatif multimodal dari ByteDance yang berfungsi sebagai "sutradara multimodal," mampu memproses input teks, gambar, video, dan audio secara bersamaan untuk membuat urutan video sinematik.

Apakah ada tingkatan gratis untuk Seedance?

Tidak, tidak ada tingkatan gratis; mengaktifkan dan menggunakan Seedance 2 API memerlukan pembelian kredit khusus model melalui konsol BytePlus Ark.

Bisakah saya menggunakan gambar referensi yang berisi wajah manusia realistis dalam video Seedance saya?

Tidak, API secara konsisten menolak input yang menampilkan wajah manusia realistis, bahkan jika dibuat oleh AI, dan sering kali mengembalikan galat. Mengonversi karakter menjadi gambar bergaya kartun adalah solusi yang disarankan.

Apakah Seedance 2 bersifat multimodal?

Ya, Seedance 2 adalah model multimodal, artinya dapat memproses dan mengintegrasikan input teks, gambar, video, dan audio untuk membuat konten video dan audio yang tersinkron.


François Aubry's photo
Author
François Aubry
LinkedIn
Insinyur full-stack & pendiri di CheapGPT. Mengajar selalu menjadi passion saya. Sejak masa awal sebagai mahasiswa, saya aktif mencari peluang untuk membimbing dan membantu mahasiswa lain. Passion ini mendorong saya menempuh studi PhD, di mana saya juga menjadi asisten pengajar untuk mendukung kegiatan akademik saya. Selama tahun-tahun itu, saya menemukan kepuasan besar dalam suasana kelas tradisional, membangun koneksi dan memfasilitasi proses belajar. Namun, dengan hadirnya platform pembelajaran daring, saya melihat potensi transformatif pendidikan digital. Bahkan, saya terlibat aktif dalam pengembangan salah satu platform tersebut di universitas kami. Saya sangat berkomitmen untuk mengintegrasikan prinsip-prinsip pengajaran tradisional dengan metodologi digital yang inovatif. Tujuan saya adalah menciptakan kursus yang tidak hanya menarik dan informatif, tetapi juga mudah diakses oleh para pembelajar di era digital ini.
Topik
Kecerdasan Buatan
Large Language Models

Kursus Teratas di DataCamp

Kursus

Memahami Prompt Engineering

1 jam
239.8K
Pelajari cara menulis prompt yang efektif dengan ChatGPT dan terapkan dalam alur kerja Anda hari ini.
Lihat DetailMulai Kursus

Buat Akun Gratis Anda

Berlatih dan lacak kemajuan Anda.

Lanjutkan Dengan Google
Dengan melanjutkan, Anda menerima Ketentuan Penggunaan kami, Kebijakan Privasi kami dan bahwa data Anda disimpan di Amerika Serikat.
Lihat Selengkapnya
Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

Lihat Selengkapnya