Seedance 2.5 Şimdi Yayında — İlk Olarak Atlas Cloud'da

MiniMax H3 Yoklama Döngünüz Asla Sonlanmaz. İşte Gerçekten Sonlanan Eğitim.

Tüm asenkron döngüyü içeren bir MiniMax H3 eğitimi: create çağrısı, beş gerçek durumu da işleyen bir poll döngüsü, 3 saniyelik callback zorluğu ve sessizce sona eren iki şey.

İlk POST'unuz on saniye içinde bir task_id ile geri döndü. Kazanç gibi görünüyordu.

Sonra altı dakika boyunca hiçbir şey olmadı. Bir eğitimden while status != "Success" satırını kopyalamıştınız ve döngü sürekli dönüyordu, çünkü bu uç nokta artık Success kelimesini döndürmüyor. Bunun üzerine webhook'a geçtiniz. Tek bir push bile gelmedi ve hiçbir yerde size nedenini söyleyen bir şey yoktu. Ertesi sabah dünkü render'ı kontrol ettiğinizde bağlantı 404 veriyordu.

Bu dört şey birbiriyle alakasız görünüyor. Hiçbiri modelin hatası değil. Dördü de neredeyse hiç kimsenin yazıya dökmediği async sözleşmesinin ta kendisi. İşte tüm sözleşme, artı karşı taraftan çıkan gerçek bir iki-çekimli kısa film.

Önemli çıkarımlar

  • Üç uç nokta, bir döngü: create bir task_id döndürür ve bağlantıyı keser, siz yoklama yaparsınız, indirirsiniz. Tüm zorluk create çağrısından sonra başlar.
  • Gerçek beş durum şunlardır: queued, running, succeeded, failed, cancelled. Bir blog yazısı ne söylerse söylesin, expired diye bir durum yoktur.
  • Süresi dolan iki şey vardır ve hiçbiri bir durum değildir: indirme URL'si zamanla sınırlıdır ve görev kaydının kendisi yalnızca 7 gün boyunca sorgulanabilir.
  • Geri çağırma kullanırsanız, MiniMax önce challenge alanı içeren bir doğrulama isteği gönderir ve siz bunu 3 saniye içinde değiştirmeden geri yankılamalısınız. Bunu başaramazsanız hata almazsınız, sadece sonsuza dek sessizlik olur.
  • Yalnızca metin üretimi için ratio zorunludur ve adaptive olamaz. Görüntüden videoya dönüşümde ilk kare çerçeveyi belirler ve ilettiğiniz herhangi bir ratio yoksayılır.

Önce bitmiş şey

Bu eğitimin tüm ödülü: 2K'da iki MiniMax H3 çekimi, birleştirilmiş, 14.6 saniye. Çekim A, oluşturulan bir ilk kareden görüntüden videoya, çekim B ise metinden videoya. Sesi açın. Ses, üzerine yerleştirilmiş bir film müziği değil; H3, dişlileri, yağmuru ve fısıldanan satırı aynı üretimin parçası olarak render etti.

Bunu yapan üç API çağrısı. İlk kare için bir görüntü modeli, çekimler için iki H3 uç noktası, bunları birleştirmek için bir ffmpeg satırı. Aşağıdaki kod, bunu yapan koddur.

MiniMax H3 Eğitimlerinin Çoğu Neden İkinci İstekte Bozulur?

Bu model için hemen hemen her kılavuz create çağrısında durur. Bu kolay yarıdır. Create çağrısı yükünüzü doğrular, size bir task_id verir ve bağlantıyı keser; sonra dakikalar süren bir iş ve kimsenin basmadığı bir dizi kuralla baş başa kalırsınız.

Başarısızlıklar sıkıcı bir şekilde tekrarlanabilir. Bir öğleden sonra bu altıdan beşine rastladım.

BelirtiGördüğünüz şeyGerçek nedenÇözüm
Yoklama döngüsü asla bitmezTerminal sonsuza kadar yazdırır, iş saatler önce bittiÇıkış koşulunuz Success / Fail gibi v1 kelimelerini karşılaştırır. v2 sorgu uç noktası küçük harfli succeeded / failed döndürürv2 enum'u ile eşleştirin ve tanımadığınız herhangi bir durumda hata fırlatın
Metinden videoya anında 400Herhangi bir render başlamadan önce istek reddedildiratio eksik veya adaptive olarak ayarlanmış, metin-yalnız modu bunu reddeder16:9 gibi açık bir ratio iletin
Oranınız sessizce yoksayıldıÇıktı karesi istediğiniz gibi değilGörüntüden videoya, kareyi ilk kare görüntüsünden türetir, bu nedenle ratio orada işe yaramazİlk kareyi istediğiniz karede kırpın veya oluşturun
Webhook asla ateşlenmez, hata yokSıfır push, temiz loglar, API'den şikayet yokDoğrulama el sıkışması başarısız oldu. MiniMax bir challenge gönderdi ve uç noktanız bunu 3 saniye içinde değiştirmeden geri yankılamadıChallenge'ı, herhangi bir auth veya kuyruk middleware'inden önce, senkron olarak yanıtlayın
Dünkü URL 404 veriyorİndirme bağlantısı ölü, render gitmiş gibi görünüyorİndirme URL'si zaman sınırlıdır. Render gayet iyi7 günlük pencere içinde, yeni bir URL almak için aynı task_id'yi tekrar sorgulayın
Yük altında rastgele 429'larBazı gönderimler reddedildi, kuyruk yokEşzamanlılık sınırlıdır ve bu bekleyen bir hat değil, sert bir sınırdırKendi devam eden sayınızı sınırlayın ve render'ı değil, gönderimi yeniden deneyin

