{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/editclips-online/json-schema/editclips-online-job-created-schema.json",
  "title": "JobCreated",
  "x-generated": "2026-11-06",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/editclips-online-openapi.yaml#/components/schemas/JobCreated",
  "type": "object",
  "required": [
    "id",
    "status",
    "tool",
    "creditsReserved",
    "estimatedCredits",
    "poll"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "pending_upload"
      ],
      "description": "`queued` for URL inputs, `pending_upload` for file uploads"
    },
    "tool": {
      "type": "string"
    },
    "creditsReserved": {
      "type": "integer",
      "description": "Always 0 — nothing is held when a job is created"
    },
    "estimatedCredits": {
      "type": "integer",
      "description": "What the AI result should cost, charged when it's ready (0 for non-AI tools, which are included in the plan)"
    },
    "uploads": {
      "type": [
        "array",
        "null"
      ],
      "description": "Presigned upload URLs (only for file upload jobs). PUT your file to each URL within 30 minutes.",
      "items": {
        "type": "object",
        "required": [
          "name",
          "url"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Filename this upload corresponds to"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Presigned PUT URL (expires in 30 minutes)"
          }
        }
      }
    },
    "poll": {
      "type": "string",
      "description": "Convenience path for polling this job"
    }
  }
}