Ana içeriğe atla

Genel bakış

Video üretimi asenkron çalışır. Bir istek gönderirsiniz, task_id ve poll_url alırsınız, ardından nihai sonuç hazır olana kadar durumu düzenli olarak sorgularsınız.

Polling davranışı

Oluşturma yanıtı kanonik asenkron kimlik olarak id döndürür ve çoğu zaman bunu task_id içinde de tekrar eder. Önce poll_url adresini izleyin; sabit bir durum uç noktası gerekiyorsa GET /v1/tasks/{id} kullanın. Bir create yanıtı poll_url döndürürse, tam olarak o URL’yi çağırın. Bu URL /v1/tasks/{id} adresine işaret ediyorsa, onu kanonik sabit durum uç noktası olarak kabul edin. En güvenilir durum sorgulaması için oluşturma yanıtında dönen poll_url değerini aynen kullanın.

Model ve medya davranışı

Ses çıkışı modele bağlıdır. TokenLab’de Veo 3 ve Seedance istekleri output_audio atlandığında varsayılan olarak ses açık kabul edilir. Model ses kontrolünü destekliyorsa, açıkça değiştirmek için output_audio kullanın. Uyumluluk için outputAudio ve generate_audio alias’ları da kabul edilir ve birden fazlası gönderildiğinde output_audio ile aynı değerde olmalıdır. Üretim entegrasyonlarında görsel, video ve ses girdileri için herkese açık https URL’leri tercih edin. Uyumlu modeller data: URL’lerini kabul etmeye devam eder, ancak büyük base64 yüklerini yeniden denemek, incelemek ve hata ayıklamak daha zordur.

İstek gövdesi

model
string
varsayılan:"veo3.1"
Video model ID si. veo3.1, wan-2.7, happyhorse-1.0, viduq3, pixverse-v6 veya kling-3.0-video gibi urun duzeyi mantiksal ID ler kullanin; text-to-video, image-to-video, reference-to-video veya diger varyantlari operation ile secin. Video rehberi ve Models API sayfalarina bakin.
PixVerse
  • Model: pixverse-c1, pixverse-v6, pixverse-v5.6
  • İşlemler: text-to-video, image-to-video, start-end-to-video, reference-to-video
  • Ses seçici: output_audio, varsayılan false
TokenLab’de, yukarıdaki PixVerse modelleri operation=video-extension’ı kabul etmez.HappyHorse
  • Model: happyhorse-1.0
  • İşlemler: text-to-video, image-to-video, reference-to-video, video-to-video
  • Ses seçici: output_audio göndermeyin
