Seedance 2.0 Fast Video Oluşturma API'si
APIMaster üzerinde Seedance 2.0 Fast parametreleri, referans medya, asenkron görevler, kimlik doğrulamalı indirmeler ve süre faturalandırması.
Seedance 2.0 Fast video oluşturma
Metinden videoya, görüntüden videoya, ilk/son kare oluşturma ve video veya ses referansları için seedance-2.0-fast kullanın. Fast, 480p ve 720p'ü destekler ve çıktı süreleri 4 ile 15 saniye arasındadır.
İlk/son kare oluşturma için açıkça
aspect_ratio: "adaptive"ayarlayın. Referans ses, bir görüntü veya video ile birlikte olmalıdır. APIMaster API anahtarınızı sunucunuzda saklayın.
Uç Noktalar ve Kimlik Doğrulama
Temel URL: https://apimaster.ai/v1. Gönderirken, sorgularken ve indirirken Authorization: Bearer YOUR_API_KEY gönderin.
| İşlem | Yöntem ve yol |
|---|---|
| Video oluştur | POST /v1/videos/generations |
| Uyumlu sonucu sorgula | GET /v1/video/generations/{task_id} |
| OpenAI tarzı sonucu sorgula | GET /v1/videos/{task_id} |
| Videoyu indir | GET /v1/videos/{task_id}/content |
| İstenen son kareyi indir | GET /v1/videos/{task_id}/last-frame |
APIMaster tarafından döndürülen genel task_id kullanın. Video görevleri ve medya inceleme görevleri farklı kaynaklardır: videolar için yukarıdaki video sorgu uç noktalarını kullanın. Kabul edilen bir istek bir asenkron görev oluşturur; HTTP başarısı, videonun tamamlandığı anlamına gelmez.
Parametreler
| Alan | Tür | Gerekli / varsayılan | Açıklama |
|---|---|---|---|
model |
string | Gerekli | seedance-2.0-fast |
prompt |
string | Gerekli | En fazla 4000 karakter. Konuyu, hareketi, sahneyi, kamerayı ve istenen sesi tanımlayın; kısa prompt'lar kontrolü daha kolaydır. |
duration |
integer | 5 |
Çıktı uzunluğu, 4–15 saniye. -1 desteklenmez. |
resolution |
string | 720p |
480p veya 720p; 1080p ve 4k desteklenmez. |
aspect_ratio |
string | 16:9 |
16:9, 9:16, 1:1, 4:3, 3:4, 21:9 veya adaptive. |
ratio |
string | aspect_ratio ile aynı |
APIMaster takma adı. Her ikisi de görünürse değerleri eşleşmelidir. |
size |
string | aspect_ratio ile aynı |
16:9 veya adaptive gibi bir oran. İki boyutu ayrı ayrı ifade etmek için aspect_ratio ve resolution tercih edin. Çelişen belirtimler 400 döndürür. |
seed |
integer | Atlanmış | Varyasyonu kontrol eder; eşleşen seed'ler özdeş çıktı garantisi vermez. |
generate_audio |
boolean | true |
Eşlik eden ses oluşturur; sessiz çıktı için false kullanın. |
image_urls |
string[] | Atlanmış | En fazla 9 referans görüntü. Genel görüntü URL'leri veya onaylanmış APIMaster asset:// kimlikleri. |
image_with_roles |
object[] | Atlanmış | url ve role içeren görüntü nesneleri; image_urls ile birlikte görünemez. Aşağıdaki rol kurallarına bakın. |
video_urls |
string[] | Atlanmış | En fazla 3 referans video, toplam faturalandırılabilir giriş süresi en fazla 15 saniye. Malzeme gereksinimlerine bakın. |
audio_urls |
string[] | Atlanmış | En fazla 3 referans ses dosyası, birleşik süre en fazla 15 saniye. Görüntü veya video referansları gerektirir. |
return_last_frame |
boolean | false |
Başarılı tamamlanmada, sonuç bir son kare içeriyorsa kimlik doğrulamalı bir APIMaster son kare indirme URL'si döndür. |
nsfw_check |
boolean | false |
Oluşturmadan önce metin/görüntü içeriği denetimi talep edin. Videolar ve ses bu denetim geçişine dahil değildir. |
tools |
object[] | Atlanmış | Arama aracı bildirimi: [{"type":"web_search"}]. |
Taslak oluşturma ve taslak yükseltmeleri yalnızca Seedance 2.5'e özeldir. Bu modele draft: true veya draft_task_id geçirmeyin.
Referans materyalleri
Herkese açık HTTPS URL'leri veya APIMaster medya kütüphanenizden onaylanmış ID'ler sağlayın. Giriş sayfalarının arkasındaki veya kendi yetkilendirme başlıklarınızı gerektiren dosyalar getirilemez. Başarılı bir resim yüklemesi, içeriğin onaylandığı veya her model gereksinimine uyduğu anlamına gelmez.
| Materyal | Gereksinimler |
|---|---|
| Referans görseller | En fazla 9; okunabilir RGB JPEG/PNG görseller kullanın. APIMaster görsel-yükleme uç noktasının kendi 20 MiB limiti vardır ve JPEG, PNG, GIF ve WebP kabul eder. |
| Referans videolar | En fazla 3; MP4/MOV, H.264/H.265 video; mevcut olduğunda AAC/MP3 ses. 480p–720p referans videosu kullanın. Birleşik referans süresi, 15 faturalanabilir saniye içine sığmalıdır. APIMaster, ücretlendirmeden önce erişilebilir MP4/MOV süresini doğrular; bu kontrol ve faturalama için girdi klip süreleri tam saniyelere yuvarlanır. |
| Referans ses | En fazla 3; WAV veya MP3, dosya başına en fazla 20 MB, birleşik süre en fazla 15 saniye. Her zaman bir görsel veya video referansı ile birlikte kullanın. |
Yeterli detaya sahip net resimler kullanın, bozuk veya eksik dosyalardan kaçının ve referans-video hareketini prompt'unuzla tutarlı tutun. Medya, gönderim kabul edilmiş olsa bile asenkron format veya içerik incelemesinde başarısız olabilir.
Resim rolleri
role |
Anlamı |
|---|---|
first_frame |
Başlangıç karesi; en fazla bir tane |
last_frame |
Bitiş karesi; en fazla bir tane ve bir ilk kare gerektirir |
reference_image |
Referans resmi, onaylanmış karakter varlıkları dahil |
İlk/son kare görevleri için, aspect_ratio değerini adaptive olarak ayarlayın ve video_urls ile audio_urls değerlerini atlayın. Açık roller için image_with_roles kullanın; ayrıca image_urls geçirmeyin.
{
"model": "seedance-2.0-fast",
"prompt": "A paper boat drifts gently from the starting composition to the ending composition",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "adaptive",
"image_with_roles": [
{"url": "https://your-storage.example/start.png", "role": "first_frame"},
{"url": "https://your-storage.example/end.png", "role": "last_frame"}
],
"generate_audio": false
}
Yüklemeler ve medya kütüphanesi
Yerel bir resmi, Bearer yetkilendirmesi ve multipart alanı file kullanarak POST /v1/uploads/images ile yükleyin. Döndürülen üst düzey url, genel bir resim girdisi olarak kullanılabilir.
curl "https://apimaster.ai/v1/uploads/images" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@reference.png"
Yeniden kullanılabilir veya karakter materyalleri için, POST /v1/seedance2/private-avatar/groups ile bir grup oluşturun, materyalleri POST /v1/seedance2/private-avatar/assets ile gönderin, incelemeyi GET /v1/tasks/{asset_task_id} ile sorgulayın ve sadece Active varlıklarını asset://{asset_id} olarak kullanın. Bu kaynaklar hesabınıza aittir. model: "seedance-2.0-fast" değerini açıkça belirtin. Başka bir platform veya hesaptan gelen Varlık ID'leri burada kullanılamaz.
Oluşturma, gönderme, inceleme, kısmi başarısızlıklar ve silme için medya-kütüphanesi iş akışına bakın. Yükleme ve varlık yönetimi uç noktaları paylaşılmıştır; bu sayfadaki oluşturma limitleri Fast için geçerlidir. Başarısız bir inceleme detaylı bir sebep döndürmeyebilir; desteklenen bir formatta açık, uyumlu materyal kullanın ve yeni bir inceleme gönderin. Mevcut bir inceleme hala işlenirken görevi tekrar tekrar oluşturmayın.
Bir video gönderin
curl "https://apimaster.ai/v1/videos/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model":"seedance-2.0-fast",
"prompt":"A small paper boat on calm water at sunrise, gentle tracking shot",
"duration":5,
"resolution":"720p",
"aspect_ratio":"16:9",
"generate_audio":true,
"return_last_frame":true
}'
Oluşturma yanıtı:
{"code":200,"data":[{"status":"submitted","task_id":"task_PUBLIC_VIDEO_ID"}]}
Bir gönderme zaman aşımı belirsizdir: istek kabul edilmiş olabilir. Yeniden göndermeden önce görev geçmişinizi kontrol edin; başka bir başarılı gönderim ayrı bir faturalanabilir görev oluşturur.
Video ve ses referansları
{
"model": "seedance-2.0-fast",
"prompt": "Follow the reference motion and keep the scene consistent with the image",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "adaptive",
"image_urls": ["https://your-storage.example/reference.png"],
"video_urls": ["https://your-storage.example/reference.mp4"],
"audio_urls": ["https://your-storage.example/reference.mp3"],
"generate_audio": true
}
Sorgulama ve indirme
Her 3–5 saniyede bir sorgulayın. Başarılı veya başarısız olduğunda durun.
curl "https://apimaster.ai/v1/video/generations/task_PUBLIC_VIDEO_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
Uyumlu sorgu başarısı:
{
"code":"success",
"message":"",
"data":{
"error":null,
"format":"mp4",
"metadata":null,
"status":"succeeded",
"task_id":"task_PUBLIC_VIDEO_ID",
"url":"https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/content",
"actual_time":118,
"last_frame_url":"https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/last-frame"
}
}
Örnek, isteğe bağlı tamamlama alanlarını içerir. actual_time, gönderimden tamamlamaya geçen süreyi saniye cinsinden belirtir, faturalanabilir video süresini değil. last_frame_url, son bir kare talep edilmediyse veya mevcut değilse atlanır. Başarısız görevler, yalnızca başarılı durumlarda bulunan geçen süre veya son kare alanlarını içermez.
OpenAI tarzı sorgu:
curl "https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
| Anlamı | Uyumlu data.status |
OpenAI tarzı status |
|---|---|---|
| Bekliyor | queued |
queued |
| Oluşturuluyor | processing |
in_progress |
| Başarılı | succeeded |
completed |
| Başarısız | failed |
failed |
OpenAI tarzı nesne, genel görev kimliği için id ve video indirme URL'si için url kullanır. İsteğe bağlı actual_time ve last_frame_url en üst düzeyde görünür. Başarısızlık durumunda, karşılık gelen sonuç nesnesindeki error.message alanını okuyun. Yanıtlar parasal alanlar içermez.
Aynı hesabın API anahtarıyla indirin. Bir sonuç URL'sini yetkilendirme olmadan açmak yeterli değildir. Çıktıyı hemen kaydedin.
curl -L "https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/content" \
-H "Authorization: Bearer YOUR_API_KEY" -o output.mp4
curl -L "https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/last-frame" \
-H "Authorization: Bearer YOUR_API_KEY" -o last-frame.jpg
Python tam iş akışı
import os
import time
import requests
base = "https://apimaster.ai/v1"
headers = {"Authorization": f"Bearer {os.environ['APIMASTER_API_KEY']}"}
response = requests.post(base + "/videos/generations", headers=headers, json={
"model": "seedance-2.0-fast",
"prompt": "A small paper boat on calm water at sunrise",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": True,
"return_last_frame": True,
}, timeout=90)
response.raise_for_status()
task_id = response.json()["data"][0]["task_id"]
for _ in range(240):
response = requests.get(base + "/video/generations/" + task_id,
headers=headers, timeout=30)
response.raise_for_status()
task = response.json()["data"]
if task["status"] == "failed":
raise RuntimeError((task.get("error") or {}).get("message", "Video failed"))
if task["status"] == "succeeded":
print("Elapsed seconds:", task.get("actual_time"))
for field, filename in [("url", "output.mp4"), ("last_frame_url", "last-frame.jpg")]:
if task.get(field):
with requests.get(task[field], headers=headers, stream=True, timeout=120) as result:
result.raise_for_status()
with open(filename, "wb") as out:
for chunk in result.iter_content(1024 * 1024):
out.write(chunk)
break
time.sleep(5)
else:
raise TimeoutError("Task still processing; query the same task_id later")
Süre bazlı faturalama
Dört kademe bulunur: 480P, 720P, 480P-input ve 720P-input. "Yüklenen videolar" etiketli bir kademe, isteğin referans video girdisi içerdiği anlamına gelir. Görüntü/ses referansları da mevcut olsa bile, talep edilen çıktı çözünürlüğü için girdi kademesini seçin.
- Referans video olmadan: oluşturulan video saniyeleri × ilgili çözünürlüğün birim fiyatı.
- Referans video ile: (toplam referans video saniyeleri + oluşturulan video saniyeleri) × ilgili girdi kademesi birim fiyatı.
- Yapılandırılmış temel birim fiyat, uygulanabilir kanal ve hesap/grup katsayıları ile çarpılarak nihai birim fiyatınız elde edilir. Uygulanabilir fiyat için model kartınızı ve cüzdan tüketim kayıtlarınızı kontrol edin.
Örneğin, 4 saniyelik bir referans video ve 5 saniyelik bir çıktı, girdi kademesinde 9 faturalanabilir saniye kullanır. Girdi kademesi birim fiyatı normal kademeden farklı olabilir; sadece çıktı süresini hesaplamayın veya video referanslarına normal kademeyi uygulamayın. Görüntüler ve ses, referans video saniyeleri eklemez. Oluşturulan ses, bu dört yapılandırılmış fiyat için ayrı bir ses/sessiz kademesi oluşturmaz.
Gönderim, talep edilen çıktı süresini ve mevcut olduğunda doğrulanmış girdi video süresini rezerve eder. Atlanmış çıktı süresi, 5 çıktı saniyesi rezerve eder. Görev, gönderim zamanındaki tarifesini korur; tamamlanma, gerçek süreyi mutabakata bağlar. Başarısız oluşturma, video görev ücretini iade eder.
Hatalar ve sorun giderme
Geçersiz istekler bir HTTP hatası döndürür. Durum kodunun yanı sıra JSON hata mesajını da okuyun. Parametre doğrulaması APIMaster'ın hata sarmalayıcısını kullanır, örneğin:
{"code":"invalid_request","message":"First/last-frame tasks require adaptive aspect_ratio","data":null}
| Sorun | Eylem |
|---|---|
| Desteklenmeyen çözünürlük / süre | 480p veya 720p ve 4 ile 15 arasında bir tamsayı süre seçin. |
| Çelişen en-boy oranı veya boyut | Tutarlı aspect_ratio, ratio, size ve resolution kullanın; tercihen sadece açık en-boy oranı/çözünürlük çiftini tutun. |
| İlk/son kare kısıtlamaları | adaptive kullanın, her rolden en fazla bir tane olacak şekilde ve video/ses referanslarını atlayın. |
| Referans video incelenemiyor | Erişilebilir, tam bir MP4/MOV ve geçerli bir süre sağlayın. |
| Görüntü/video olmadan referans sesi | Görüntü/video referansları ekleyin veya ses referansını kaldırın. |
| İçerik denetimi reddi | Metni veya görüntüyü değiştirin ve yeni bir istek gönderin. Bir denetim servisi hatası, oluşturmanın devam etmesine izin verebilir; bu mutlak bir güvenlik garantisi değildir. |
FormatUnsupported / Asenkron format/içerik reddi |
Başarısız görevin error.message'ını okuyun, formatları ve materyal gereksinimlerini kontrol edin ve kaynağı değiştirin. |
401 |
Geçerli bir Bearer API anahtarı sağlayın. |
| Yetersiz bakiye | Bakiye yükleyin veya yeterli kotası olan bir anahtar kullanın. |
429 / geçici servis hatası |
Bekleyin ve geri çekilme ile yeniden deneyin; belirsiz bir zaman aşımından sonra yinelenen gönderimlerden kaçının. |
Senkron geçersiz parametre istekleri video görevi oluşturmaz veya oluşturma ücreti kesmez. Kabul edilen görevler asenkron olarak başarısız olabilir; bir sonucu kullanmadan önce nihai görev durumunu kontrol edin.
Ayrıca bakınız: Video oluşturmaya genel bakış, Seedance 2.0, Seedance 2.0 Mini ve Seedance 2.5.
