FCA Farm
JA ▾

Jobs API

Render iş submit, sorgu ve yönetim endpoint'leri.

POST /asset-api/render/jobs

Yeni bir render iş oluşturur. Body manifest içerir (sahnenin sha256 + tüm asset'ler).

Body

{
  "name": "Banyo - Camera 003",
  "scene_filename": "Banyo_Final.max",
  "camera": "Camera003",
  "frame_start": 1,
  "frame_end": 240,
  "resolution_w": 3840,
  "resolution_h": 2160,
  "render_engine": "corona",
  "priority_tier": "priority",
  "manifest": [
    {"file_path":"Banyo_Final.max", "sha256":"abc...", "size_bytes":15728640},
    {"file_path":"maps/wood.exr",   "sha256":"def...", "size_bytes":52428800}
  ]
}

Yanıt

{
  "job_id": 42,
  "missing": ["abc...", "def..."],
  "estimated_credits": 12.4
}

PUT /asset-api/render/upload/{sha256}

Eksik asset'leri yükle. Chunked upload destekler (her chunk max 50 MB, Cloudflare 100 MB limit bypass için).

Headers

Authorization: Bearer <token>
Content-Type: application/octet-stream
Content-Length: 52428800
Upload-Offset: 0
Upload-Complete: 0    # ara chunk
# veya
Upload-Complete: 1    # son chunk → sha256 doğrulama + commit

POST /asset-api/render/jobs/{id}/start

Tüm asset'ler yüklendikten sonra çağrılır. İş status'unu ready yapar (bridge alır).

Body

{ "auto_start": true }

false → status awaiting_approval olur, sonra manuel /approve ile ready'e geçer.

GET /asset-api/render/jobs?status=&q=

Kullanıcının iş listesi.

GET /asset-api/render/jobs/{id}

Tek iş detayı + asset listesi + output frame'leri.

POST /asset-api/render/jobs/{id}/cancel

İptal. Aktif render durumdaysa bridge'e cancel flag gönderir (Deadline DeleteJob).

GET /asset-api/render/balance

Kullanıcı kredi bakiyesi.

Yanıt

{ "balance_credits": 478.50 }

POST /asset-api/render/estimate

Submit öncesi maliyet tahmini.

Body

{
  "frame_count": 240,
  "resolution_w": 3840,
  "resolution_h": 2160,
  "render_engine": "corona",
  "priority_tier": "priority"
}

Yanıt

{
  "cost_credits": 12.4,
  "cost_usd": 1.24,
  "per_frame": 0.052
}

Hata kodları

  • unauthenticated 401 — Token eksik veya geçersiz
  • insufficient_balance 402 — Bakiye yetersiz
  • job_not_found 404 — İş bulunamadı
  • job_not_yours 403 — Başka kullanıcının işi
  • invalid_state 409 — Geçersiz iş durumu için işlem (örn: completed işi iptal)
  • rate_limited 429 — Çok fazla istek
← Tüm dokümanlar