prompt
string
gerekli
Oluşturulacak videonun metin açıklaması. Bu alan herkese açık video modellerinin çoğunda zorunludur.
operation
string
Çalıştırılacak video işlemi. Herkese açık sözleşme text-to-video, image-to-video, reference-to-video, start-end-to-video, video-to-video, video-extension, audio-to-video ve motion-control değerlerini destekler. TokenLab işlemi gönderdiğiniz girdilerden çıkarabilir, ancak üretimde operation değerini açıkça göndermeniz önerilir.
image_url
string
Görselden videoya akışı için başlangıç görselinin herkese açık URL’si. Modeller arası en geniş uyumluluk için image_url tercih edilmelidir.
image
string
data: URL biçiminde satır içi görsel (örneğin data:image/jpeg;base64,...). Uyumlu modeller bunu destekler, ancak üretimde genellikle image_url daha sağlamdır.
reference_images
array
Özel referans koşullandırmasını destekleyen akışlar için referans görseller. Desteklenen adet modele bağlıdır. seedance-2.0 ve seedance-2.0-fast için TokenLab şu anda en fazla 9 referans görseli, ayrıca en fazla 3 referans video ve 3 referans ses girdisini destekler. Model seçimi, 4K sınırları ve Mini notları için Seedance 2.0 video modelleri kılavuzuna bakın. Herkese açık https URL’leri önerilir; uyumlu modeller data: URL’lerini de kabul eder. grok-imagine-video için reference-to-video en fazla 7 görüntü referansı kabul eder ve duration en fazla 10 saniyedir. grok-imagine-video-1.5-preview yalnızca image-to-video destekler ve referans görüntü kabul etmez.
material_asset_id
string
Materyal Oluştur veya otomatik görsel hazırlama tarafından döndürülen TokenLab Seedance materyal ID’si. Materyal ACTIVE olduktan sonra TokenLab materyal kitaplığını kullanabilen Seedance modelleriyle kullanın.
material_asset_ids
array
Birden çok TokenLab Seedance materyal ID’si. reference_images ile aynı Seedance görsel referans limitini paylaşır; seçilen model TokenLab materyal kitaplığını kullanabilmelidir.
Seçilen Seedance modeli TokenLab materyal kitaplığını kullanabiliyorsa TokenLab, oluşturma öncesinde görsel alanlarını (image, image_url, image_urls, reference_images, start_image, end_image) yeniden kullanılabilir materyaller olarak hazırlar. Hazırlık 60 saniye içinde tamamlanmazsa API, auto_material_asset_ids ile 409 seedance_material_preparing döndürür; bu materyaller ACTIVE olduktan sonra tekrar deneyin. Seçilen model materyal kitaplığını kullanamıyorsa normal görsel girdileri standart görsel yolunda devam eder ve açık materyal ID’leri yeniden denenebilir materyal kullanılabilirliği hatasıyla güvenli şekilde başarısız olur.
reference_image_type
string
asset ve style referanslarını ayıran modeller için isteğe bağlı alandır.
kling_elements
array
Kling 3.0 öğe referansı tanımlarıdır. Yalnızca görüntü koşullu kling-3.0-video isteklerinde desteklenir. 1-3 öğe tanımlayın; her öğede name, isteğe bağlı description ve 2-4 görüntü URL’si içeren element_input_urls bulunur. prompt içinde öğeyi @name ile referanslayın. kling_elements ile output_audio=true birlikte kullanılamaz; öğe referanslı isteklerde output_audio alanını kaldırın veya false yapın.
video_url
string
Kaynak videonun herkese açık URL’sidir. Video URL tabanlı video-to-video akışları ve motion-control için gereklidir; bazı türev akışlar bunun yerine task_id kullanır.
video_urls
array
Çok modlu referans koşullandırmasını destekleyen modeller için ek referans video girdileri. Desteklenen adet modele bağlıdır. seedance-2.0 ve seedance-2.0-fast için TokenLab şu anda en fazla 3 referans videoyu destekler.
audio_url
string
audio-to-video destekleyen modeller için herkese açık ses URL’si.
audio_urls
array
Çok modlu referans koşullandırmasını destekleyen modeller için ek referans ses girdileri. Desteklenen adet modele bağlıdır. seedance-2.0 ve seedance-2.0-fast için TokenLab şu anda en fazla 3 referans sesi destekler.
task_id
string
Bazı devam, uzatma veya türetilmiş akışlarda kullanılan görev kimliği.
extend_at
integer
Bazı video-extension akışlarında kullanılan modele özgü başlangıç ofsetidir.
extend_times
string
Bazı video-extension akışlarında kullanılan modele özgü çarpan veya tekrar sayısıdır.
duration
integer
Oluşturulan çıktı videosunun saniye cinsinden süresi. Seedance 1.5/2.0 modellerinde bu alan atlanırsa 5 kullanılır; -1 göndermek modelin desteklediği aralıkta seçim yapmasını sağlar ve görev bitene kadar ücretlendirme ihtiyatlı tahmin edilir.
seconds
integer
duration için uyumluluk alias’ı. seconds ve duration birlikte gönderilirse değerleri aynı olmalıdır. Seedance için seconds=-1, duration=-1 ile aynı otomatik süre anlamına gelir.
aspect_ratio
string
Kanonik en-boy oranı, örneğin adaptive, 16:9, 9:16, 1:1, 4:3, 3:4 veya 21:9. Seedance atlandığında varsayılan olarak adaptive kullanır.
resolution
string
Modele bağlı çıktı çözünürlüğü. Seedance varsayılan olarak 720p kullanır; seedance-2.0 480p, 720p, 1080p ve 4k desteklerken seedance-2.0-fast ve seedance-2.0-mini 480p ve 720p ile sınırlıdır.
output_audio
boolean
Modele bağlı kanonik ses çıkışı anahtarı. Veo 3 ve Seedance atlandığında varsayılan olarak true kullanır. kling-3.0-video, öğe referansı olmayan isteklerde bu seçiciyi kabul eder ve atlandığında sessiz çıktı üretir. output_audio=true ile kling_elements birlikte kullanılmamalıdır.
draft
boolean
Seedance 1.5 Pro Draft iş akışı bayrağı. Draft görevlerini destekleyen Seedance modellerinde draft=true kullanın. draft_task_id ile birlikte göndermeyin.
draft_task_id
string
Seedance 1.5 Pro draft yükseltme görev ID’si. Nihai videoyu oluşturmak için önceki bir draft görev ID’si gönderin; bu genel bir video alanı değildir.
ratio
string
aspect_ratio için uyumluluk alias’ı. ratio ve aspect_ratio birlikte gönderilirse aynı olmalıdır.
generate_audio
boolean
output_audio için uyumluluk alias’ı. generate_audio, output_audio ve outputAudio birlikte görünürse tüm değerler eşleşmelidir.
execution_expires_after
integer
Uyumlu video modelleri için saniye cinsinden isteğe bağlı yürütme sona erme süresi. Seedance atlandığında varsayılan olarak 172800 saniye kullanır.
priority
integer
Uyumlu video modelleri için 0 ile 9 arasında isteğe bağlı görev önceliği. priority ile service_tier=flex birlikte kullanılmamalıdır.
safety_identifier
string
Uyumlu video modelleri için isteğe bağlı son kullanıcı güvenlik tanımlayıcısı. Seedance için atlanırsa TokenLab sağlandığında user değerini kullanır.
service_tier
string
Seedance 2.0 modellerinde default uyumluluk no-op’u olarak kabul edilir. flex yalnızca seçilen model destekliyorsa kullanılabilir.
frames
integer
Uyumlu video modelleri için isteğe bağlı kare sayısı. Seedance 2.0 modelleri ve Seedance 1.5 Pro bu alanı desteklemez.
camera_fixed
boolean
Uyumlu video modelleri için isteğe bağlı sabit kamera seçici. Seedance 2.0 modelleri bu alanı desteklemez.
fps
integer
Saniyedeki kare sayısı (1-120). Yalnızca FPS kontrolü sunan modellerde etkilidir.
negative_prompt
string
Üretilen videoda kaçınılması gereken öğeler.
seed
integer
Tekrarlanabilir üretim için rastgele seed. Seedance atlandığında rastgele seed için -1 kullanır.
cfg_scale
number
Prompt’a bağlılık gücü (0-20). Sadece bu kontrolü sunan modellerde geçerlidir.
motion_strength
number
Hareket yoğunluğu (0-1). Sadece bu kontrolü sunan modellerde geçerlidir.
start_image
string
start-end-to-video için ilk kare görselinin URL’si veya uyumlu girişidir.
end_image
string
start-end-to-video için son kare görselinin URL’si veya uyumlu girişidir.
size
string
Uyumlu video modelleri için modele özel boyut kademesi.
watermark
boolean
Bunu sunan modeller için isteğe bağlı filigran anahtarı. Seedance atlandığında varsayılan olarak false kullanır.
effect_type
string
Bazı düzenleme veya efekt akışlarında kullanılan modele özgü efekt seçicisidir.
user
string
Son kullanıcı için benzersiz tanımlayıcı. Seedance için TokenLab, bu alan atlandığında bu değeri safety_identifier olarak da kullanır.

