{
  "components": {
    "schemas": {
      "AdmissionPreviewRequest": {
        "examples": [
          {
            "model": "minimax-h3",
            "request": {
              "generationMode": "t2v",
              "model": "minimax-h3",
              "orientation": "landscape",
              "prompt": "雨夜站台，镜头缓慢推进，人物自然递伞后共同离开。",
              "resolutionTier": "768p",
              "seconds": 5,
              "seed": 1234
            }
          }
        ],
        "properties": {
          "model": {
            "description": "Public alias of an async-admission capable service.",
            "type": "string"
          },
          "request": {
            "additionalProperties": true,
            "description": "Prospective creation body; omitted/null becomes empty. The platform overrides request.model using the selected alias.",
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "model"
        ],
        "type": "object"
      },
      "AdmissionPreviewResponse": {
        "properties": {
          "admission": {
            "additionalProperties": true,
            "description": "Current admission decision and optional retry guidance; neither a reservation nor a guarantee.",
            "type": "object"
          },
          "generatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "publicationId": {
            "description": "Informational selected publication; clients continue to submit model alias.",
            "type": "string"
          },
          "serviceKind": {
            "type": "string"
          }
        },
        "required": [
          "publicationId",
          "serviceKind",
          "admission",
          "generatedAt"
        ],
        "type": "object"
      },
      "AudioGenerationRequest": {
        "properties": {
          "generationMode": {
            "description": "Mode from the selected service.",
            "type": "string"
          },
          "input_video_asset_id": {
            "description": "Uploaded video for Foley; do not send for text-only TTS.",
            "type": "string"
          },
          "instruct": {
            "description": "Required with voice_design; Qwen3-TTS max160 characters.",
            "type": "string"
          },
          "model": {
            "description": "Public audio model alias. TTS, music and video Foley use different conditional fields.",
            "type": "string"
          },
          "prompt": {
            "description": "Foley/music description when supported.",
            "type": "string"
          },
          "seconds": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "speaker": {
            "description": "Required with custom_voice; choose a published speaker.",
            "type": "string"
          },
          "text": {
            "description": "TTS content; Qwen3-TTS character limit. Other models use their own service contract.",
            "maxLength": 600,
            "type": "string"
          },
          "voiceMode": {
            "description": "Qwen3-TTS: text (default), custom_voice or voice_design.",
            "type": "string"
          }
        },
        "required": [
          "model"
        ],
        "type": "object"
      },
      "AudioTranscriptionRequest": {
        "properties": {
          "file": {
            "description": "One nonempty file \u003c=25MiB. MIME: audio/wav,x-wav,mpeg,mp3,mp4,x-m4a,webm,ogg,flac; octet-stream requires a supported file extension.",
            "format": "binary",
            "type": "string"
          },
          "language": {
            "description": "Only when supported by the selected model.",
            "type": "string"
          },
          "model": {
            "description": "Public audio_transcription alias.",
            "type": "string"
          },
          "response_format": {
            "description": "Only when supported by the selected model; JSON is the normal response.",
            "type": "string"
          }
        },
        "required": [
          "model",
          "file"
        ],
        "type": "object"
      },
      "AudioTranscriptionResponse": {
        "properties": {
          "duration": {
            "type": "number"
          },
          "language": {
            "type": "string"
          },
          "segments": {
            "items": {
              "properties": {
                "end": {
                  "type": "number"
                },
                "id": {
                  "type": "integer"
                },
                "start": {
                  "type": "number"
                },
                "text": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "text": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "CatalogVoice": {
        "properties": {
          "description": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "previewAssetId": {
            "type": "string"
          },
          "primaryLanguage": {
            "type": "string"
          },
          "supportedLanguages": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "version": {
            "type": "integer"
          },
          "voiceId": {
            "type": "string"
          }
        },
        "required": [
          "voiceId",
          "version",
          "displayName",
          "primaryLanguage",
          "supportedLanguages"
        ],
        "type": "object"
      },
      "CatalogVoiceList": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/CatalogVoice"
            },
            "type": "array"
          },
          "object": {
            "const": "list",
            "type": "string"
          }
        },
        "required": [
          "object",
          "data"
        ],
        "type": "object"
      },
      "ChatRequest": {
        "properties": {
          "messages": {
            "items": {
              "properties": {
                "content": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": {
                        "properties": {
                          "image_url": {
                            "properties": {
                              "url": {
                                "description": "Platform-controlled asset URL or supported inline data; not an arbitrary external image URL.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "text": {
                            "type": "string"
                          },
                          "type": {
                            "description": "Part type allowed by the selected service, e.g. text/image_url/video_url.",
                            "type": "string"
                          },
                          "video_url": {
                            "properties": {
                              "url": {
                                "description": "Platform-controlled input video URL; arbitrary external video URLs are rejected.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  ]
                },
                "role": {
                  "enum": [
                    "system",
                    "user",
                    "assistant",
                    "tool"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "role",
                "content"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "model": {
            "description": "Public text_chat/vision_chat model alias.",
            "type": "string"
          },
          "stream": {
            "default": false,
            "description": "SSE when the selected service supports streaming. Sampling fields must be explicitly allowed by the model contract; platform-managed sampling fields are rejected.",
            "type": "boolean"
          }
        },
        "required": [
          "model",
          "messages"
        ],
        "type": "object"
      },
      "ChatResponse": {
        "properties": {
          "choices": {
            "items": {
              "properties": {
                "finish_reason": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "index": {
                  "type": "integer"
                },
                "message": {
                  "properties": {
                    "content": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "role": {
                      "type": "string"
                    },
                    "tool_calls": {
                      "items": {
                        "properties": {
                          "function": {
                            "properties": {
                              "arguments": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "id": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "created": {
            "type": "integer"
          },
          "id": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "object": {
            "type": "string"
          },
          "usage": {
            "$ref": "#/components/schemas/TokenUsage"
          }
        },
        "type": "object"
      },
      "DocumentParseRequest": {
        "properties": {
          "input_document_asset_id": {
            "description": "Previously uploaded document in this identity/model scope.",
            "type": "string"
          },
          "language": {
            "enum": [
              "ch",
              "en"
            ],
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "original_name": {
            "type": "string"
          },
          "page_range": {
            "properties": {
              "end_page": {
                "maximum": 500,
                "minimum": 1,
                "type": "integer"
              },
              "start_page": {
                "maximum": 500,
                "minimum": 1,
                "type": "integer"
              }
            },
            "required": [
              "start_page",
              "end_page"
            ],
            "type": "object"
          },
          "pages": {
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "preset": {
            "enum": [
              "hybrid-medium",
              "hybrid-high"
            ],
            "type": "string"
          }
        },
        "required": [
          "model",
          "input_document_asset_id"
        ],
        "type": "object"
      },
      "EffectiveMediaSpec": {
        "additionalProperties": true,
        "description": "Normalized model-specific specification. Requested seconds, actual native frames and resulting media duration are distinct.",
        "properties": {
          "fps": {
            "type": "number"
          },
          "generationMode": {
            "description": "Normalized generation mode.",
            "type": "string"
          },
          "height": {
            "type": "integer"
          },
          "orientation": {
            "description": "Orientation.",
            "type": "string"
          },
          "resolutionTier": {
            "description": "Normalized tier.",
            "type": "string"
          },
          "seconds": {
            "type": "integer"
          },
          "width": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "EmbeddingRequest": {
        "properties": {
          "input": {
            "description": "Nonempty after trimming; max 64 nonempty items, 8192 Unicode characters each.",
            "oneOf": [
              {
                "maxLength": 8192,
                "type": "string"
              },
              {
                "items": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "maxItems": 64,
                "minItems": 1,
                "type": "array"
              }
            ]
          },
          "model": {
            "description": "Public embedding alias.",
            "type": "string"
          }
        },
        "required": [
          "model",
          "input"
        ],
        "type": "object"
      },
      "EmbeddingResponse": {
        "properties": {
          "data": {
            "items": {
              "properties": {
                "embedding": {
                  "items": {
                    "type": "number"
                  },
                  "type": "array"
                },
                "index": {
                  "type": "integer"
                },
                "object": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "model": {
            "type": "string"
          },
          "object": {
            "type": "string"
          },
          "usage": {
            "$ref": "#/components/schemas/TokenUsage"
          }
        },
        "type": "object"
      },
      "H3GenerationReference": {
        "additionalProperties": false,
        "properties": {
          "assetId": {
            "description": "Uploaded input asset ID; do not use a URL or filesystem path.",
            "type": "string"
          },
          "mediaType": {
            "description": "When omitted, inferred from role; if supplied must match it.",
            "enum": [
              "image",
              "video",
              "audio"
            ],
            "type": "string"
          },
          "role": {
            "enum": [
              "reference_image",
              "reference_video",
              "reference_audio"
            ],
            "type": "string"
          },
          "sha256": {
            "description": "Optional integrity hint; the platform verifies and freezes its own asset checksum.",
            "type": "string"
          }
        },
        "required": [
          "role",
          "assetId"
        ],
        "type": "object"
      },
      "ImageGenerationRequest": {
        "properties": {
          "generationMode": {
            "description": "Model-specific mode, e.g. t2i/i2i.",
            "type": "string"
          },
          "imageCount": {
            "minimum": 1,
            "type": "integer"
          },
          "input_image_asset_id": {
            "description": "Single controlled image for models supporting image input.",
            "type": "string"
          },
          "input_image_asset_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "model": {
            "description": "Public image model alias.",
            "type": "string"
          },
          "orientation": {
            "type": "string"
          },
          "outputSizeCode": {
            "type": "string"
          },
          "prompt": {
            "description": "Image instructions. Character limit is supplied by the selected service.",
            "type": "string"
          },
          "qualityTier": {
            "type": "string"
          },
          "resolutionTier": {
            "type": "string"
          },
          "seed": {
            "type": "integer"
          }
        },
        "required": [
          "model",
          "prompt"
        ],
        "type": "object"
      },
      "InputAssetUploadResponse": {
        "additionalProperties": false,
        "properties": {
          "asset": {
            "properties": {
              "assetId": {
                "type": "string"
              },
              "byteSize": {
                "format": "int64",
                "type": "integer"
              },
              "createdAt": {
                "format": "date-time",
                "type": "string"
              },
              "expiresAt": {
                "format": "date-time",
                "type": "string"
              },
              "kind": {
                "enum": [
                  "image",
                  "audio",
                  "video",
                  "document"
                ],
                "type": "string"
              },
              "lastUploadedAt": {
                "format": "date-time",
                "type": "string"
              },
              "mimeType": {
                "type": "string"
              },
              "publicationId": {
                "type": "string"
              },
              "reused": {
                "type": "boolean"
              },
              "status": {
                "const": "available",
                "type": "string"
              },
              "storageBackend": {
                "type": "string"
              }
            },
            "required": [
              "assetId",
              "publicationId",
              "kind",
              "mimeType",
              "byteSize",
              "status",
              "createdAt",
              "lastUploadedAt",
              "expiresAt",
              "reused"
            ],
            "type": "object"
          },
          "usage": {
            "additionalProperties": true,
            "type": "object"
          }
        },
        "required": [
          "asset"
        ],
        "type": "object"
      },
      "MediaGenerationRequest": {
        "additionalProperties": true,
        "description": "Public video creation uses top-level fields, not the deployed application's params/mediaSpec envelope. H3 requires generationMode/resolutionTier/orientation/seconds, only 768p, 5..15 seconds, max 7000 characters. t2v has no inputs; i2v requires first image; first_last_frame_video requires first+last; universal requires typed references. Per-model required/conditional fields remain in mediaSpecContract. Do not send H3 fps, frames, width/height, steps or runtime settings.",
        "examples": [
          {
            "generationMode": "t2v",
            "model": "minimax-h3",
            "orientation": "landscape",
            "prompt": "雨夜站台，镜头缓慢推进，人物自然递伞后共同离开。",
            "resolutionTier": "768p",
            "seconds": 5,
            "seed": 1234
          },
          {
            "generationMode": "i2v",
            "input_image_asset_id": "input_first",
            "model": "minimax-h3",
            "orientation": "landscape",
            "prompt": "雨夜站台，镜头缓慢推进，人物自然递伞后共同离开。",
            "resolutionTier": "768p",
            "seconds": 5,
            "seed": 1234
          },
          {
            "end_image_asset_id": "input_last",
            "generationMode": "first_last_frame_video",
            "input_image_asset_id": "input_first",
            "model": "minimax-h3",
            "orientation": "landscape",
            "prompt": "雨夜站台，镜头缓慢推进，人物自然递伞后共同离开。",
            "resolutionTier": "768p",
            "seconds": 5,
            "seed": 1234
          },
          {
            "generationMode": "universal_reference_video",
            "model": "minimax-h3",
            "orientation": "landscape",
            "prompt": "雨夜站台，镜头缓慢推进，人物自然递伞后共同离开。",
            "referenceInputs": [
              {
                "assetId": "input_storyboard",
                "mediaType": "image",
                "role": "reference_image"
              }
            ],
            "resolutionTier": "768p",
            "seconds": 5,
            "seed": 1234
          }
        ],
        "properties": {
          "end_image_asset_id": {
            "description": "Previously uploaded last-frame image. H3 first_last_frame_video only.",
            "type": "string"
          },
          "generationMode": {
            "description": "Required for H3: t2v, i2v, first_last_frame_video, universal_reference_video. Other models publish their allowed modes.",
            "type": "string"
          },
          "input_audio_asset_id": {
            "description": "Input audio for models whose service contract declares it; not an H3 universal reference field.",
            "type": "string"
          },
          "input_image_asset_id": {
            "description": "Previously uploaded first-frame image. H3 i2v and first_last_frame_video only.",
            "type": "string"
          },
          "input_video_asset_id": {
            "description": "Input video for models whose service contract declares it; not an H3 universal reference field.",
            "type": "string"
          },
          "model": {
            "description": "Public model alias from GET /v1/services; never a workload or deployment name.",
            "type": "string"
          },
          "orientation": {
            "enum": [
              "landscape",
              "portrait"
            ],
            "type": "string"
          },
          "prompt": {
            "description": "Generation instructions. H3 accepts 1..7000 Unicode code points after trimming.",
            "type": "string"
          },
          "referenceInputs": {
            "description": "H3 universal references: up to 9 images without video, 8 with one video; up to 3 audios, total \u003c=12, at least one visual. Order within each kind fixes numbering. IDs must be unique and owned by this caller/model.",
            "items": {
              "$ref": "#/components/schemas/H3GenerationReference"
            },
            "maxItems": 12,
            "type": "array"
          },
          "resolutionTier": {
            "description": "H3: 768p. Other services publish their own tiers.",
            "type": "string"
          },
          "seconds": {
            "description": "Requested generation seconds. H3: integer 5..15; actual media duration and frame count are separate facts.",
            "type": "integer"
          },
          "seed": {
            "description": "Optional reproducibility input; do not change it during an idempotent retry.",
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "model",
          "prompt"
        ],
        "type": "object"
      },
      "MediaJob": {
        "additionalProperties": true,
        "examples": [
          {
            "id": "job_example",
            "jobId": "job_example",
            "jobUrl": "https://api.example.test/v1/jobs/job_example?model=minimax-h3",
            "model": "minimax-h3",
            "requestId": "req_example",
            "serviceKind": "video_generation",
            "stage": "queued",
            "status": "queued"
          }
        ],
        "properties": {
          "assets": {
            "deprecated": true,
            "description": "Compatibility result collection. New clients should read outputs.",
            "items": {
              "$ref": "#/components/schemas/MediaResultAsset"
            },
            "type": "array"
          },
          "clientRequestId": {
            "description": "Optional client correlation ID; not the idempotency key.",
            "type": "string"
          },
          "completedAt": {
            "format": "date-time",
            "type": "string"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "effectiveMediaSpec": {
            "$ref": "#/components/schemas/EffectiveMediaSpec"
          },
          "elapsedSeconds": {
            "minimum": 0,
            "type": "number"
          },
          "errorCode": {
            "description": "Present on execution failure.",
            "type": "string"
          },
          "errorMessage": {
            "description": "Safe failure detail.",
            "type": "string"
          },
          "id": {
            "description": "Compatibility alias of jobId.",
            "type": "string"
          },
          "jobId": {
            "description": "Persist after acceptance; use GET /v1/jobs/{id}?model=... to observe this same job.",
            "type": "string"
          },
          "jobUrl": {
            "description": "Absolute authenticated polling URL. Use it as returned with the same API key; do not reconstruct it from publicationId.",
            "format": "uri",
            "type": "string"
          },
          "model": {
            "description": "Public model alias.",
            "type": "string"
          },
          "object": {
            "description": "Usually media.generation.job; image-continuation tasks use image_continuation.task.",
            "type": "string"
          },
          "outputs": {
            "description": "Authoritative result collection after success. Prefer this over compatibility result fields.",
            "items": {
              "$ref": "#/components/schemas/MediaResultAsset"
            },
            "type": "array"
          },
          "queuedSeconds": {
            "minimum": 0,
            "type": "number"
          },
          "refreshAfterSeconds": {
            "minimum": 0,
            "type": "integer"
          },
          "requestId": {
            "description": "Server-generated diagnostic request ID.",
            "type": "string"
          },
          "retryAfterSeconds": {
            "minimum": 0,
            "type": "integer"
          },
          "retryable": {
            "description": "Present on failed jobs. False means clients must not automatically recreate the generation.",
            "type": "boolean"
          },
          "runningSeconds": {
            "minimum": 0,
            "type": "number"
          },
          "serviceKind": {
            "description": "Selected public service kind.",
            "type": "string"
          },
          "stage": {
            "description": "Public lifecycle stage; do not infer success from HTTP 200.",
            "type": "string"
          },
          "stageMessage": {
            "description": "Human-readable current stage.",
            "type": "string"
          },
          "startedAt": {
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "description": "H3 does not expose user cancellation. Legacy generic statuses do not grant cancellation capability.",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed",
              "cancel_requested",
              "canceled"
            ],
            "type": "string"
          },
          "statusCode": {
            "type": "integer"
          }
        },
        "required": [
          "jobId",
          "jobUrl",
          "status",
          "requestId"
        ],
        "type": "object"
      },
      "MediaResultAsset": {
        "additionalProperties": true,
        "properties": {
          "assetId": {
            "description": "Result identifier for GET/HEAD /v1/assets/{id}/content?model=...; not a job ID.",
            "type": "string"
          },
          "byteSize": {
            "minimum": 0,
            "type": "integer"
          },
          "contentUrl": {
            "description": "Absolute authenticated content URL. Use the same API key; the URL is not public or permanent.",
            "format": "uri",
            "type": "string"
          },
          "kind": {
            "description": "Result media kind.",
            "type": "string"
          },
          "mimeType": {
            "description": "Detected MIME type.",
            "type": "string"
          },
          "sha256": {
            "description": "Content integrity checksum when provided.",
            "type": "string"
          }
        },
        "required": [
          "assetId",
          "contentUrl"
        ],
        "type": "object"
      },
      "OCRRequest": {
        "properties": {
          "document_asset_id": {
            "description": "Document identity for a service which explicitly supports it; not the document-parse field.",
            "type": "string"
          },
          "image_asset_id": {
            "description": "Compatibility input identity recognized for metering.",
            "type": "string"
          },
          "input_image_asset_id": {
            "description": "Recommended image input from /assets/input for image OCR; required by that model profile, not every possible OCR backend.",
            "type": "string"
          },
          "model": {
            "description": "Public OCR alias. Actual accepted image format and task fields are model-specific.",
            "type": "string"
          },
          "pages": {
            "description": "Metering page count defaults to 1 when omitted/nonpositive; this is not a request to execute arbitrary pages.",
            "type": "integer"
          },
          "task": {
            "description": "Model-supported task, e.g. ocr.",
            "type": "string"
          }
        },
        "required": [
          "model"
        ],
        "type": "object"
      },
      "OCRResponse": {
        "additionalProperties": true,
        "description": "The gateway forwards the selected OCR model's JSON, not a universal data envelope. Typical text/blocks are described here but are not guaranteed across all models; consult the selected service output schema.",
        "properties": {
          "blocks": {
            "items": {
              "properties": {
                "bbox": {
                  "items": {
                    "type": "number"
                  },
                  "type": "array"
                },
                "confidence": {
                  "type": "number"
                },
                "text": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "pages": {
            "items": {
              "properties": {
                "blocks": {
                  "items": {
                    "properties": {
                      "bbox": {
                        "items": {
                          "type": "number"
                        },
                        "type": "array"
                      },
                      "text": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "page": {
                  "type": "integer"
                },
                "text": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "text": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "OpenAPIDocument": {
        "properties": {
          "components": {
            "type": "object"
          },
          "info": {
            "properties": {
              "description": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "version": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "openapi": {
            "type": "string"
          },
          "paths": {
            "additionalProperties": {
              "type": "object"
            },
            "type": "object"
          },
          "servers": {
            "items": {
              "properties": {
                "url": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "openapi",
          "info",
          "paths"
        ],
        "type": "object"
      },
      "PromptOptimizationMediaSpec": {
        "additionalProperties": false,
        "description": "Only these six selectable dimensions are decoded; required values depend on the selected generation mode.",
        "properties": {
          "imageCount": {
            "type": "integer"
          },
          "orientation": {
            "type": "string"
          },
          "outputSizeCode": {
            "type": "string"
          },
          "qualityTier": {
            "type": "string"
          },
          "resolutionTier": {
            "type": "string"
          },
          "seconds": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PromptOptimizationRequest": {
        "additionalProperties": false,
        "properties": {
          "audioReferencePolicy": {
            "description": "Required when H3 audio references are present. Only image/video are understood; audio is retained by explicit text intent, never analyzed.",
            "enum": [
              "preserve_without_understanding"
            ],
            "type": "string"
          },
          "clientRequestId": {
            "maxLength": 128,
            "minLength": 8,
            "pattern": "^[A-Za-z0-9._:-]+$",
            "type": "string"
          },
          "generationMode": {
            "description": "Allowed modes are published by the selected service promptOptimization.profiles.",
            "type": "string"
          },
          "mediaSpec": {
            "$ref": "#/components/schemas/PromptOptimizationMediaSpec"
          },
          "model": {
            "description": "Public model alias from GET /v1/services.",
            "type": "string"
          },
          "originalPrompt": {
            "description": "H3 typed-media/v1 supports 7000 Unicode code points; other profiles retain their advertised lower limit.",
            "maxLength": 7000,
            "minLength": 1,
            "type": "string"
          },
          "referenceInputs": {
            "description": "Use uploaded owner asset IDs. H3 typed roles: first_frame/last_frame, or reference_image (0..9), reference_video (0..1), reference_audio (0..3), at least one visual, at most 12 total. Same-kind array order determines numbering; other profiles retain their advertised roles.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "assetId": {
                  "type": "string"
                },
                "role": {
                  "type": "string"
                }
              },
              "required": [
                "role",
                "assetId"
              ],
              "type": "object"
            },
            "maxItems": 12,
            "type": "array"
          },
          "style": {
            "description": "Optional H3 typed-media/v1 creative style preference.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "clientRequestId",
          "model",
          "generationMode",
          "originalPrompt",
          "mediaSpec",
          "referenceInputs"
        ],
        "type": "object"
      },
      "PromptOptimizationResponse": {
        "additionalProperties": false,
        "properties": {
          "optimization": {
            "additionalProperties": false,
            "properties": {
              "createdAt": {
                "format": "date-time",
                "type": "string"
              },
              "expiresAt": {
                "format": "date-time",
                "type": "string"
              },
              "generationMode": {
                "type": "string"
              },
              "noticeCodes": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "optimizationId": {
                "type": "string"
              },
              "optimizedPrompt": {
                "maxLength": 7000,
                "type": "string"
              },
              "originalPrompt": {
                "type": "string"
              },
              "outcome": {
                "type": "string"
              },
              "serviceKind": {
                "type": "string"
              },
              "status": {
                "const": "succeeded",
                "type": "string"
              }
            },
            "required": [
              "optimizationId",
              "serviceKind",
              "generationMode",
              "originalPrompt",
              "optimizedPrompt",
              "status",
              "createdAt",
              "expiresAt"
            ],
            "type": "object"
          },
          "requestId": {
            "type": "string"
          }
        },
        "required": [
          "requestId",
          "optimization"
        ],
        "type": "object"
      },
      "PublicError": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "details": {
            "additionalProperties": true,
            "type": "object"
          },
          "message": {
            "type": "string"
          },
          "requestId": {
            "description": "Server-generated request identifier.",
            "type": "string"
          },
          "retryable": {
            "type": "boolean"
          }
        },
        "required": [
          "code",
          "message",
          "requestId",
          "retryable"
        ],
        "type": "object"
      },
      "PublicModel": {
        "properties": {
          "id": {
            "type": "string"
          },
          "mediaSpecContract": {
            "properties": {
              "parameters": {
                "items": {
                  "properties": {
                    "description": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "required": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "version": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "object": {
            "const": "model",
            "type": "string"
          },
          "owned_by": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "object",
          "owned_by"
        ],
        "type": "object"
      },
      "PublicModelList": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicModel"
            },
            "type": "array"
          },
          "object": {
            "const": "list",
            "type": "string"
          }
        },
        "required": [
          "object",
          "data"
        ],
        "type": "object"
      },
      "PublicService": {
        "properties": {
          "apiUsageContract": {
            "additionalProperties": true,
            "description": "Live public operations, fields and examples for the selected model.",
            "type": "object"
          },
          "available": {
            "type": "boolean"
          },
          "endpoints": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "mediaSpecContract": {
            "additionalProperties": true,
            "description": "Live model-specific required fields, allowed values, mode/input composition and media size limits.",
            "type": "object"
          },
          "modelAlias": {
            "type": "string"
          },
          "object": {
            "type": "string"
          },
          "promptOptimization": {
            "additionalProperties": true,
            "description": "Availability, profiles, typed reference roles/limits and timeout for independent optimization.",
            "type": "object"
          },
          "serviceDisplayName": {
            "type": "string"
          },
          "serviceKind": {
            "type": "string"
          }
        },
        "required": [
          "modelAlias",
          "serviceKind"
        ],
        "type": "object"
      },
      "PublicServiceList": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PublicService"
            },
            "type": "array"
          },
          "object": {
            "const": "list",
            "type": "string"
          }
        },
        "required": [
          "object",
          "data"
        ],
        "type": "object"
      },
      "RerankRequest": {
        "properties": {
          "documents": {
            "items": {
              "maxLength": 8192,
              "type": "string"
            },
            "maxItems": 256,
            "minItems": 1,
            "type": "array"
          },
          "model": {
            "description": "Public rerank alias.",
            "type": "string"
          },
          "query": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "top_n": {
            "description": "Only send if the selected model supports it; query and documents together \u003c=65536 Unicode characters.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "model",
          "query",
          "documents"
        ],
        "type": "object"
      },
      "RerankResponse": {
        "properties": {
          "id": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "results": {
            "items": {
              "properties": {
                "document": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "properties": {
                        "text": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  ]
                },
                "index": {
                  "type": "integer"
                },
                "relevance_score": {
                  "type": "number"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "usage": {
            "$ref": "#/components/schemas/TokenUsage"
          }
        },
        "type": "object"
      },
      "SynchronousMediaResponse": {
        "additionalProperties": true,
        "description": "Raw JSON from a synchronous media service, not a job envelope. The selected service defines its exact output schema; the optional fields below describe common image-compatible results and are not required for every backend.",
        "properties": {
          "created": {
            "type": "integer"
          },
          "data": {
            "items": {
              "properties": {
                "b64_json": {
                  "type": "string"
                },
                "revised_prompt": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "usage": {
            "properties": {
              "total_tokens": {
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "TokenUsage": {
        "properties": {
          "completion_tokens": {
            "type": "integer"
          },
          "prompt_tokens": {
            "type": "integer"
          },
          "total_tokens": {
            "type": "integer"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "bearerFormat": "Account API Key",
        "scheme": "bearer",
        "type": "http"
      },
      "inputAssetReadToken": {
        "description": "Short-lived platform-signed input read token. Use an issued URL unchanged; an API key is not a substitute.",
        "in": "query",
        "name": "token",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "description": "Account API Key data-plane contract. Model-specific request fields and media limits are published dynamically by GET /v1/services.",
    "title": "JuSuan Public AI API",
    "version": "1.0.0"
  },
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "openapi": "3.1.0",
  "paths": {
    "/v1/admission/preview": {
      "post": {
        "operationId": "previewAdmission",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdmissionPreviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdmissionPreviewResponse"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Preview media admission"
      }
    },
    "/v1/assets/input": {
      "post": {
        "operationId": "uploadInputAsset",
        "parameters": [
          {
            "description": "Model alias that scopes the API key publication used to authorize this job or asset.",
            "in": "query",
            "name": "model",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "description": "Upload one file using the selected service's mediaSpecContract limits from GET /v1/services. General limits: PNG/JPEG/WebP images 16MiB, WAV audio 25MiB, MP4 video 128MiB. H3 universal references: images 30MiB, MP4 video 50MiB, audio 15MiB in WAV/MP3/FLAC/M4A/AAC/OGG or MOV containing an audio track. Upload H3 MOV using the audio field; original bytes remain reference_audio, not reference_video. H3 audio: 2..15 seconds each, 15 seconds combined, at most 3 clips. H3 first/last-frame images retain their own 16MiB limits.",
                "oneOf": [
                  {
                    "required": [
                      "image"
                    ]
                  },
                  {
                    "required": [
                      "video"
                    ]
                  },
                  {
                    "required": [
                      "audio"
                    ]
                  },
                  {
                    "required": [
                      "file"
                    ]
                  }
                ],
                "properties": {
                  "audio": {
                    "contentEncoding": "binary",
                    "type": "string"
                  },
                  "file": {
                    "contentEncoding": "binary",
                    "type": "string"
                  },
                  "image": {
                    "contentEncoding": "binary",
                    "type": "string"
                  },
                  "video": {
                    "contentEncoding": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InputAssetUploadResponse"
                }
              }
            },
            "description": "Input asset created or reused within the same API key and publication scope"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Upload an immutable input asset"
      }
    },
    "/v1/assets/input/{id}/content": {
      "get": {
        "description": "Read an already issued, short-lived platform-signed image/video URL. A Bearer key alone does not authorize this route. Do not construct a token, change URL parameters, log the URL or treat this as the result-download endpoint. Invalid/expired token returns 401 invalid_input_asset_token.",
        "operationId": "readInputAsset",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Authorized media content; HEAD returns headers only. No JSON body envelope. Retry this read without recreating the job.",
            "headers": {
              "Content-Length": {
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string"
                }
              },
              "ETag": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "inputAssetReadToken": []
          }
        ],
        "summary": "Read an input asset"
      }
    },
    "/v1/assets/{id}/content": {
      "get": {
        "operationId": "readAsset",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Model alias that scopes the API key publication used to authorize this job or asset.",
            "in": "query",
            "name": "model",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Authorized media content; HEAD returns headers only. No JSON body envelope. Retry this read without recreating the job.",
            "headers": {
              "Content-Length": {
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string"
                }
              },
              "ETag": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Read a generated asset"
      },
      "head": {
        "operationId": "headAsset",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Model alias that scopes the API key publication used to authorize this job or asset.",
            "in": "query",
            "name": "model",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Authorized media content; HEAD returns headers only. No JSON body envelope. Retry this read without recreating the job.",
            "headers": {
              "Content-Length": {
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string"
                }
              },
              "ETag": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Read generated asset metadata"
      }
    },
    "/v1/audio/generations": {
      "post": {
        "operationId": "createAudioGeneration",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AudioGenerationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/MediaJob"
                    },
                    {
                      "$ref": "#/components/schemas/SynchronousMediaResponse"
                    }
                  ]
                }
              }
            },
            "description": "A replayed asynchronous job, or a synchronous result for services whose execution mode is synchronous. H3 uses the MediaJob branch. Inspect the selected service execution contract."
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaJob"
                }
              }
            },
            "description": "Asynchronous media job accepted or still in progress. Follow the absolute jobUrl (also returned as Location) using the same API key and wait for the advertised Retry-After interval.",
            "headers": {
              "Location": {
                "description": "Absolute authenticated polling URL; identical to response.jobUrl.",
                "schema": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "Retry-After": {
                "description": "Suggested seconds before the next poll.",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create audio",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-media-spec-contract-source": "/v1/services[].mediaSpecContract",
        "x-jusp-service-kinds": [
          "audio_generation"
        ]
      }
    },
    "/v1/audio/transcriptions": {
      "post": {
        "operationId": "createAudioTranscription",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AudioTranscriptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AudioTranscriptionResponse"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Transcribe audio",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-service-kinds": [
          "audio_transcription"
        ]
      }
    },
    "/v1/audio/voices": {
      "get": {
        "operationId": "listVoices",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogVoiceList"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List public voices"
      }
    },
    "/v1/audio/voices/{id}": {
      "get": {
        "operationId": "getVoice",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogVoice"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get a public voice"
      }
    },
    "/v1/chat/completions": {
      "post": {
        "operationId": "createChatCompletion",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChatResponse"
                }
              },
              "text/event-stream": {
                "schema": {
                  "description": "SSE data frames carrying completion chunks; handle partial output and stream interruption separately from HTTP success.",
                  "type": "string"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a chat completion",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-service-kinds": [
          "text_chat",
          "vision_chat"
        ]
      }
    },
    "/v1/documents/parse": {
      "post": {
        "operationId": "createDocumentParse",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DocumentParseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaJob"
                }
              }
            },
            "description": "Successful response"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaJob"
                }
              }
            },
            "description": "Asynchronous media job accepted or still in progress. Follow the absolute jobUrl (also returned as Location) using the same API key and wait for the advertised Retry-After interval.",
            "headers": {
              "Location": {
                "description": "Absolute authenticated polling URL; identical to response.jobUrl.",
                "schema": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "Retry-After": {
                "description": "Suggested seconds before the next poll.",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Parse a document into structured artifacts",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-service-kinds": [
          "document_parse"
        ]
      }
    },
    "/v1/embeddings": {
      "post": {
        "operationId": "createEmbedding",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmbeddingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmbeddingResponse"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create embeddings",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-service-kinds": [
          "embedding"
        ]
      }
    },
    "/v1/images/generations": {
      "post": {
        "operationId": "createImageGeneration",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImageGenerationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/MediaJob"
                    },
                    {
                      "$ref": "#/components/schemas/SynchronousMediaResponse"
                    }
                  ]
                }
              }
            },
            "description": "A replayed asynchronous job, or a synchronous result for services whose execution mode is synchronous. H3 uses the MediaJob branch. Inspect the selected service execution contract."
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaJob"
                }
              }
            },
            "description": "Asynchronous media job accepted or still in progress. Follow the absolute jobUrl (also returned as Location) using the same API key and wait for the advertised Retry-After interval.",
            "headers": {
              "Location": {
                "description": "Absolute authenticated polling URL; identical to response.jobUrl.",
                "schema": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "Retry-After": {
                "description": "Suggested seconds before the next poll.",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create an image",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-media-spec-contract-source": "/v1/services[].mediaSpecContract",
        "x-jusp-service-kinds": [
          "image_generation"
        ]
      }
    },
    "/v1/jobs/{id}": {
      "get": {
        "operationId": "getJob",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Model alias that scopes the API key publication used to authorize this job or asset.",
            "in": "query",
            "name": "model",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaJob"
                }
              }
            },
            "description": "Job snapshot. 202 means accepted/in progress, not completed. Read status; replay can return a terminal status. H3 has no user cancellation API."
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaJob"
                }
              }
            },
            "description": "Job snapshot. 202 means accepted/in progress, not completed. Read status; replay can return a terminal status. H3 has no user cancellation API.",
            "headers": {
              "Location": {
                "description": "Absolute authenticated polling URL; identical to response.jobUrl.",
                "schema": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "Retry-After": {
                "description": "Suggested seconds before the next poll.",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Get an asynchronous media job"
      }
    },
    "/v1/media/generations": {
      "post": {
        "description": "Create a billable video job. Persist the request, idempotency key and returned jobId. If acceptance is unknown, replay only the same body/key under the same identity; once jobId is known, query that job. Inputs must be uploaded first. Prompt optimization is an optional separate call. See the media workflow for H3 mode-specific fields.",
        "operationId": "createMediaGeneration",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          },
          {
            "description": "Strongly recommended stable business key. Required for safe replay after an unknown result. Reusing a key with a different canonical request conflicts.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MediaGenerationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/MediaJob"
                    },
                    {
                      "$ref": "#/components/schemas/SynchronousMediaResponse"
                    }
                  ]
                }
              }
            },
            "description": "A replayed asynchronous job, or a synchronous result for services whose execution mode is synchronous. H3 uses the MediaJob branch. Inspect the selected service execution contract."
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MediaJob"
                }
              }
            },
            "description": "Job snapshot. 202 means accepted/in progress, not completed. Read status; replay can return a terminal status. H3 has no user cancellation API.",
            "headers": {
              "Location": {
                "description": "Absolute authenticated polling URL; identical to response.jobUrl.",
                "schema": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "Retry-After": {
                "description": "Suggested seconds before the next poll.",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create media",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-media-spec-contract-source": "/v1/services[].mediaSpecContract",
        "x-jusp-service-kinds": [
          "video_generation"
        ]
      }
    },
    "/v1/media/prompt-optimizations": {
      "post": {
        "operationId": "createPromptOptimization",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          },
          {
            "description": "Must exactly equal clientRequestId. Replay the same body with the same key after an uncertain network result.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "maxLength": 128,
              "minLength": 8,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromptOptimizationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromptOptimizationResponse"
                }
              }
            },
            "description": "Prompt optimization completed and persisted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Optimize a media prompt",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-prompt-optimization-capability-source": "/v1/services[].promptOptimization",
        "x-jusp-service-kinds": [
          "video_generation"
        ]
      }
    },
    "/v1/models": {
      "get": {
        "operationId": "listModels",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicModelList"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List available model aliases"
      }
    },
    "/v1/ocr": {
      "post": {
        "operationId": "createDocumentOCR",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OCRRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OCRResponse"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Extract document text",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-service-kinds": [
          "document_ocr"
        ]
      }
    },
    "/v1/openapi.json": {
      "get": {
        "operationId": "getOpenAPI",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIDocument"
                }
              }
            },
            "description": "OpenAPI 3.1 document generated from the installed public route registry"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [],
        "summary": "Read the generated public API contract"
      }
    },
    "/v1/rerank": {
      "post": {
        "operationId": "createRerank",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RerankRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RerankResponse"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Rerank documents",
        "x-jusp-api-usage-contract-source": "/v1/services[].apiUsageContract",
        "x-jusp-service-kinds": [
          "rerank"
        ]
      }
    },
    "/v1/services": {
      "get": {
        "operationId": "listServices",
        "parameters": [
          {
            "description": "Optional visible ASCII client correlation value, at most 512 bytes. It never replaces the server requestId.",
            "in": "header",
            "name": "X-Client-Request-Id",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            }
          },
          {
            "description": "Optional exact service-kind filter.",
            "in": "query",
            "name": "serviceKind",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicServiceList"
                }
              }
            },
            "description": "Successful response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Conflict"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Request Entity Too Large"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Bad Gateway"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Service Unavailable"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicError"
                }
              }
            },
            "description": "Gateway Timeout"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List available services and dynamic media contracts",
        "x-jusp-dynamic-contract-authority": "Each service item publishes the conditional request fields, allowed values, media limits, and input roles for that model alias."
      }
    }
  },
  "servers": [
    {
      "url": "/"
    }
  ]
}
