Video ve materyaller

Video oluştur

Bir video üretim görevi oluşturur

POST
/v1/videos/generations

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 davranışı seçilen modele ve işleme bağlıdır. Ses anahtarı sunulmasa da video ses içerebilir. Parametreyi atlamak, false göndermekle aynı değildir.

  • veo3.1 ve veo3.1-fast, Gemini API sözleşmesine göre her zaman ses üretir. wan-2.6 ve wan-2.7 video üretiminde de ses kapatılamaz. output_audio alanını atlayın veya model ayrıntıları izin veriyorsa true kullanın.
  • hailuo-h3 ve Grok video modelleri yerel ses üretir. Model ayrıntılarında bulunmayan ses anahtarlarını eklemeyin.
  • Seedance 1.5/2.x ve viduq3-pro / viduq3-turbo için ses varsayılan olarak açıktır; sessiz çıktı da desteklenir. PixVerse C1/V5.6/V6 için varsayılan kapalıdır. output_audio yalnızca bu alanı listeleyen işlemlerde kullanılmalıdır; Vidu, sözleşmesinde tanımlı boolean audio alanını da kabul eder.
  • audio_url / audio_urls giriş veya referans sesi sağlar; çıktı sesini açıp kapatmaz. Video düzenleme, hareket ve stil aktarımı kaynak sesini koruyabilir. Orijinal sesi korumak, sessize almak değildir.

İzin verilen değerler ve ses fiyatları için model ayrıntılarına bakın. Desteklenen outputAudio, generate_audio ve boolean audio takma adları birlikte gönderildiğinde output_audio ile aynı olmalıdır. Kontroller sürüm ve işleme göre değişebilir.

Ü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

modelstringvarsayı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
promptstring

Oluşturulacak videonun metin açıklaması. Bu alan herkese açık video modellerinin çoğunda zorunludur.

operationstring

Ç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_urlstring

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.

imagestring

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_imagesarray

Ö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_idstring

Materyal Oluştur 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_idsarray

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.

Normal görsel URL’leri girdi olarak kullanılır ve otomatik olarak yeniden kullanılabilir materyal oluşturmaz. Materyalleri materyal API’siyle oluşturup TokenLab ID’lerini veya asset://asset-YYYYMMDDHHMMSS-xxxxx URI’lerini kullanın. Açıkça belirtilen materyaller 409 seedance_material_preparing döndürürse inactive_asset_ids içindeki materyalleri kontrol edin ve ACTIVE olduktan sonra yeniden deneyin.

reference_image_typestring

asset ve style referanslarını ayıran modeller için isteğe bağlı alandır.

kling_elementsarray

kling_elements alanını yalnızca modelin güncel genel ayrıntıları listeliyorsa kullanın. Görseller ve name, isteğe bağlı description, 2–4 element_input_urls içeren 1–3 öğe gönderin; prompt içinde @name ile başvurun. output_audio=true ile birleştirmeyin.

video_urlstring

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_urlsarray

Ç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_urlstring

Modelin desteklediği ses güdümlü veya ses referanslı işlemler için herkese açık ses URL’si.

audio_urlsarray

Ç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_idstring

Bazı devam, uzatma veya türetilmiş akışlarda kullanılan görev kimliği.

extend_atinteger

Bazı video-extension akışlarında kullanılan modele özgü başlangıç ofsetidir.

extend_timesstring

Bazı video-extension akışlarında kullanılan modele özgü çarpan veya tekrar sayısıdır.

durationinteger

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.

secondsinteger

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_ratiostring

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.

resolutionstring

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_audioboolean

Bu alanı tanımlayan işlemler için ses seçicisi. Atlandığında model varsayılanı kullanılır; false yalnızca izin verildiğinde sessiz çıktı ister. Yukarıdaki açıklamayı ve model ayrıntılarını kontrol edin.

draftboolean

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_idstring

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.

ratiostring

aspect_ratio için uyumluluk alias’ı. ratio ve aspect_ratio birlikte gönderilirse aynı olmalıdır.

generate_audioboolean

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_afterinteger

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.

priorityinteger

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_identifierstring

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_tierstring

Seedance 2.0 modellerinde default uyumluluk no-op’u olarak kabul edilir. flex yalnızca seçilen model destekliyorsa kullanılabilir.