Uyumluluk notları

  • Kanonik public alanlar snake_case kalır: aspect_ratio, output_audio, reference_images ve reference_image_type.
  • Uyumluluk için TokenLab ayrıca ratio, generate_audio, outputAudio, seconds, referenceImages ve referenceImageType kabul eder.
  • Kanonik alanlar ve alias alanları birlikte gönderilirse değerleri eşleşmelidir; çakışan alias’lar görev oluşturulmadan önce reddedilir.
  • operation atlanırsa TokenLab bunu sağlanan girdilerden çıkarır. Production trafik için açık operation göndermek hâlâ önerilir.

Medya girdileri için en iyi uygulamalar

  • image_url, reference_images, video_url ve audio_url için herkese açık https URL’lerini tercih edin.
  • Mümkünse aynı istekte satır içi base64 ve uzak URL’leri karıştırmayın.
  • Uzak medya URL’lerinin yeniden deneme süresini ve asenkron görev oluşturma sürecini karşılayacak kadar uzun süre geçerli olmasına dikkat edin.

Seedance parametreleri

Seedance 1.5/2.0 modellerinde birleşik endpoint TokenLab alan adlarını izler ve uyumluluk alias’ları seconds, ratio ve generate_audio değerlerini de kabul eder. Seedance seçicileri atlandığında şu varsayılanlar kullanılır: duration=5, resolution=720p, aspect_ratio=adaptive, output_audio=true, watermark=false, return_last_frame=false, execution_expires_after=172800, priority=0 ve seed=-1. duration=-1 veya seconds=-1, Seedance’ın modelin desteklediği aralıkta çıktı süresini seçmesini sağlar. TokenLab görev tamamlanmadan önce maliyeti ihtiyatlı tahmin eder, tamamlanan görev usage bilgisi varsa gerçek sonuca göre kapatır. service_tier=default, Seedance 2.0 için uyumluluk no-op’u olarak kabul edilir; service_tier=flex, frames ve camera_fixed, seçilen model desteklemiyorsa reddedilir.