İlk satır, bütün akşamları yiyen satırdır ve kesin olmakta fayda var. MiniMax'ın eski video API'si, Preparing / Queueing / Processing / Success / Fail ailesinde büyük harfli kelimelerle ilerleme bildiriyordu. H3 tarafından kullanılan v2 sorgu uç noktası, queued, running, succeeded, failed, cancelled döndürür (MiniMax API Referansı, Ağustos 2026). Birçok üçüncü taraf satıcı belgesi hâlâ eski seti basıyor veya her ikisini bir sayfada karıştırıyor. Bu tür birinden bir döngü devraldıysanız, sonlanamaz çünkü beklediği dize asla gönderilmez.

MiniMax H3 Eğitim İş Akışı: Üç Uç Nokta, Beş Durum, Bir Döngü

H3, 2026-07-31'de omni-modal bir video modeli olarak piyasaya sürüldü: metin, görüntü, video ve sesin tümü aynı bağlam penceresinde yaşar, 2K'da 15 saniyeye kadar ve yerel stereo ses ile çıktı verir (MarkTechPost, Ağustos 2026). API için bu, bir content dizisi ile bir adet create uç noktası anlamına gelir ve diziye ne koyduğunuz hangi modda olduğunuzu belirler.

Modcontent'e ne girergörüntü öğesindeki rolüratio'nun ne yaptığıNe için kullanılır
Metinden videoyabir metin öğesiyokZorunludur ve adaptive reddedilirKaynak görüntü olmayan, karenin tam kontrolünün olduğu çekimler
Görüntüden videoyametin öğesi artı görüntü öğesifirst_frame (isteğe bağlı olarak ayrıca last_frame)Yoksayılır, ilk kare karar verirHalihazırda sanat yönettiğiniz bir fotoğrafı canlandırma
Referanstan videoyametin öğesi artı referans öğesireference_image (ayrıca reference_video, reference_audio)Zorunludur, metin-yalnız ile aynıBir karakteri veya bir sesi çekimler arasında tutma

Ve kodunuzun aslında ele alması gereken kısım. Beş durum, beş farklı dal.

DurumAnlamıKodunuzun ne yapması gerektiği
queuedKabul edildi, sıra bekliyorYoklamaya devam edin, aralığı artırın
runningRender ediliyorYoklamaya devam edin, aralığı artırın
succeededBitti, content.url doluHemen indirin, bu yinelemede
failedRender başarısız olduHata gövdesini okuyun, loglayın, aynı yükü körü körüne yeniden denemeyin
cancelledİş iptal edildiDöngüden çıkın, terminal olarak ele alın
başka herhangi bir şeyEnum'da değilHata fırlatın. Sessizce "beklemeye devam et" olarak ele aldığınız yeni bir durum, yukarıdaki tablodaki hatadır

expired diye bir durum yoktur. Bu kelime sıklıkla bu API'ye eklenir ve iki başka şeye aittir: zaman sınırlı ve yenilenebilir olan indirme URL'si ve yalnızca son 7 gün için sorgulanabilir olan görev kaydı. Her ikisi de Adım 4'te ele alınmıştır.

Koddan önce bir sayı daha. H3'te video oluşturma için eşzamanlılık, dakikadaki istek sayısıyla değil, bağlantı sayısıyla sınırlıdır: ücretsiz kademede 2 eşzamanlı görev, ücretli olduğunuzda 15 (Miniax Hız Sınırları, Ağustos 2026). Sınırın ötesinde hemen bir 429 alırsınız. Sizin adınıza hiçbir şey kuyruğa alınmaz. Ayrıca bir yönlendirme ağ geçidi üzerinden 20 eşzamanlı H3 işi gönderip hepsinin başarılı olduğunu gördüm ve aynı kurulumda başka bir gün 429 aldım; bu nedenle belgelenen sınırın üzerindeki herhangi bir sayıyı sabit değil, hava durumu olarak ele alın.

Doğrudan mı yoksa bir ağ geçidi aracılığıyla mı?

