{
  "schema": "souz.model-catalog/v1",
  "revision": "internal-multimodal-2026-08-13.r1",
  "publishedAt": "2026-08-13T00:00:00.000Z",
  "profile": {
    "id": "internal-multimodal",
    "audience": "Aidentika and other operator-issued internal product keys",
    "delivery": "synchronous OpenAI-compatible chat plus async image and video jobs with polling",
    "resultEndpoint": "GET /v1/jobs/{id}",
    "clientWebhooks": false
  },
  "authority": {
    "meaning": "Repository-certified internal multimodal profile, not proof of a particular deployment.",
    "componentRevisions": {
      "image": "production-go0-image-2026-08-13.r5",
      "chatCertification": "2026-08-13.r12",
      "chatProjection": "internal-chat-2026-08-13.r1",
      "videoCertification": "2026-08-13.r12",
      "videoProjection": "internal-video-2026-08-13.r1"
    },
    "liveAvailability": "certified code set intersect live canonical/variant flags, provider credentials, capacity and recovery configuration",
    "publicApiDiscovery": {
      "endpoint": "GET /v1/models",
      "enabled": false,
      "reason": "The runtime endpoint stays fail-closed until one revision is enforced by discovery, admission and worker routing."
    },
    "profileEvidenceValidUntil": "2026-09-05T00:00:00.000Z",
    "openRouterSignedImageEvidenceValidUntil": "2026-09-10T08:43:45.000Z",
    "openRouterSignedVideoEvidenceValidUntil": "2026-09-10T19:27:00.000Z",
    "providerRiskClasses": "KIE image/video uses callback-bound durable recovery; OpenRouter Kling Video uses signed lost-202 callback recovery plus authenticated repeat-content polling; BananaHub uses idempotent lookup plus durable polling and a bounded stalled-task policy; LaoZhang and OpenRouter Images use the owner-approved sync-body-only bounded-loss policy. Runtime admission intersects these proofs with credentials, capacity and recovery readiness."
  },
  "models": [
    {
      "id": "souz/nano-banana-2",
      "name": "Nano Banana 2",
      "modality": "image",
      "endpoint": "POST /v1/images/generations",
      "profileStatus": "production_go0",
      "description": "Fast general-purpose image generation and editing.",
      "safeContract": {
        "prompt": "required",
        "resolutions": ["1K", "2K"],
        "aspectRatios": ["1:1", "16:9", "9:16"],
        "maxReferences": 14,
        "referenceTypes": ["image"],
        "outputCount": 1,
        "outputType": "image"
      }
    },
    {
      "id": "souz/nano-banana-pro",
      "name": "Nano Banana Pro",
      "modality": "image",
      "endpoint": "POST /v1/images/generations",
      "profileStatus": "production_go0",
      "description": "Higher-quality image generation and multi-reference editing.",
      "safeContract": {
        "prompt": "required",
        "resolutions": ["1K", "2K"],
        "aspectRatios": ["1:1", "16:9", "9:16"],
        "maxReferences": 14,
        "referenceTypes": ["image"],
        "outputCount": 1,
        "outputType": "image",
        "publishedDegradation": "With allow_degradation=true, 9–14 ordered generic references may fall back to the first 8."
      }
    },
    {
      "id": "souz/gpt-image-2",
      "name": "GPT Image 2",
      "modality": "image",
      "endpoint": "POST /v1/images/generations",
      "profileStatus": "production_go0_conditional",
      "description": "Conditional LaoZhang-to-KIE waterfall for text generation and one-reference editing.",
      "safeContract": {
        "prompt": "required",
        "resolutions": ["1K", "2K"],
        "aspectRatios": ["1:1", "16:9"],
        "maxReferences": 1,
        "referenceTypes": ["image"],
        "outputCount": 1,
        "outputType": "image"
      },
      "operationalCondition": "Disabled in the safe seed/default projection. Activation requires both LaoZhang and the matching KIE operation for every exact request, plus a fresh Ed25519-signed deployment proof bound to the exact runtime key and release SHA. The proof covers successful text and edit jobs, callback receipts and repeat polling of the same paid results; a timestamp or positive credit response alone cannot unlock it."
    },
    {
      "id": "souz/gpt-5.4-mini", "name": "GPT-5.4 Mini", "modality": "chat",
      "endpoint": "POST /v1/chat/completions", "profileStatus": "internal_chat",
      "description": "Production text model with LaoZhang primary and a bounded OpenRouter canary.",
      "safeContract": { "messages": "required", "content": ["text"], "functionTools": true, "streaming": "openrouter_proof_required", "choices": 1 }
    },
    {
      "id": "souz/gpt-5.6-luna", "name": "GPT-5.6 Luna", "modality": "chat",
      "endpoint": "POST /v1/chat/completions", "profileStatus": "internal_chat",
      "description": "Fast low-cost text model with LaoZhang primary and a bounded OpenRouter canary.",
      "safeContract": { "messages": "required", "content": ["text"], "functionTools": true, "streaming": "openrouter_proof_required", "choices": 1 }
    },
    {
      "id": "souz/gpt-4o-mini", "name": "GPT-4o Mini", "modality": "chat",
      "endpoint": "POST /v1/chat/completions", "profileStatus": "internal_chat",
      "description": "Cost-efficient text model with LaoZhang primary and a bounded OpenRouter canary.",
      "safeContract": { "messages": "required", "content": ["text"], "functionTools": true, "streaming": "openrouter_proof_required", "choices": 1 }
    },
    {
      "id": "souz/gpt-4.1-mini", "name": "GPT-4.1 Mini", "modality": "chat",
      "endpoint": "POST /v1/chat/completions", "profileStatus": "internal_chat",
      "description": "Long-context text model with LaoZhang primary and a bounded OpenRouter canary.",
      "safeContract": { "messages": "required", "content": ["text"], "functionTools": true, "streaming": "openrouter_proof_required", "choices": 1 }
    },
    {
      "id": "souz/gemini-3.6-flash", "name": "Gemini 3.6 Flash", "modality": "chat",
      "endpoint": "POST /v1/chat/completions", "profileStatus": "internal_chat",
      "description": "Fast buffered text model over the LaoZhang/OpenRouter waterfall; streaming is not certified.",
      "safeContract": { "messages": "required", "content": ["text"], "functionTools": true, "streaming": false, "choices": 1 }
    },
    {
      "id": "souz/kling-3", "name": "Kling 3.0", "modality": "video",
      "endpoint": "POST /v1/videos/generations", "profileStatus": "internal_video",
      "description": "Text-to-video with KIE primary and certified OpenRouter std/pro fallback.",
      "safeContract": {
        "prompt": "required", "aspectRatios": ["16:9", "9:16", "1:1"],
        "durationsSeconds": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
        "modes": ["std", "pro"], "audio": false, "maxReferences": 0,
        "outputCount": 1, "outputType": "video/mp4", "delivery": "async_polling"
      }
    },
    {
      "id": "souz/seedance-2", "name": "Seedance 2.0", "modality": "video",
      "endpoint": "POST /v1/videos/generations", "profileStatus": "internal_video",
      "description": "KIE-backed text-to-video with a certified durable callback-and-poll recovery path.",
      "safeContract": {
        "prompt": "required", "aspectRatios": ["1:1", "4:3", "3:4", "16:9", "9:16", "21:9", "auto"],
        "durationsSeconds": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
        "resolutions": ["480p", "720p", "1080p", "4k"], "maxReferences": 2,
        "outputCount": 1, "outputType": "video/mp4", "delivery": "async_polling"
      }
    }
  ],
  "outsideProfile": [
    {
      "surface": "other_video_models",
      "status": "excluded",
      "note": "Kling 2.1/2.6, Veo and OpenRouter Seedance remain disabled until their exact certification gaps are closed."
    },
    {
      "surface": "audio",
      "status": "out_of_profile"
    }
  ]
}