framesinteger

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_fixedboolean

Uyumlu video modelleri için isteğe bağlı sabit kamera seçici. Seedance 2.0 modelleri bu alanı desteklemez.

fpsinteger

Saniyedeki kare sayısı (1-120). Yalnızca FPS kontrolü sunan modellerde etkilidir.

negative_promptstring

Üretilen videoda kaçınılması gereken öğeler.

seedinteger

Tekrarlanabilir üretim için rastgele seed. Seedance atlandığında rastgele seed için -1 kullanır.

cfg_scalenumber

Prompt’a bağlılık gücü (0-20). Sadece bu kontrolü sunan modellerde geçerlidir.

motion_strengthnumber

Hareket yoğunluğu (0-1). Sadece bu kontrolü sunan modellerde geçerlidir.

start_imagestring

start-end-to-video için ilk kare görselinin URL’si veya uyumlu girişidir.

end_imagestring

start-end-to-video için son kare görselinin URL’si veya uyumlu girişidir.

sizestring

Uyumlu video modelleri için modele özel boyut kademesi.

watermarkboolean

Bunu sunan modeller için isteğe bağlı filigran anahtarı. Seedance atlandığında varsayılan olarak false kullanır.

effect_typestring

Bazı düzenleme veya efekt akışlarında kullanılan modele özgü efekt seçicisidir.

userstring

Son kullanıcının benzersiz tanımlayıcısı. Seedance için safety_identifier atlandığında TokenLab bu değeri 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.5",
    "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

Sonuç, hata, zaman damgası ve model alanları görev için mevcut olduğunda döndürülür.

idstring

Kanonik asenkron görev kimliği.

task_idstring

Durum sorgulaması için kullanılacak benzersiz görev tanımlayıcısı.

poll_urlstring

Bu görev için önerilen durum sorgulama URL’si. Durumu kontrol ederken bu yolu aynen kullanın.

billing_transaction_idstring

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.

statusstring

Görev durumu: pending, processing, completed, failed.

createdinteger

Görevin oluşturulduğu Unix zaman damgası.

modelstring

Kullanılan model.

video_urlstring

Sonuç hazırsa doğrudan kullanılabilecek video URL'si.

videoobject

Mevcutsa url, duration, width ve height içeren tek video nesnesi.

videosarray

Üst sağlayıcı birden fazla çıktı döndürdüğünde video dizisi görünebilir.

errorstring | object

Görev başarısız olursa dönen hata mesajı ya da yapılandırılmış hata nesnesi.

İstek

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": "veo3.1",
    "prompt": "A cat walking through a garden, cinematic lighting",
    "operation": "text-to-video",
    "duration": 4,
    "aspect_ratio": "16:9"
  }'

Yanıt

Response
{
  "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,
        "resolution": "768p"
    }
)

Kling 3.0 öğeleri

kling_elements alanını yalnızca modelin güncel genel ayrıntıları listeliyorsa kullanın. Görseller ve name, isteğe bağlı description, 2–4 element_input_urls içeren 1–3 öğe gönderin; prompt içinde @name ile başvurun. output_audio=true ile birleştirmeyin.

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",
        "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 herkese açık HTTPS .mp4 URL’sini video_url, düzenleme talimatını prompt ile gönderin. Bu işlemde resolution, duration ve aspect_ratio alanlarını atlayın.

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."
    }
)

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"

curl "https://api.tokenlab.sh/v1/models/veo3.1"

Model detay yanıtındaki tokenlab.capabilities ve tokenlab.supported_operations 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.

Yetkilendirme

BearerAuth
AuthorizationBearer <token>

API Anahtarı kimlik doğrulaması. API anahtarlarını Dashboard > API > API Keys bölümünden oluşturun veya yönetin.

Konum: header

Başlıklar

X-TokenLab-Delivery-Policy?string

İstek bazlı Teslimat politikası. API anahtarı ve Çalışma Alanı varsayılanlarını geçersiz kılar. Otomatik olarak önce TokenLab Verified dener ve çıktı, istek kabulü veya kalıcı kaynak oluşturma öncesinde bir kez Official seçeneğine geçiş yapabilir.

Geçerli değerler

  • "auto"
  • "verified"
  • "official"

İstek gövdesi

application/json

Yanıt

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json