Üç adım her iki şekilde de aynıdır, ancak dizeler farklıdır ve bu, gece saat 1'de hata ayıklarken önemlidir.

MiniMax doğrudanBirleşik ağ geçidi (Atlas Cloud)
GönderPOST /v2/video_generationPOST /api/v1/model/generateVideo
YoklamaGET /v2/query/video_generation/{task_id}GET /api/v1/model/prediction/{id}
Durum kelimeleriqueued / running / succeeded / failed / cancelledbaşarılıda completed, başarısızda failed
Push bildirimleri3 saniyelik challenge el sıkışması ile Geri Çağırma URL'siTahmin kimliğini yoklayın
Eşzamanlılık2 ücretsiz, 15 ücretli, sert 429Model başına bir sınır olarak yayınlanmamıştır, pratikte daha geniş ölçülür
Aynı anahtarda ilk kare görüntü modeliHayır, ayrı hesapEvet, GPT Image 2 ve H3 tek bir anahtarın arkasındadır
H3 fiyatıÇözünürlük kademesine göre yayınlanmıştırÇıktı saniyesi başına, çözünürlüğe göre kademeli, göndermeden önce Çalıştır düğmesinde fiyat teklifi edilir

Bu eğitimin zincirini bir ağ geçidinde çalıştırmamın nedeni tamamen sondan bir önceki satırdır: ilk kare bir OpenAI görüntü modelinden gelir ve iki çekim MiniMax'tan gelir; 14 saniyelik bir film için iki satıcı, iki anahtar ve iki faturalama sayfası istemedim. Zaten MiniMax platformunun içindeyseniz, orada kalın, aşağıdaki döngü yollar ve durum kelimeleri dışında değişmeden çalışır.

Hailuo AI Video Oluşturucu: Herhangi Bir Kod Yazmadan Önce Nasıl Kullanılır

Buraya Hailuo AI video oluşturucuyu nasıl kullanacağınızı arayarak geldiyseniz, doğru yerdesiniz ve henüz kodun hiçbirine ihtiyacınız yok. Hailuo, MiniMax'ın tüketiciye yönelik uygulamasıdır ve H3, API'nin kullandığı model adıdır. Aynı motor, farklı kapı.

Üç dakika, terminal yok:

  1. Bir model sayfası açın, örneğin MiniMax H3 görüntüden videoya. Oyun alanı sayfanın sağ panelidir.
  2. Bir ilk kare görüntüsü bırakın veya metinden videoya sayfasına geçin ve sadece bir istem yazın. Çözünürlük ve süreyi ayarlayın. Duymak istediğinizi yüksek sesle söyleyin, sadece görmek istediğinizi değil: H3 sesi aynı geçişte oluşturur, bu nedenle "cama vuran yağmur, küçük servo tıklamaları" gerçek bir talimattır, süsleme değil.
  3. Çalıştır'a basın. Düğme, taahhüt etmeden önce seçtiğiniz ayarlar için tam ücreti gösterir. Bekleyin, indirin.

Kodsuz yolun tamamı budur ve tek seferlik klipler için gerçekten daha hızlı seçenektir. On farklı varyasyon veya başka bir model tarafından oluşturulup doğrudan beslenen bir ilk kare istediğiniz an, koda geri dönün. Geri kalan bunun içindir.

MiniMax H3 Eğitimi: Oluştur, Yokla, İndir, Tekrarla

Yedi adımın tamamından geçen bir örnek: bir saatçi küçük bir pirinç mekanik kuşu tamir eder, ona bir satır fısıldar ve kuş atölyeden uçup gider. İki çekim. Çekim A, görüntüden videoya olduğu için iç mekan sanat yönetimiyle yapılmıştır. Çekim B, metinden videoyadır çünkü gökyüzü için kaynak kare yoktur.

Adım 1: GPT Image 2 ile ilk kareyi oluşturun

Görüntüden videoya ratio'yu yoksayar, bu nedenle ilk kare, çekim A'nın karesine karar verdiğiniz yerdir. 16:9'da ve en yüksek kalite kademesinde oluşturun, çünkü H3 içindeki her kusuru devralacak ve üzerine hareket bulanıklığı ekleyecektir.

Model: openai/gpt-image-2/text-to-image. Ayarlar: kalite high, 2048x1152, 16:9, PNG.

text
1Alacakaranlıkta dağınık bir saatçi atölyesi, yıpranmış bir meşe tezgahın üzerinde sıcak bir tungsten lamba. Deri önlüklü yaşlı bir tamirci, avuçlarında dinlenen küçük bir pirinç mekanik kuşa doğru eğiliyor, kanat plakaları yarı açık, minik dişliler görünüyor. Arkasındaki çok bölmeli pencerede yağmur izleri var; çerçevenin solunda bir kömür sobası kehribar rengi parlıyor. Sığ alan derinliği, 35mm, lamba huzmesinde hacimsel toz, derin kehribar ve turkuaz paleti, fotogerçekçi, metin yok.
2

