Seedance 2.0 Mini
Metin, ilk ve son kareler veya çok modlu referanslar kullanarak Seedance 2.0 Mini ile videolar üretin. Bu sayfa, bu modele ait istekten sonuca kadar olan tüm iş akışını kapsar.
API model kimliği: seedance-2-0-mini
Üretim asenkrondur. Görev oluşturulduğunda dönen taskId değerini kaydedin, ardından durumunu sorgulayın veya bir webhook alın.
Yetenekler
| Özellik | Desteklenen değerler |
|---|---|
| Çıkış çözünürlüğü | 480p · 720p |
| Çıkış süresi | 4–15 saniye |
| En boy oranı | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive |
| Referans görseller | 9 adede kadar görsel |
| Referans videolar | 3 adede kadar video |
| Referans ses dosyaları | 3 adede kadar ses dosyası |
| Tüm referansların toplamı | Toplam 12 adede kadar kaynak dosya |
| Video/ses grubu başına toplam süre | 15 saniye |
| seed | -1 ile 4294967295 |
Fiyatlandırma ve krediler
Video oluşturma işlemi, saniye cinsinden faturalandırılabilir süreye göre krediyle ücretlendirilir. Video girdisi olmadığında, faturalandırılabilir süre çıktı süresidir; video girdisi olduğunda ise referans video süresi de bu süreye dahil edilir.
Aşağıdaki tabloda, bir görevin toplam maliyeti değil, saniye başına tahsil edilen kredi miktarı listelenmiştir. Ücretlendirme oranı modele, çıktı çözünürlüğüne ve referans videodan videoya modunda referans videoların sağlanıp sağlanmadığına bağlıdır. Toplam maliyet hesaplaması için tablonun altındaki formüllere ve örneklere göz atabilirsiniz.
| Çıkış çözünürlüğü | Video girişi olmadan | Video girişi ile |
|---|---|---|
480p | 3 kredi/saniye | 2 kredi/saniye |
720p | 6 kredi/saniye | 4 kredi/saniye |
- Video girişi olmadan: çıkış saniyesi × video içermeyen ücret.
- Video girişi ile: (çıkış saniyesi + ölçülen referans video saniyesi) × videolu ücret. Sunucu, toplam referans video süresini ölçer ve faturalandırmadan önce yukarıya doğru tam saniyeye yuvarlar.
- Yalnızca görsel veya ses referanslarının kullanılması, videosuz ücret üzerinden değerlendirilir. Referans video faturalandırma ücreti, yalnızca referans videolar sağlandığında referanstan videoya modunda geçerlidir.
Ücret hesaplama örnekleri
5 saniyelik 720p metinden videoya: 5 × 6 = 30 kredi.
5 saniyelik referans video ile 5 saniyelik 720p çıkış: (5 + 5) × 4 = 40 kredi.
Krediler istek gönderildiğinde rezerve edilir ve işlem başarıyla tamamlandığında tahsil edilir. Başarısız olan veya zaman aşımına uğrayan görevler iade sürecine girer. refund_failed fatura durumu, iadenin tamamlanamadığı anlamına gelir; API günlüklerini kontrol edin veya destek ekibiyle iletişime geçin.
Kimlik doğrulama
Panelde bir API anahtarı oluşturun. Anahtarın tamamı yalnızca bir kez gösterilir. Bu anahtarı sunucunuzda saklayın ve her istekte Bearer token olarak gönderin.
Temel URL
https://api.seevio.aiAuthorization: Bearer sk_live_your_api_key
Content-Type: application/jsonBu örnekleri çalıştırmadan önce SEEVIO_API_KEY ortam değişkenini tanımlayın. JavaScript örnekleri sunucunuzda Node.js ile çalışır; Python örnekleri ise requests paketini kullanır.
Hızlı başlangıç
Bu temel isteği gönderin, dönen taskId değerini kaydedin ve ardından aşağıdaki görev sorgulama örneğini kullanın. İstek oluşturma yanıtındaki credits değeri, ayrılan (rezerve edilen) miktarı gösterir.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-mini",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "text-to-video",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'Görev oluşturma yanıtı örneği
Yukarıdaki istek kabul edildikten sonra API bu JSON yanıtını döndürür. taskId, sonraki durum sorgulamalarında kullanılan görev tanımlayıcıdır; credits ise bu görev için ayrılan kredi miktarını gösterir. Bu yanıt yalnızca görevin oluşturulduğunu onaylar, videonun hazır olduğu anlamına gelmez. Video sonuçlarını almak için görev durumunu düzenli olarak sorgulamanız (poll) veya bir Webhook kullanmanız gerekir.
{
"taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"credits": 30
}Görev oluştur
POST https://api.seevio.ai/v1/videos/generationsModel ve input bilgilerinin yanı sıra isteğe bağlı bir callback_url içeren bir JSON nesnesi gönderin. Her zaman bu sayfada gösterilen model kimliğini belirtin; model alanının boş bırakılması seedance-2-0 modelini seçer.
İstek gövdesi
| Alan | Tür | Zorunlu | Açıklama ve kısıtlamalar |
|---|---|---|---|
model | string | Evet | Model kimliği. Seedance 2.0 Mini kullanmak için bu alanı seedance-2-0-mini olarak ayarlayın. |
callback_url | string | Hayır | Tamamlanma ve başarısızlık POST geri çağrıları (callback) için genel erişime açık HTTPS uç noktası. Özel ağlara ve localhost adresine izin verilmez. Örnek: https://example.com/webhooks/seevio |
input | object | Evet | Üretim ayarları. Boş olmayan bir prompt (istem) içermelidir. |
Giriş parametreleri
image_urls, video_urls ve audio_urls değerlerini URL dizesi dizileri (string[]) olarak sağlayın. Gönderilen tüm URL'lerin, seçilen mod tarafından yok sayılan medyalar da dahil olmak üzere, HTTPS üzerinden herkese açık olarak erişilebilir olması gerekir.
| Alan | Tür | Zorunlu | Varsayılan | Açıklama ve kısıtlamalar |
|---|---|---|---|---|
input.prompt | string | Evet | — | Her modda bir istem (prompt) girilmesi zorunludur. İstem, kırpılmadan önce en fazla 10.000 karakterden oluşabilir ve yalnızca boşluk karakterlerinden oluşamaz. Örnek: A cat surfing at sunset |
input.generation_type | string | Hayır | text-to-video | text-to-video yalnızca istemi kullanır; image-to-video 1-2 görsel kullanır; reference-to-video ise görsel, video ve/veya ses referanslarını kullanır. Desteklenen değerler text-to-video | image-to-video | reference-to-video |
input.image_urls | string[] | Koşullu | [] | image-to-video: ilk kare için 1 görsel veya ilk ve son kareler için sıralı 2 görsel. reference-to-video: en fazla 9 görsel. text-to-video modunda yoksayılır. Örnek: ["https://example.com/first-frame.jpg"] |
input.video_urls | string[] | Koşullu | [] | Yalnızca reference-to-video modunda iletilir; toplamda en fazla 3 video ve 15 saniye. Diğer modlarda yoksayılır. Örnek: ["https://example.com/source.mp4"] |
input.audio_urls | string[] | Koşullu | [] | Yalnızca reference-to-video modunda iletilir; toplamda en fazla 3 ses dosyası ve 15 saniye. Diğer modlarda yoksayılır. Bu model için tek referans materyali olarak ses kullanılamaz. audio_urls değeri sağlarken, image_urls içinde en az bir referans görsel veya video_urls içinde en az bir referans video da sunmalısınız. Örnek: ["https://example.com/music.mp3"] |
input.duration | integer | Hayır | 5 | 4 ile 15 saniye arasında tam sayı çıkış süresi. Desteklenen değerler 4–15Örnek: 5 |
input.aspect_ratio | string | Hayır | adaptive | Çıkış en boy oranı. adaptive seçeneği, en boy oranını modelin belirlemesine izin verir. Desteklenen değerler 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptiveÖrnek: adaptive |
input.resolution | string | Hayır | 720p | Burada listelenen desteklenen çıkış çözünürlüklerinden birini kullanın. Desteklenen değerler 480p | 720pÖrnek: 720p |
input.generate_audio | boolean | Hayır | true | Senkronize ses üretimi talep edin. Desteklenen değerler true | falseÖrnek: true |
input.watermark | boolean | Hayır | false | Üretilen videoda yapay zeka filigranı talep edin. Desteklenen değerler true | falseÖrnek: false |
input.web_search | boolean | Hayır | false | Model tarafından desteklendiğinde web aramasına izin verin. Desteklenen değerler true | falseÖrnek: false |
input.return_last_frame | boolean | Hayır | false | Son kareyi talep edin. Kare kullanılabilir olduğunda sorgu sonucu data.last_frame_url değerini içerir; aksi takdirde null döner. Desteklenen değerler true | falseÖrnek: true |
input.seed | integer | Hayır | -1 | -1 ile 4294967295 arasında tam sayı. -1 rastgele bir tohum seçer. Desteklenen değerler -1 ile 4294967295Örnek: 42 |
Boole alanları dize veya sayı değil, JSON true veya false olmalıdır.
Yanıt oluştur
HTTP 200, taskId (dize) ve credits (sayı) döndürür. Bu, görevin tamamlandığını değil, oluşturulduğunu onaylar. Aşağıdaki miktar, 5 saniyelik 720p hızlı başlangıç değerine karşılık gelir.
{
"taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"credits": 30
}Üretim modları ve örnekler
Metinden videoya
Bir metin isteminden video üretin. Medya URL'leri bu modda iletilmez.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-mini",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "text-to-video",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'İlk kare
İlk kare olarak tek bir görsel sağlayın, ardından isteminizde hareketi tanımlayın.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-mini",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "image-to-video",
"image_urls": [
"https://example.com/first-frame.jpg"
],
"aspect_ratio": "adaptive"
}
}'İlk ve son kareler
Sırasıyla iki görsel URL'si sağlayın: önce ilk kare, ardından son kare. Bu örnek aynı zamanda üretilen videonun son karesini de talep eder.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-mini",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "image-to-video",
"image_urls": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"aspect_ratio": "adaptive",
"return_last_frame": true
}
}'Çok modlu referans
Görsel, video ve ses referanslarını birleştirin. İstem alanı yine de zorunludur. Referans video girişi faturalandırma formülünü değiştirir.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-mini",
"input": {
"prompt": "Follow the reference camera movement and keep the character consistent. Use the audio for ambience.",
"duration": 5,
"resolution": "720p",
"generation_type": "reference-to-video",
"image_urls": [
"https://example.com/character.jpg"
],
"video_urls": [
"https://example.com/camera.mp4"
],
"audio_urls": [
"https://example.com/ambience.mp3"
],
"aspect_ratio": "adaptive"
}
}'Görev sorgula
GET https://api.seevio.ai/v1/tasks/{taskId}Örnek kimliği, oluşturma sırasında dönen taskId ile değiştirin. Sorgular yalnızca API anahtarının sahibine ait görevleri döndürür; erişilemeyen veya bilinmeyen kimlikler HTTP 404 döndürür.
Başlangıçta her 10-20 saniyede bir sorgulama yapın, HTTP 429 hatasında sıklığı azaltın ve durum completed veya failed olduğunda sorgulamayı durdurun. Üretim ortamında webhook'ları tercih edin. Aşağıdaki her kod örneği tek bir sorgu gerçekleştirir.
curl --fail-with-body https://api.seevio.ai/v1/tasks/3f2aK9mR7xQp4TnZ8bLc6YwH \
-H "Authorization: Bearer $SEEVIO_API_KEY"| Durum | Açıklama ve kısıtlamalar |
|---|---|
queued | Kabul edildi ve işlenmek üzere bekleniyor. |
generating | Üretim devam ediyor. |
completed | Başarılı sonuçlanma. Süre dolmadan önce data.results altındaki dosyaları indirin. |
failed | Başarısız sonuçlanma. failed_reason ve billing_status alanlarını inceleyin. |
| Alan | Tür | Açıklama ve kısıtlamalar |
|---|---|---|
id | string | Görev tanımlayıcı. Bu, oluşturma yanıtındaki taskId değeridir. |
created_at | number | Unix saniyesi olarak görevin oluşturulma zamanı. |
model | string | Bu görev için kullanılan genel model kimliği. |
billing_status | string | reserved (rezerve edildi), charged (tahsil edildi), refunded (iade edildi) veya refund_failed (iade başarısız). |
credits | number | Bu görev için rezerve edilen kredi. Bu değer iade sonrasında da korunur; faturalandırma sonucunu belirlemek için billing_status alanını inceleyin. |
failed_reason | string | null | Başarısız görevlerdeki başarısızlık nedeni; aksi takdirde null. Başarısız sorgu yanıtlarında data alanı yer almaz. |
data | object | Başarısız olmayan görev sorgularında bulunur. Çıkış ve işlem detaylarını içerir. |
data.results | string[] | Video URL dizisi. Tamamlanana kadar veya videonun süresi dolduktan sonra boştur. |
data.video_expires_at | string | null | ISO 8601 zaman damgası olarak videonun son geçerlilik tarihi veya video henüz hazır değilse null. Sonucu bu süreden önce kaydedin. |
data.last_frame_url | string | null | Talep edildiğinde ve mevcut olduğunda son kare URL'si, aksi takdirde null. |
data.processing_time | number | null | Mevcut olduğunda sağlayıcının işlem süresi (saniye cinsinden), aksi takdirde null. |
Tamamlanan görev: video sonuçlarını içeren sorgu yanıtı
Sorgu status=completed değerini döndürdüğünde video üretimi tamamlanmış demektir. Video URL'lerini data.results alanından okuyabilir ve data.video_expires_at tarihinden önce indirebilirsiniz. billing_status=charged ifadesi, rezerve edilen kredilerin tahsil edildiğini gösterir.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0-mini",
"status": "completed",
"billing_status": "charged",
"credits": 30,
"failed_reason": null,
"data": {
"results": [
"https://cdn.seevio.ai/api/videos/example.mp4"
],
"video_expires_at": "2026-09-07T00:00:00Z",
"last_frame_url": null,
"processing_time": 48
}
}Başarısız görev: hata ve faturalandırma ayrıntılarını içeren sorgu yanıtı
Sorgu status=failed değerini döndürdüğünde üretim süreci başarısızlıkla sonuçlanmış demektir. Hatanın nedenini öğrenmek için failed_reason alanını, iade sonucunu görmek için ise billing_status alanını inceleyebilirsiniz. Bu örnekteki refunded ifadesi, kredilerin iade edildiğini gösterir. credits alanı orijinal rezerve edilen miktarı korur ve yanıt data alanını içermez.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0-mini",
"status": "failed",
"billing_status": "refunded",
"credits": 30,
"failed_reason": "provider_failed"
}Webhook'lar
Görev tamamlandığında veya başarısız olduğunda bir JSON POST isteği almak için oluşturma isteğinde callback_url alanını ayarlayın. 15 saniye içinde bir 2xx yanıtı döndürün. İletilemeyen bildirimler tekrar denenir; yinelenen bildirimleri görev kimliğine göre tekilleştirerek (idempotent) işleyin.
Geri arama (callback) uç noktanız, JSON istek gövdesine (Content-Type: application/json) sahip POST isteklerini kabul etmelidir.
Geri çağırma (callback) ile görev oluşturma
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0-mini",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "text-to-video",
"aspect_ratio": "16:9",
"generate_audio": true
},
"callback_url": "https://example.com/webhooks/seevio"
}'Webhook verileri, görev sorgulama yanıtlarından farklıdır: billing_status ve credits alanlarını içermezler; başarısızlık detayları data.failed_reason ve data.credits_refunded içinde yer alır. Webhook created_at değeri, Unix saniyesi cinsinden olayın oluşturulma zamanıdır.
Görev tamamlandı: Başarılı geri arama yükü
Oluşturma işlemi başarıyla tamamlandığında, geri arama status=completed değerini döndürür. Görevi tanımlamak için id parametresini, video URL'lerini almak için ise data.results parametresini kullanın. Sonuçları data.video_expires_at tarihinden önce indirip kaydetmeyi unutmayın.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0-mini",
"status": "completed",
"data": {
"results": [
"https://cdn.seevio.ai/api/videos/example.mp4"
],
"video_expires_at": "2026-09-07T00:00:00Z",
"last_frame_url": null,
"processing_time": 48
}
}Görev başarısız oldu: Başarısızlık geri arama yükü
Oluşturma işlemi başarısız olduğunda, geri arama status=failed değerini döndürür. Görevi tanımlamak için id, başarısızlık nedenini görmek için data.failed_reason ve iade edilen kredi miktarını öğrenmek için data.credits_refunded parametrelerini kullanın.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0-mini",
"status": "failed",
"data": {
"failed_reason": "provider_failed",
"credits_refunded": 30
}
}Alıcı örneği
export async function POST(request: Request) {
const callbackData = await request.json();
if (callbackData.status === "completed") {
const videoUrls = callbackData.data.results;
// Save the video URLs and mark this task as completed in your application.
console.log(callbackData.id, videoUrls);
}
if (callbackData.status === "failed") {
const { failed_reason, credits_refunded } = callbackData.data;
// Record the failure reason and refunded credits for this task.
console.error(callbackData.id, failed_reason, credits_refunded);
}
return new Response(null, { status: 200 });
}Bu Next.js örneği, JSON geri arama gövdesini okur ve tamamlanan ya da başarısız olan görevleri doğrudan işler. Kendi uygulamanız için veri kalıcılığı ve görev kimliği (task-ID) tekilleştirme özellikleri ekleyin; geri aramayı onaylamadan önce yavaş çalışan işlemleri sıraya alın.
Medya gereksinimleri ve sınırlamaları
- Tüm medya ve geri çağırma URL'leri genel erişime açık HTTPS URL'leri olmalıdır. Localhost, özel IP'ler ve çerez veya oturum açma gerektiren dosyalardan kaçının. Referans video/ses URL'leri doğrudan okunabilir medyaya yönlenmelidir.
- reference-to-video modunda, toplamda 9 görsel, 3 video, 3 ses dosyası ve 12 materyal sınırını aşmayacak şekilde en az bir referans sağlayın. Toplam video süresi ve toplam ses süresinin her biri en fazla 15 saniye olmalıdır.
- text-to-video tüm medya referanslarını yoksayar. image-to-video yalnızca ilk/son kare görsellerini iletir ve video ile ses referanslarını yoksayar. Medyaları birleştirmek için reference-to-video modunu kullanın.
- Seedance 2.0 modellerinde, model uyumluluğu için sesi en az bir görsel veya video ile birlikte kullanın. Sadece ses içeren örnekler Seedance 2.5 sayfasında sunulmaktadır.
- Fast ve Mini modelleri 480p ve 720p çözünürlüklerini destekler. İstek doğrulamasında daha yüksek çözünürlük dize değerlerinin kabul edilmesine güvenmeyin: Bunlar bu model için desteklenen çıkış katmanları değildir.
Görsel gereksinimleri
- Her bir görselin boyutu 30 MB'tan küçük olmalıdır.
- Desteklenen biçimler: jpeg, png, webp, bmp, tiff, gif.
- En boy oranı (genişlik ÷ yükseklik): 0,4 ile 2,5 arasında (sınırlar dahil) olmalıdır.
- Genişlik ve yüksekliğin her biri 300 ile 6.000 piksel arasında (sınırlar dahil) olmalıdır.
Video gereksinimleri
- Desteklenen biçimler: mp4, mov.
- Her bir videonun boyutu 100 MB'ı aşmamalıdır.
- Kare hızı: 24 ile 60 FPS arasında (sınırlar dahil) olmalıdır.
- En boy oranı (genişlik ÷ yükseklik): 0,4 ile 2,5 arasında (sınırlar dahil) olmalıdır.
- Toplam piksel sayısı (genişlik × yükseklik): 407.696 ile 8.295.044 arasında (sınırlar dahil) olmalıdır. Örneğin, 614 × 664 = 407.696 ve 3.326 × 2.494 = 8.295.044. Bunlar piksel sayısına ilişkin örneklerdir; sabit genişlik ve yükseklik gereksinimleri değildir.
Ses gereksinimleri
- Desteklenen biçimler: wav, mp3.
- Her bir ses dosyasının boyutu 15 MB'ı aşmamalıdır.
Hatalar
HTTP hataları, code ve message içeren bir error nesnesine sahiptir. Başarıyla kabul edilen bir görev daha sonra yine de başarısız olabilir; görevi sorgulayın veya başarısızlık geri çağırmasını işleyin.
{
"error": {
"code": "invalid_request",
"message": "input.prompt is required."
}
}| HTTP | Alan | Yapılması gereken |
|---|---|---|
| 400 | invalid_request | Yeniden denemeden önce JSON yapısını, eksik istemi, parametre aralığını veya medya URL'sini düzeltin. |
| 401 | invalid_api_key | Bearer token değerini ve API anahtarının aktif olup olmadığını kontrol edin. |
| 402 | insufficient_credits | Kredi ekleyin veya görev maliyetini düşürün. Yanıt, gerekli ve mevcut miktarları içerebilir. |
| 403 | forbidden | Hata mesajında belirtilen hesap düzeyindeki kısıtlamayı kontrol edin. |
| 404 | not_found | Görev kimliğini ve anahtarın görevin sahibine ait olup olmadığını kontrol edin. |
| 429 | rate_limited | Yeniden denemeden önce Retry-After başlığında belirtilen süreyi bekleyin. |
| 500 | internal_error | Hata mesajını ve API günlüklerini inceleyin. Dikkatli bir şekilde yeniden deneyin; istek oluşturmayı tekrar göndermek, faturalandırılabilir başka bir görev oluşturabilir. |
İstek sınırları
Görev oluşturma: Her bir API anahtarı, varsayılan olarak dakikada en fazla 100 isteğe izin verir. Özel istek limitleri şu anda desteklenmemektedir.
Görev sorgulama: Her bir API anahtarı, varsayılan olarak dakikada en fazla 120 isteğe izin verir. Sorgulama istekleri ve görev oluşturma istekleri birbirinden bağımsız olarak sayılır.