Seedance örneği

cURL
curl -X POST "https://api.tokenlab.sh/v1/videos/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0",
    "prompt": "A sleek product reveal with cinematic camera movement",
    "operation": "text-to-video",
    "duration": -1,
    "aspect_ratio": "adaptive",
    "resolution": "720p",
    "output_audio": true
  }'

Yanıt

id
string
Kanonik asenkron görev kimliği.
task_id
string
Durum sorgulaması için kullanılacak benzersiz görev tanımlayıcısı.
poll_url
string
Bu görev için önerilen durum sorgulama URL’si. Durumu kontrol ederken bu yolu aynen kullanın.
billing_transaction_id
string
Mutabakat tamamlandığında dönen TokenLab faturalama işlem kimliği. Dashboard / mutabakat için kullanılan işlem tanımlayıcısıdır ve asenkron id / task_id alanlarından ayrıdır.
status
string
Başlangıç durumu: pending.
created
integer
Görevin oluşturulduğu Unix zaman damgası.
model
string
Kullanılan model.
video_url
string
Sonuç hazırsa doğrudan kullanılabilecek video URL’si.
video
object
Mevcutsa url, duration, width ve height içeren tek video nesnesi.
videos
array
Üst sağlayıcı birden fazla çıktı döndürdüğünde video dizisi görünebilir.
error
string
Görev başarısız olursa dönen hata mesajı ya da yapılandırılmış hata nesnesi.
curl -X POST "https://api.tokenlab.sh/v1/videos/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo3.1",
    "prompt": "A cat walking through a garden, cinematic lighting",
    "operation": "text-to-video",
    "duration": 4,
    "aspect_ratio": "16:9"
  }'
{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "model": "veo3.1",
  "created": 1706000000
}

Görselden videoya

response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "hailuo-2.3-standard",
        "prompt": "The scene begins from the provided image and adds gentle natural motion.",
        "operation": "image-to-video",
        "image_url": "https://example.com/image.jpg",
        "duration": 6,
        "aspect_ratio": "16:9"
    }
)

Kling 3.0 Elements

Öğe referanslarına ihtiyacınız olduğunda kling_elements alanını kling-3.0-video ile kullanın. Görüntü koşullu bir istek (image_url, image_urls, start_image veya end_image) sağlayın ve prompt içinde her öğeyi @name ile referanslayın. kling_elements ile output_audio=true birlikte kullanılamaz; öğe referanslı isteklerde output_audio alanını kaldırın veya false yapın.
response = requests.post("https://api.tokenlab.sh/v1/videos/generations",
    headers=headers,
    json={
        "model": "kling-3.0-video",
        "prompt": "Place @hero_bag on a studio turntable with soft product lighting.",
        "operation": "image-to-video",
        "image_url": "https://example.com/studio-start.png",
        "duration": 5,
        "resolution": "720p",
        "kling_elements": [
            {
                "name": "hero_bag",
                "description": "black leather handbag",
                "element_input_urls": [
                    "https://example.com/bag-front.png",
                    "https://example.com/bag-side.png"
                ]
            }
        ]
    }
)