AI görüntü oluşturucu arayüzü, bir metin istemi ve oluşturulan çıktıyı gösteriyor

Atlas Cloud'da GPT Image 2 oyun alanı, bu eğitimin ilk kare istemi ve çıktı panelinde işlenmiş saatçi atölyesi ile

Atlas Cloud'da GPT Image 2, 2048x1152'de yüksek kalite. Çalıştır düğmesi, taahhüt etmeden önce seçtiğiniz ayarlar için tam ücreti, bu seferki için $0.1745'i gösterir.

Döndürülen URL'yi saklayın. Adım 2, onu doğrudan H3'e besler, indirme gidiş-dönüşüne gerek yoktur.

Adım 2: MiniMax H3 görevini oluşturun ve task_id'ye tutunun

Create çağrısı iki şey yapar ve sonra sizinle ilgilenmeyi bırakır: yükü doğrular ve bir task_id döndürür. Burada 400 almak, geçici bir hata değil, yükünüzle ilgili bir sorundur, bu nedenle bir yeniden deneme döngüsünün arkasına koymayın. Diğer her tür sorun daha sonra, yoklama sırasında ortaya çıkar.

Gerçek para tasarrufu sağlayan tek alışkanlık: başka bir şey yapmadan önce task_id'yi kalıcı hale getirin. Görevler yalnızca 7 gün boyunca sorgulanabilir ve işleminiz kimlik bellekteyken ölürse, artık erişemediğiniz bir render için ödeme yapmış olursunuz.

python
1import os, json, time, requests
2
3BASE = "https://api.minimax.io"
4HEADERS = {
5    "Authorization": f"Bearer {os.environ['MINIMAX_API_KEY']}",
6    "Content-Type": "application/json",
7}
8
9def create_task(payload: dict) -> str:
10    r = requests.post(f"{BASE}/v2/video_generation",
11                      headers=HEADERS, json=payload, timeout=60)
12    if r.status_code == 400:
13        # yükünüz yanlış. tekrar denemek yine yanlış olacaktır.
14        raise ValueError(f"reddedildi: {r.text}")
15    r.raise_for_status()
16    task_id = r.json()["task_id"]
17    with open("tasks.jsonl", "a") as f:                 # BAŞKA HER ŞEYDEN ÖNCE kalıcı hale getir
18        f.write(json.dumps({"task_id": task_id, "at": int(time.time()),
19                            "payload": payload}) + "\n")
20    return task_id
21
22SHOT_A_PROMPT = (
23    "Yaşlı tamircinin elleri pirinç kuşu sabitliyor. Cam gözleri titreyerek yanıyor, "
24    "kanat plakaları tek tek tıklayarak açılıyor. Eğilip yaklaşıyor ve mikrofona yakın bir şekilde fısıldıyor, "
25    ""Bakalım hâlâ gökyüzünü hatırlıyor musun." Yavaş 50mm içeri itme, lamba ışığı pirinci tırmalıyor, "
26    "camda yağmur tıkırdaması, kömür sobası çıtırdaması, sesinin altında küçük servo tıklamaları "
27    "Sıcak kehribar anahtar, turkuaz pencere dolgusu. Ekranda metin yok."
28)
29
30shot_a = create_task({
31    "model": "MiniMax-H3",
32    "resolution": "2K",
33    "duration": 8,
34    # burada bilerek "ratio" yok: görüntüden videoya kareyi ilk kareden alır
35    "content": [
36        {"type": "text", "text": SHOT_A_PROMPT},
37        {"type": "image_url", "role": "first_frame",
38         "image_url": {"url": FIRST_FRAME_URL}},
39    ],
40})
41print("çekim A görevi:", shot_a)
42

İşte bu tam istem ve ilk kare bir iş olarak çalışıyor, böylece sağlıklı bir gönderimin diğer taraftan nasıl göründüğünü görebilirsiniz:

AI video oluşturucu arayüzünün ekran görüntüsü, giriş ve çıkış ile

Atlas Cloud'da MiniMax H3 görüntüden videoya oyun alanı, atölye ilk karesi yüklenmiş ve işlenmiş klip çıktı panelinde

MiniMax H3 görüntüden videoya: solda yüklenmiş ilk kare, sağda ÇIKTI'da bitmiş 2K klip. En Boy Oranı alanının adaptive olarak sabitlendiğine ve 2K, 8 saniye için $1.12 fiyat teklifine dikkat edin.

Adım 3: Yoklayın ve tüm beş MiniMax H3 durumunu ele alın

Herkesin yanlış yaptığı döngü budur, bu nedenle tam olarak yazmaya değer. Dört kural: aralığı artırın, dövmeyin; toplam bekleme süresini sınırlayın; succeeded'ı "şimdi indir" olarak ele alın ve enum'da olmayan herhangi bir durumda hata fırlatın.

