Hızlı başlangıç
Eşzamansız bir Görev oluşturun ve yoklama, tamamlama, hata ve geri çağırmaları yönetin.
RunAPI, eş zamansız görüntü, video, ses ve müzik üretimi için Görevler kullanır. Bir oluşturma isteği hızla döner; uygulamanız ardından Görevi yoklar veya o uç noktanın API Başvurusu’nda listelenen geri çağırma olaylarını alır.
Bir Görev Oluştur
Katalog’dan bir model ve uç nokta seçin, ardından uç noktanın gerekli girdilerini gönderin. Bu örnek bir Flux 2 metinden görüntüye Görevi başlatır:
curl -X POST "https://runapi.ai/api/v1/flux_2/text_to_image" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Idempotency-Key: 8c8ba3c9-0ce0-4bbd-a9a7-bf59ab639286" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-2-pro-text-to-image",
"prompt": "A product photograph on a clean studio background"
}'
Kabul edilen asenkron bir istek, Görev tanımlayıcısıyla birlikte 202 Accepted döndürür:
{
"id": "task_id",
"status": "processing"
}
id‘yi uygulama kaydınızla birlikte saklayın. Bu, yoklama, destek ve geri çağırma uzlaştırması için kullanılan kararlı tanımlayıcıdır.
Medya girdileri gönderme
Media Input Field’lar, medya URL’leri taşıyan istek alanlarıdır: adı _url veya _urls ile biten üst düzey alanlar (örneğin image_url veya image_urls), her video_list öğesinin url alanı ve her kling_elements öğesinin element_input_urls, element_input_video_urls ve element_input_audio_urls alanları. callback_url bir teslim uç noktasıdır, Media Input Field değildir. Her Media Input Field değeri herkese açık bir HTTPS URL’si veya data:<mime>;base64,<data> biçiminde bir data URI olabilir; data URI başına en fazla 10 MB. RunAPI her data URI’yi bir saat sonra süresi dolan geçici bir File Upload olarak saklar ve bu yüklemeyi Task için kullanır. Saklanamayan bir data URI, invalid_media_input hata koduyla 422 döndürür.
GPT Image düzenleme uç noktaları source_image_urls alanında yalnızca HTTPS URL’lerini kabul eder. Bu uç noktalara yerel bir görsel göndermek için önce bir File Upload oluşturun ve dönen URL’yi iletin.
10 MB’tan büyük dosyalar için önce POST /api/v1/files ile bir File Upload oluşturun ve dönen URL’yi iletin. Multipart veya URL kaynaklı bir File Upload en fazla 50 MB’lık dosyaları kabul eder. File Upload URL’lerinin süresi de bir saat sonra dolar; bu süreden sonra başlayan her Task için yeni bir File Upload oluşturun.
# For this model, non-PNG/JPEG input may return 409 depending on the selected service.
# If rejected, convert WebP/BMP/TIFF/GIF to PNG/JPEG or select a compatible service.
# Actual MIME determines support, even for a .png URL. Rejection happens before task creation or charging.
# This is not a format limit for every service. Existing Task queries remain available.
curl -X POST "https://runapi.ai/api/v1/seedream/decompose_layers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model":"seedream-5-pro-layer-decomposition","image_url":"https://cdn.runapi.ai/public/samples/image.png"}'
Yinelenen Görev oluşturmayı önleyin
Görev oluşturma uç noktaları, 512 karaktere kadar opak bir değer içeren isteğe bağlı bir Idempotency-Key başlığını kabul eder. Her mantıksal Görev için bir değer oluşturun ve isteğin kabul edilip edilmediğini öğrenene kadar bu değeri istekle birlikte saklayın.
Bir zaman aşımı veya bağlantı hatası sonucu belirsiz bırakırsa, aynı anahtarla tam olarak aynı Görev oluşturma isteğini yeniden deneyin. RunAPI, ikinci bir Görev oluşturmak ve ücretlendirmek yerine orijinal Görevi döndürür. Farklı bir Görev oluşturma isteğiyle aynı anahtarın yeniden kullanılması 409 Conflict döndürür. Kasıtlı olarak yeni bir Görev için yeni bir anahtar oluşturun ve bu anahtar olarak X-Client-Request-Id kullanmayın.
Kesintiye uğramış eş zamanlı bir isteği kurtarın
Yavaş eş zamanlı uç noktalar normalde bağlantıyı açık tutar ve daha önce olduğu gibi aynı terminal yanıtını döndürür. Mevcut entegrasyonlar için yoklama değişikliği gerekmez.
Kasıtlı olarak daha kısa bir bağlantı bütçesi için Prefer: wait=N gönderin.
Görev bu açık bütçe sonunda hâlâ çalışıyorsa RunAPI, aynı Görev id‘si, kurtarma için opak bir Location URL’si ve önerilen sorgu gecikmesi için Retry-After içeren 202 Accepted döndürür. Bir sonuç URL’si oluşturmak yerine Location‘ı tam olarak takip edin. Tamamlanan bir Görev Sonucu terminal HTTP durumunu, izin verilen başlıkları, içerik türünü ve gövdeyi korur; response.body‘yi her zaman JSON olmayan response.content_type‘a göre çözün.
Görev Yoklama
Görev tanımlayıcısını aynı uç nokta yoluna ekleyin:
curl "https://runapi.ai/api/v1/flux_2/text_to_image/task_id" \
-H "Authorization: Bearer YOUR_API_TOKEN"
status processing olduğu sürece devam edin. Sürekli yoklama yapmak yerine istekler arasında sınırlı geri çekilme kullanın. Bir Görev, durumu completed veya failed olduğunda terminal hale gelir.
Tamamlamayı işle
completed yanıtı Görev id‘sini, terminal status değerini, uç noktaya özgü sonuç alanlarını ve o Task için float USD tutarı olan usage.cost değerini içerir. İhtiyaç duyduğunuz sonucu saklayın ve yoklamayı durdurun. Her medya uç noktasının aynı alanları döndürdüğünü varsaymak yerine tam sonuç yapısı için ilgili uç noktanın API başvurusuna bakın.
Oluşturma, processing ve failed Task zarfları usage içermez.
Medyaya dayalı nihai ücret hesaplaması gerektiren görevler, nihai ücret kaydedilene kadar
processing durumunda kalır. Tamamlanma geri çağırması yalnızca bu hesaplama
sonuçlandıktan sonra gönderilir; içerdiği usage.cost, sonraki görev sorgularında
dönen değerle eşleşir. Eksik muhasebe verileri sıfır olarak bildirilmez:
bu veriler uzlaştırılırken görev processing durumunda kalır.
Sıfır olduğu doğrulanan ücret, usage.cost: 0 olarak döndürülür.
Başarısızlığı işle
failed yanıtı Görev id‘sini, terminal status değerini ve mevcut olduğunda RunAPI tarafından oluşturulan bir error içerir. Yoklamayı durdurun, tanımlayıcıyı ve hatayı kaydedin; yalnızca uygulamanız hatayı geçici olarak sınıflandırdığında yeniden deneyin. Yeniden deneme yeni bir Görev tanımlayıcısı oluşturur.
Geri çağırma alma
RunAPI’nin ilgili uç nokta için belgelenmiş geri çağırma olaylarını göndermesini istiyorsanız oluşturma isteğine genel erişime açık bir HTTPS callback_url ekleyin:
{
"model": "flux-2-pro-text-to-image",
"prompt": "A product photograph on a clean studio background",
"callback_url": "https://your-domain.com/webhooks/runapi"
}
Her geri çağırma gövdesi, uç noktanın API Başvurusu’ndaki bir yaşam döngüsü olayıyla eşleşir. Completed geri çağırma, completed yoklama yanıtıyla usage.cost değerini paylaşır; oluşturma, processing ve failed geri çağırmaları usage içermez. Terminal geri çağırmaları, terminal yoklama yanıtlarıyla aynı sonuç alanlarını içerir; bazı uç noktalar ayrıca belgelenmiş processing geri çağırmaları da gönderir. Başarılı bir HTTP yanıtını hızla döndürün ve teslimat geciktiğinde ya da geri çağırma işleyiciniz kullanılamadığında mutabakat için yoklamayı kullanılabilir bırakın.
Geri Çağırma Sırrı oluşturmak, imzaları doğrulamak ve yeniden denemeleri güvenli biçimde işlemek için Geri çağırmalar bölümünü okuyun.
Vidu Q4 videolar oluşturun
POST /api/v1/vidu/image_to_video‘yi model:
"vidu-q4-image-to-video" ve first_frame_image_url ile kullanın. POST
/api/v1/vidu/reference_to_video‘yi model:
"vidu-q4-reference-to-video" ile, boş olmayan bir prompt ile ve 1-15 sıralı olarak kullanın
reference_image_urls. GET ile her görevi oluşturulurken alın
yolu /:id izliyor. Tamamlanan görevler videos dizisini içerir
sonuç URL’leri. Ayrıca tamamlanması için callback_url‘yi de sağlayabilirsiniz.
bildirimler.
Her iki uç nokta da 3’ten 16’ya kadar duration_seconds tamsayısını kabul eder, varsayılan
5 ve 540p, 720p, 1080p, 2k veya 4k‘nin output_resolution‘si,
varsayılan 720p. audio bir JSON boole değeridir, varsayılan true; açık
false oluşturulan sesi devre dışı bırakır. İstemler 20.000’e kadar kabul edilir
karakterler. Görüntüden videoya yönlendirme isteğe bağlıdır ve ilk kare
en-boy oranını belirler. Referanstan videoya aspect_ratio kabul edilir
16:9, 9:16, 1:1, 4:3 veya 3:4, varsayılan 16:9 ve en fazla 3
reference_audio_urls.
Genel HTTP(S) medya URL’lerini kullanın. Resimler JPG/JPEG, PNG veya WEBP olmalıdır; ilk kare resmi 50 MB’tan büyük olmamalıdır. Her bir referans ses dosya MP3 olmalı, 3–12 saniye uzunluğunda olmalı ve 50 MB’tan büyük olmamalıdır. RunAPI alan türlerini, URL şemalarını ve referans sayılarını kontrol eder. Nesil sağlayıcı uzak medya formatını, boyutunu ve ses süresini kontrol eder asenkron olarak. Geçersiz medya, görevin başarısız olmasına neden olabilir. normal arıza ve geri ödeme akışı.