Referans görselle videoya

Model özel referans koşullandırmasını destekliyorsa operation=reference-to-video kullanın. TokenLab’nın herkese açık sözleşmesinde görsel referanslar reference_images, çok modlu referans video ve sesler ise video_urls ve audio_urls ile iletilir. seedance-2.0 ve seedance-2.0-fast için TokenLab şu anda en fazla 9 referans görseli, ayrıca en fazla 3 referans video ve 3 referans sesi destekler. Model seçimi, 4K sınırları ve Mini notları için Seedance 2.0 video modelleri kılavuzuna bakın. duration yalnızca üretilen çıktının süresini kontrol eder; referans video girdisi için ayrı bir süre sınırı belirlemez. grok-imagine-video için reference-to-video en fazla 7 görüntü referansı (reference_images veya image_urls) kabul eder ve duration en fazla 10 saniyedir. Referans görüntüleri image_url / image ilk kare girdileriyle birlikte göndermeyin. grok-imagine-video-1.5-preview yalnızca image-to-video destekler.
response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "veo3.1",
        "prompt": "Keep the same subject identity, palette, and framing while adding subtle natural motion.",
        "operation": "reference-to-video",
        "reference_images": [
            "https://example.com/ref-a.jpg",
            "https://example.com/ref-b.jpg"
        ],
        "reference_image_type": "asset",
        "duration": 8,
        "resolution": "720p",
        "aspect_ratio": "9:16"
    }
)

İlk ve son kare kontrolü

İlk ve son kareyi kontrol etmek için start_image ve end_image kullanın.
response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "viduq2-pro",
        "prompt": "Smooth transition from day to night",
        "operation": "start-end-to-video",
        "start_image": "https://example.com/day.jpg",
        "end_image": "https://example.com/night.jpg",
        "duration": 5,
        "resolution": "720p",
        "aspect_ratio": "16:9"
    }
)

Videodan videoya

grok-imagine-video video-to-video için video_url içinde herkese açık HTTPS .mp4 URL gönderin. TokenLab bunu xAI REST video.url gövdesine çevirir. resolution için 480p veya 720p gönderebilirsiniz; bu düzenleme akışı duration ve aspect_ratio kabul etmez. Model mevcut bir videoyu birincil giriş olarak kabul ediyorsa operation=video-to-video kullanın.
response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "grok-imagine-video",
        "operation": "video-to-video",
        "video_url": "https://example.com/source.mp4",
        "prompt": "Enhance the clip while preserving the original motion.",
        "resolution": "720p"
    }
)

Hareket kontrolü

Model hem özne görseli hem de hareket referans videosu bekliyorsa operation=motion-control kullanın. TokenLab herkese açık image_url + video_url biçimini uyumlu hareket kontrolü girdisine dönüştürür.
response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "kling-3.0-motion-control",
        "operation": "motion-control",
        "prompt": "Keep the subject stable while following the motion reference.",
        "image_url": "https://example.com/subject.png",
        "video_url": "https://example.com/motion.mp4",
        "resolution": "720p"
    }
)

Model keşfi

Herkese açık video envanteri ve desteklenen işlemler zamanla değişir. Modele özgü bir akışı bağlamadan önce Models API uç noktasını doğruluk kaynağı olarak kullanın:
curl "https://api.tokenlab.sh/v1/models?recommended_for=video" \
  -H "Authorization: Bearer sk-your-api-key"

curl "https://api.tokenlab.sh/v1/models/veo3.1" \
  -H "Authorization: Bearer sk-your-api-key"
Model detay yanıtındaki tokenlab.capabilities, tokenlab.supported_operations, GET /v1/models ve GET /v1/models/{model} alanlarını okuyun. audio-to-video ve video-extension gibi işlemler modele özgüdür; güncel kullanılabilirliği bu sayfadaki statik örneklerden değil oradan doğrulayın.