python
1TERMINAL_OK   = {"succeeded"}
2TERMINAL_BAD  = {"failed", "cancelled"}
3IN_FLIGHT     = {"queued", "running"}
4
5def poll(task_id: str, timeout_s: int = 900) -> dict:
6    delay, deadline = 3.0, time.time() + timeout_s
7    while time.time() < deadline:
8        r = requests.get(f"{BASE}/v2/query/video_generation/{task_id}",
9                         headers=HEADERS, timeout=30)
10        r.raise_for_status()
11        task = r.json()["task"]
12        status = task["status"]
13
14        if status in TERMINAL_OK:
15            return task                                  # content.url ŞİMDİ canlı
16        if status in TERMINAL_BAD:
17            raise RuntimeError(f"{status}: {json.dumps(r.json())[:400]}")
18        if status not in IN_FLIGHT:
19            # enum'da olmayan bir durum. "beklemeye devam et"e düşmeyin.
20            raise RuntimeError(f"bilinmeyen durum {status!r} -- changelog'u okuyun")
21
22        print(f"  {status} ... sonraki kontrol {delay:.0f}s içinde")
23        time.sleep(delay)
24        delay = min(delay * 1.5, 15.0)                    # 3s -> 15s tavan
25    raise TimeoutError(f"{task_id} hâlâ terminal değil, {timeout_s}s sonra")
26

İçinde kasıtlı olan üç şey:

status not in IN_FLIGHT devam etmek yerine hata fırlatır. MiniMax önümüzdeki çeyrekte altıncı bir durum eklerse, asla gelmeyen bir kelimeyi bekleyen bir döngü değil, yüksek sesle çöken bir hata istersiniz. Bu tek satır, bozuk eğitim ile bu eğitim arasındaki farktır.

failed yeniden denemez. Başarısız bir render genellikle istemin bir filtreyi tetiklediği veya yükün kötü bir kombinasyona sahip olduğu anlamına gelir ve aynı yükü tekrar ateşlemek, tam fiyata aynı başarısızlığı satın alır. Gövdeyi loglayın, inceleyin, sonra karar verin.

Geri çekilme 3 saniyede başlar ve 15'te durur. 2K'da H3 dakikalar alır, saniyeler değil. Saniyede bir yoklama yapmak, sorgu uç noktasındaki hız sınırınızı tüketir.

Adım 4: URL'nin süresi dolmadan indirin

succeeded anı geldiğinde, dosyayı hemen diske akışlayın. content.url içindeki URL, açıkça zaman sınırlı bir bağlantıdır: "Hemen indirin veya saklayın; süresi dolduktan sonra yeni bir URL almak için tekrar sorgulayın" (MiniMax API Referansı, Ağustos 2026). Veritabanınıza koyup unutabileceğiniz bir CDN yolu değildir.

İkinci yarı iyi haberdir ve ertesi sabah aldığınız 404'ün cevabıdır. Render gitmemiştir. Aynı task_id'yi tekrar sorgulayın ve oluşturmadan sonra 7 güne kadar yeni bir URL alırsınız.

python
1def download(url: str, path: str) -> str:
2    with requests.get(url, stream=True, timeout=300) as r:
3        r.raise_for_status()
4        with open(path, "wb") as f:
5            for chunk in r.iter_content(1 << 20):
6                f.write(chunk)
7    return path
8
9def refresh_url(task_id: str) -> str:
10    """Ölü bağlantı mı? Render gayet iyi. 7 günlük pencere içinde tekrar sorun."""
11    r = requests.get(f"{BASE}/v2/query/video_generation/{task_id}",
12                     headers=HEADERS, timeout=30)
13    r.raise_for_status()
14    return r.json()["task"]["content"]["url"]
15
16task = poll(shot_a)
17download(task["content"]["url"], "shot-a.mp4")
18

Çekim A için geri dönen şey, başladığı fotoğrafın yanında:

Bir zanaatkarın mekanik bir kuşu incelediği yan yana karşılaştırma

Yan yana: solda oluşturulan ilk kare, sağda bitmiş MiniMax H3 klibinden bir kare, kuşun kanat plakalarının açıldığını ve gözlerin yandığını gösteriyor

Sol: Adım 1'deki GPT Image 2 fotoğrafı, gönderildiği gibi. Sağ: H3'ün döndürdüğü 2K klibinden alınmış bir kare. Aynı set, aynı ışık, hareket eden kanat plakaları ve gözler.

Adım 5: MiniMax H3 metinden videoya ile Çekim B, ratio'nun zorunlu olduğu yer

Gökyüzü için kaynak kare yok, bu nedenle çekim B yalnızca metin. Bu, ratio kuralını "yoksayılır"dan "zorunlu"ya çevirir: yalnızca metin içeren bir istem için ratio zorunludur ve adaptive olamaz (MiniMax API Referansı, Ağustos 2026). Bunu atlayın veya adaptive gönderin ve herhangi bir render başlamadan önce anında 400 alırsınız.

Model: minimax/h3/text-to-video. Ayarlar: 2K, süre 6, oran 16:9.

text
1Pirinç kuş, yarı açık bir atölye çatı penceresinden fırlayarak yağmurla yıkanmış bir akşam gökyüzüne çıkar, kanatları bir dişli vızıltısıyla çırpınır, metal tüylerden sıçrayan damlalar, altın bir bulut kırıklığına doğru ıslak arduvaz çatıların üzerinden yükselirken. Kamera arkasından yukarı doğru vinç çeker, 24mm, alçak güneşten arkadan aydınlatmalı kenar. Ses: kanat servoları vızıldıyor, rüzgar yükseliyor, uzaktaki kilise çanı, yağmur soluyor. Metin yok.
2
python
1shot_b = create_task({
2    "model": "MiniMax-H3",
3    "resolution": "2K",
4    "duration": 6,
5    "ratio": "16:9",          # burada zorunlu. atlayın veya "adaptive" iletin -> 400
6    "content": [{"type": "text", "text": SHOT_B_PROMPT}],
7})
8download(poll(shot_b)["content"]["url"], "shot-b.mp4")
9

AI video oluşturucu arayüzünün ekran görüntüsü, giriş ve çıkışı gösteriyor

Atlas Cloud'da MiniMax H3 metinden videoya oyun alanı, kuşun uçuşa geçtiği istem ve bitmiş klip çıktı panelinde

MiniMax H3 metinden videoya, çekim B'nin istemi ve En Boy Oranı açıkça 16:9 olarak ayarlanmış. Bu çalıştırma, yukarıdaki yükteki 6 yerine sayfanın varsayılan 8 saniyesini kullandı.

Adım 6: Bir geri çağırma ile yoklamayı atlayın ve challenge'ı 3 saniyede yankılayın

Sorulmaktan ziyade söylenmeyi tercih ediyorsanız, create çağrısına callback_url iletin. Tam olarak bir yakalama var, API referansında tek bir parantez içinde belgelenmiştir ve kendi kendine barındırılan geri çağırmaların başarısız olmasının en yaygın yoludur.

MiniMax size herhangi bir şey göndermeden önce, bir challenge alanı içeren bir doğrulama isteği gönderir ve "doğrulamayı tamamlamak için challenge'ı 3 saniye içinde değiştirmeden döndürmelisiniz" (MiniMax API Referansı, Ağustos 2026). Bunu kaçırırsanız hiçbir yerde hata olmaz. Create çağrılarınız başarılı olmaya devam eder, render'larınız bitmeye devam eder ve siz asla bir push alamazsınız. Hiçbir log nedenini söylemez.

On iki satır FastAPI ve içlerindeki sıralama tüm mesele:

python
1from fastapi import FastAPI, Request
2
3app = FastAPI()
4
5@app.post("/minimax/callback")
6async def callback(req: Request):
7    body = await req.json()
8    if "challenge" in body:                 # doğrulama el sıkışması, ÖNCE yanıtlayın
9        return {"challenge": body["challenge"]}   # değiştirilmemiş, senkron, auth kapısı yok
10    task_id = body.get("task_id")
11    status  = body.get("status")
12    enqueue(task_id, status)                # gerçek bildirim: devredin, hızlı dönün
13    return {"ok": True}
14

Onu öldüren hatalar, en sık gördüğüm sırayla:

  • Challenge isteği, auth middleware'inizden geçer ve 401 veya yönlendirme alır. Doğrulama tanım gereği kimlik doğrulamasız değildir. Yolu beyaz listeye alın.
  • İşleyici, challenge'ı bir kuyruğa iter ve eşzamansız olarak yanıtlar. Çok geç. Bu yanıt, o isteğin yanıt gövdesinde olmalıdır.
  • Değer yeniden serileştirilir, kırpılır veya sarılır. Bayt bayt yankılayın.
  • Bir tünel aracılığıyla sunucusuz bir geliştirme sunucusuna karşı test ediyorsunuz ve soğuk başlatma tek başına 3 saniyeden fazla sürüyor. Önce ısıtın veya halihazırda çalışan bir işleme karşı doğrulayın.

Bu arada, yoklama tamamen sorunsuzdur. Saatte bir avuç işiniz varsa, Adım 3'teki döngü daha az kod ve daha az kırılacak şeydir. Geri çağırma, çok sayıda işiniz olduğunda ve iş başına bir yoklayıcı istemediğinizde işe yarar.

Adım 7: İki çekimi tek bir filmde birleştirin

Her iki çekim de 24fps'de 2560x1440 h264 ve 32kHz'de AAC stereo ses olarak geldi. Aynı kap, aynı her şey, bu nedenle bu yeniden kodlama yerine bir akış kopyasıdır. Kalite kaybı yok, bekleme yok.

Beklemeye değer küçük bir sürpriz: 6 saniye istemek bana 6.58 saniyelik bir dosya verdi. Süreler, istediğinize yakın gelir, kareye tam değil, bu nedenle iki çekim temiz bir 14 yerine 14.62 saniyeye kadar çıkar.

bash
1printf "file 'shot-a.mp4'\nfile 'shot-b.mp4'\n" > list.txt
2ffmpeg -f concat -safe 0 -i list.txt -c copy brass-bird-two-shot.mp4
3

Bu çıktı, bu makalenin başındaki videodur. -c copy şikayet ederse, iki çekiminizin farklı çözünürlükleri veya kare hızları vardır, bu da H3'te çağrılar arasında resolution'ı değiştirdiğiniz anlamına gelir. Bunları eşleştirin veya -c copy'yi bırakın ve bir yeniden kodlamayı kabul edin.

Çalmaya Değer MiniMax H3 Eğitim Varyasyonları

Yukarıdaki döngü çalıştıktan sonra denemeye değer beş şey, kabaca size ne kadar para kazandırdıkları sırasına göre.

768P'de taslak, 2K'da bitirin. Her iki kademe de aynı modeldir ve 768P saniye başına yaklaşık %29 daha ucuzdur. Adaylarınızı kısa ve ucuz olarak render edin, izleyin, ardından aynı istemle yalnızca kazananı 2K'da yeniden çalıştırın. Çekim listesindeki tasarrufların çoğu burada yaşar. Teslimat için gerçekte hangi kademeye ihtiyacınız olduğu kendi tartışmasıdır ve bunu 768P vs 2K adresinde yaptım.

Süre, 4'ten 15'e kadar her tam sayıdır. Bir dizi ön ayar değil. Eylem 7 saniyede bitiyorsa, 7 isteyin ve 8 için ödeme yapmayı bırakın.

İlk kare artı son kare. role: "last_frame" ile ikinci bir görüntü öğesi gönderin; H3 aralarındaki geçişi oluşturacaktır. Halihazırda sanat yönettiğiniz çekimler arasındaki geçişler için kullanışlıdır.

Süreklilik için referanstan videoya. role: "reference_image", bir karakteri her nesilde yüzünü yeniden şekillendirmek yerine çekimler arasında tutar. Referans klibi için 2 ila 15 saniyelik bir pencereyle eşleşen bir reference_audio rolü vardır; bu, bir sesi tutarlı tutmanın yoludur. Bkz. referanstan videoya.

Dikey konuşan kafa. ratio: "9:16" ile istemde bir diyalog satırı, bu modelin şu anda en yüksek hacimli kullanımıdır, çünkü ses aynı geçişten çıkar ve dudaklar ayrı bir dudak senkronizasyonu adımı olmadan eşleşir.

İstem işçiliği, async tesisatından ayrı bir beceridir ve çekimleriniz teknik olarak temiz ancak görsel olarak düzse, sorun bu makalenin yukarısındadır. H3 istem kılavuzu ile başlayın.

Bu MiniMax H3 Eğitimini Çalıştırmanın Maliyeti

En baştaki filmi üreten çalıştırmadan gerçek satır öğeleri, Çalıştır düğmesi tarafından fiyat teklif edilmiş ve 2026-08-12'de doğrulanmıştır. H3, çıktının saniyesi başına faturalandırılır ve ücret çözünürlüğe göre kademelendirilir: 2K işleri, 8 saniye için $1.12 fiyat teklifi verdi, bu da saniye başına $0.14'tür ve katalogdaki $0.10 başlangıç ücreti 768P kademesidir. Her üç H3 uç noktası da şu anda tam fiyattadır, herhangi bir indirim uygulanmamıştır.

AdımModelAyarlarÜcret
İlk kareGPT Image 2 metinden görüntüyekalite high, 2048x1152$0.1745
Çekim AH3 görüntüden videoya2K, 8s$1.12
Çekim BH3 metinden videoya2K, 16:9, 6s$0.84
Teslim edilen film14.6s, iki çekim, 2560x1440, stereo ses$2.13
Bu makale için ekran görüntüsü çalıştırmalarıH3 i2v + t2v2K, her biri 8s$2.24

Aynı iki çekimin 768P'de taslak olarak maliyetinin $0.80 ve $0.60 olacağını, $1.12 ve $0.84 yerine yaklaşık %29 daha ucuz olacağını ve bir çekimi kesinlikle değerlendirebileceğiniz görüntüler için not etmekte fayda var.

Pahalı yoldan öğrenmesi kolay iki faturalama ayrıntısı. Gönderimde reddedilen bir istek hiçbir şeye mal olmaz, bu nedenle eksik bir ratio nedeniyle 400 almak ücretsizdir. İşe yaramaz bir şey render eden bir istek ücretsiz değildir: iş succeeded durumuna ulaşırsa, çıktı istediğiniz gibi olmasa bile ücretlendirilirsiniz. 768P'de taslak oluşturmanın gerçek argümanı budur.

Saniye başına ücretler, 768P ve 2K karşılaştırması ve ücretin sürelere göre nasıl davrandığı, bu makalenin eşlikçisi olan MiniMax H3 API fiyatlandırması adresinde ayrıntılı olarak ele alınmıştır. Bu yazı kod, şu yazı fatura.

Sevk Etmeden Önce Atıf ve Bölge

Bu herhangi bir yere halka açık olarak gitmeden önce kontrol edilmesi gereken iki şey. MiniMax'ın API koşulları, API çıktısına karşı patent ve telif hakkı iddialarını kapsayan koşullu bir savunma yükümlülüğü içerir ve bu yükümlülük ticari marka veya benzerliği kapsamaz; bu nedenle isteminizde tanınabilir bir logo veya gerçek bir kişi hâlâ sizin sorununuzdur. Ayrı ayrı, H3 için açık ağırlıklar lisansı, bir Hariç Tutulan Bölgeler maddesi taşır ve bu madde, indirilen ağırlıkları ve bunların çıktılarını yönetir, barındırılan API'yi değil; API'nin koşulları, seçebileceğiniz bir ABD hizmet bölgesini adlandırır. Hangi sözleşmeyi imzaladıysanız onu okuyun. Ve H3 çıktısını kullanıcı arayüzünüzde H3 çıktısı olarak etiketleyin.

MiniMax H3 Eğitim SSS

MiniMax H3 görev durumları nelerdir ve expired diye bir durum var mı?

Beş tane: queued, running, succeeded, failed, cancelled. expired diye bir durum yoktur. Süresi dolan ve bununla karıştırılan iki başka şey: content.url içindeki indirme URL'si zaman sınırlıdır ve görev kaydının kendisi yalnızca son 7 gün için sorgulanabilir.

MiniMax H3 için bir geri çağırma kullanmak zorunda mıyım yoksa yoklama yeterli mi?

Yoklama yeterlidir ve daha az koddur. Yeterli sayıda eşzamanlı işiniz olduğunda ve iş başına bir yoklayıcı anlamsız olduğunda bir geri çağırma kullanın. Kullanırsanız, uç nokta challenge alanını 3 saniye içinde, herhangi bir auth middleware'inden önce, senkron olarak değiştirmeden geri yankılamalıdır. Başarısız bir el sıkışma hiçbir hata mesajı üretmez, sadece kalıcı sessizlik üretir.

MiniMax H3 metinden videoya isteğim neden "ratio is required and cannot be adaptive" hatasıyla 400 veriyor?

Çünkü karenin çıkarılacağı ilk karenin olmadığı yalnızca metin modundasınız. Açık bir değer iletin: 21:9, 16:9, 4:3, 1:1, 3:4 veya 9:16. Aynı kural, ratio'nun ilk karenin karar verdiği ve ilettiğiniz herhangi bir oranın yoksayıldığı görüntüden videoya hiçbir şey yapmıyormuş gibi görünmesinin nedenidir.

Paralel olarak kaç MiniMax H3 işi çalıştırabilirim?

Belgelenen sınır bağlantı tabanlıdır: ücretsizde 2 eşzamanlı görev, ücretlide 15. Sınırın üzerinde bir kuyruk yuvası yerine anında 429 alırsınız, bu nedenle kendi devam eden sayınızı sınırlayın. Yönlendirme ağ geçitleri bazen daha fazlasını emer ve 20 eşzamanlı işin hepsinin tamamlandığını gördüm, ancak başka bir gün aynı kurulumda 429 da aldım. Daha yüksek sayıyı varsayan bir zamanlayıcı oluşturmayın.

MiniMax H3 video URL'm bir gün sonra 404 veriyor. Render kayboldu mu?

Hayır. URL'nin süresi doldu, render'ın değil. Aynı task_id'yi tekrar sorgulayın ve yanıt, 7 günlük sorgulama penceresi içinde herhangi bir zamanda yeni bir URL taşır. 7 gün sonra görev kaydının kendisi artık sorgulanamaz, bu nedenle Adım 2, başka bir şey yapmadan önce task_id'yi kalıcı hale getirir.

"hailuo ai video generator how to use" aradım ve bir MiniMax H3 eğitimine geldim. Doğru yerde miyim?

Evet. Hailuo tüketici uygulamasıdır ve H3, API tarafından kullanılan model adıdır. Aynı motor. Tek bir klip istiyorsanız, yukarıdaki iş akışı bölümündeki oyun alanı yolunu kullanın, kod gerekmez. On farklı varyasyon veya başka bir modelden aktarılmış bir ilk kare istiyorsanız, yedi adım sizin için.

En Yeni Modeller

Tüm Medya Yapay Zekâsı için Tek API.

Tüm modelleri keşfet