{"owner":"ollama","repo":"ollama","hasSpec":true,"specFile":"docs/openapi.yaml","branch":"HEAD","format":"yaml","version":"3.x (YAML)","title":"ollama","description":"","endpoints":[],"spec":"openapi: 3.1.0\ninfo:\n  title: Ollama API\n  version: 0.1.0\n  license:\n    name: MIT\n    url: https://opensource.org/licenses/MIT\n  description: |\n    OpenAPI specification for the Ollama HTTP API\nservers:\n  - url: http://localhost:11434\n    description: Ollama\nsecurity: []\ncomponents:\n  securitySchemes:\n    bearerAuth:\n      type: http\n      scheme: bearer\n      bearerFormat: API Key\n  parameters:\n    DigestParam:\n      name: digest\n      in: path\n      required: true\n      description: SHA256 digest identifier, prefixed with `sha256:`\n      schema:\n        type: string\n  schemas:\n    ModelOptions:\n      type: object\n      description: Runtime options that control text generation\n      properties:\n        # Sampling Options\n        seed:\n          type: integer\n          description: Random seed used for reproducible outputs\n        temperature:\n          type: number\n          format: float\n          description: Controls randomness in generation (higher = more random)\n        top_k:\n          type: integer\n          description: Limits next token selection to the K most likely\n        top_p:\n          type: number\n          format: float\n          description: Cumulative probability threshold for nucleus sampling\n        min_p:\n          type: number\n          format: float\n          description: Minimum probability threshold for token selection\n        stop:\n          oneOf:\n            - type: string\n            - type: array\n              items:\n                type: string\n          description: Stop sequences that will halt generation\n\n        # Runtime Options\n        num_ctx:\n          type: integer\n          description: Context length size (number of tokens)\n        num_predict:\n          type: integer\n          description: Maximum number of tokens to generate\n      additionalProperties: true\n    GenerateRequest:\n      type: object\n      required: [model]\n      properties:\n        model:\n          type: string\n          description: Model name\n        prompt:\n          type: string\n          description: Text for the model to generate a response from\n        suffix:\n          type: string\n          description: Used for fill-in-the-middle models, text that appears after the user prompt and before the model response\n        images:\n          type: array\n          items:\n            type: string\n            description: Base64-encoded images for models that support image input\n        format:\n          description: Structured output format for the model to generate a response from. Supports either the string `\"json\"` or a JSON schema object.\n          oneOf:\n            - type: string\n            - type: object\n        system:\n          description: System prompt for the model to generate a response from\n          type: string\n        stream:\n          description: When true, returns a stream of partial responses\n          type: boolean\n          default: true\n        think:\n          oneOf:\n            - type: boolean\n            - type: string\n              enum: [high, medium, low, max]\n          description: When true, returns separate thinking output in addition to content. Can be a boolean (true/false) or a string (\"high\", \"medium\", \"low\", \"max\") for supported models, with \"max\" requesting the highest thinking level.\n        raw:\n          type: boolean\n          description: When true, returns the raw response from the model without any prompt templating\n        keep_alive:\n          oneOf:\n            - type: string\n            - type: number\n          description: Model keep-alive duration (for example `5m` or `0` to unload immediately)\n        options:\n          $ref: \"#/components/schemas/ModelOptions\"\n        logprobs:\n          type: boolean\n          description: Whether to return log probabilities of the output tokens\n        top_logprobs:\n          type: integer\n          description: Number of most likely tokens to return at each token position when logprobs are enabled\n    GenerateResponse:\n      type: object\n      properties:\n        model:\n          type: string\n          description: Model name\n        created_at:\n          type: string\n          description: ISO 8601 timestamp of response creation\n        response:\n          type: string\n          description: The model's generated text response\n        thinking:\n          type: string\n          description: The model's generated thinking output\n        done:\n          type: boolean\n          description: Indicates whether generation has finished\n        done_reason:\n          type: string\n          description: Reason the generation stopped\n        total_duration:\n          type: integer\n          description: Time spent generating the response in nanoseconds\n        load_duration:\n          type: integer\n          description: Time spent loading the model in nanoseconds\n        prompt_eval_count:\n          type: integer\n          description: Number of input tokens in the prompt\n        prompt_eval_duration:\n          type: integer\n          description: Time spent evaluating the prompt in nanoseconds\n        eval_count:\n          type: integer\n          description: Number of output tokens generated in the response\n        eval_duration:\n          type: integer\n          description: Time spent generating tokens in nanoseconds\n        logprobs:\n          type: array\n          items:\n            $ref: \"#/components/schemas/Logprob\"\n          description: Log probability information for the generated tokens when logprobs are enabled\n    GenerateStreamEvent:\n      type: object\n      properties:\n        model:\n          type: string\n          description: Model name\n        created_at:\n          type: string\n          description: ISO 8601 timestamp of response creation\n        response:\n          type: string\n          description: The model's generated text response for this chunk\n        thinking:\n          type: string\n          description: The model's generated thinking output for this chunk\n        done:\n          type: boolean\n          description: Indicates whether the stream has finished\n        done_reason:\n          type: string\n          description: Reason streaming finished\n        total_duration:\n          type: integer\n          description: Time spent generating the response in nanoseconds\n        load_duration:\n          type: integer\n          description: Time spent loading the model in nanoseconds\n        prompt_eval_count:\n          type: integer\n          description: Number of input tokens in the prompt\n        prompt_eval_duration:\n          type: integer\n          description: Time spent evaluating the prompt in nanoseconds\n        eval_count:\n          type: integer\n          description: Number of output tokens generated in the response\n        eval_duration:\n          type: integer\n          description: Time spent generating tokens in nanoseconds\n    ChatMessage:\n      type: object\n      required: [role, content]\n      properties:\n        role:\n          type: string\n          enum: [system, user, assistant, tool]\n          description: Author of the message.\n        content:\n          type: string\n          description: Message text content\n        images:\n          type: array\n          items:\n            type: string\n            description: Base64-encoded image content\n          description: Optional list of inline images for multimodal models\n        tool_calls:\n          type: array\n          items:\n            $ref: \"#/components/schemas/ToolCall\"\n          description: Tool call requests produced by the model\n    ToolCall:\n      type: object\n      properties:\n        function:\n          type: object\n          required: [name]\n          properties:\n            name:\n              type: string\n              description: Name of the function to call\n            description:\n              type: string\n              description: What the function does\n            arguments:\n              type: object\n              description: JSON object of arguments to pass to the function\n    ToolDefinition:\n      type: object\n      required: [type, function]\n      properties:\n        type:\n          type: string\n          enum: [function]\n          description: Type of tool (always `function`)\n        function:\n          type: object\n          required: [name, parameters]\n          properties:\n            name:\n              type: string\n              description: Function name exposed to the model\n            description:\n              type: string\n              description: Human-readable description of the function\n            parameters:\n              type: object\n              description: JSON Schema for the function parameters\n    ChatRequest:\n      type: object\n      required: [model, messages]\n      properties:\n        model:\n          type: string\n          description: Model name\n        messages:\n          type: array\n          description: Chat history as an array of message objects (each with a role and content)\n          items:\n            $ref: \"#/components/schemas/ChatMessage\"\n        tools:\n          type: array\n          description: Optional list of function tools the model may call during the chat\n          items:\n            $ref: \"#/components/schemas/ToolDefinition\"\n        format:\n          oneOf:\n            - type: string\n              enum: [json]\n            - type: object\n          description: Format to return a response in. Can be `json` or a JSON schema\n        options:\n          $ref: \"#/components/schemas/ModelOptions\"\n        stream:\n          type: boolean\n          default: true\n        think:\n          oneOf:\n            - type: boolean\n            - type: string\n              enum: [high, medium, low, max]\n          description: When true, returns separate thinking output in addition to content. Can be a boolean (true/false) or a string (\"high\", \"medium\", \"low\", \"max\") for supported models, with \"max\" requesting the highest thinking level.\n        keep_alive:\n          oneOf:\n            - type: string\n            - type: number\n          description: Model keep-alive duration (for example `5m` or `0` to unload immediately)\n        logprobs:\n          type: boolean\n          description: Whether to return log probabilities of the output tokens\n        top_logprobs:\n          type: integer\n          description: Number of most likely tokens to return at each token position when logprobs are enabled\n    ChatResponse:\n      type: object\n      properties:\n        model:\n          type: string\n          description: Model name used to generate this message\n        created_at:\n          type: string\n          format: date-time\n          description: Timestamp of response creation (ISO 8601)\n        message:\n          type: object\n          properties:\n            role:\n              type: string\n              enum: [assistant]\n              description: Always `assistant` for model responses\n            content:\n              type: string\n              description: Assistant message text\n            thinking:\n              type: string\n              description: Optional deliberate thinking trace when `think` is enabled\n            tool_calls:\n              type: array\n              items:\n                $ref: \"#/components/schemas/ToolCall\"\n              description: Tool calls requested by the assistant\n            images:\n              type: array\n              items:\n                type: string\n              description: Optional base64-encoded images in the response\n        done:\n          type: boolean\n          description: Indicates whether the chat response has finished\n        done_reason:\n          type: string\n          description: Reason the response finished\n        total_duration:\n          type: integer\n          description: Total time spent generating in nanoseconds\n        load_duration:\n          type: integer\n          description: Time spent loading the model in nanoseconds\n        prompt_eval_count:\n          type: integer\n          description: Number of tokens in the prompt\n        prompt_eval_duration:\n          type: integer\n          description: Time spent evaluating the prompt in nanoseconds\n        eval_count:\n          type: integer\n          description: Number of tokens generated in the response\n        eval_duration:\n          type: integer\n          description: Time spent generating tokens in nanoseconds\n        logprobs:\n          type: array\n          items:\n            $ref: \"#/components/schemas/Logprob\"\n          description: Log probability information for the generated tokens when logprobs are enabled\n    ChatStreamEvent:\n      type: object\n      properties:\n        model:\n          type: string\n          description: Model name used for this stream event\n        created_at:\n          type: string\n          format: date-time\n          description: When this chunk was created (ISO 8601)\n        message:\n          type: object\n          properties:\n            role:\n              type: string\n              description: Role of the message for this chunk\n            content:\n              type: string\n              description: Partial assistant message text\n            thinking:\n              type: string\n              description: Partial thinking text when `think` is enabled\n            tool_calls:\n              type: array\n              items:\n                $ref: \"#/components/schemas/ToolCall\"\n              description: Partial tool calls, if any\n            images:\n              type: array\n              items:\n                type: string\n              description: Partial base64-encoded images, when present\n        done:\n          type: boolean\n          description: True for the final event in the stream\n    StatusEvent:\n      type: object\n      properties:\n        status:\n          type: string\n          description: Human-readable status message\n        digest:\n          type: string\n          description: Content digest associated with the status, if applicable\n        total:\n          type: integer\n          description: Total number of bytes expected for the operation\n        completed:\n          type: integer\n          description: Number of bytes transferred so far\n    StatusResponse:\n      type: object\n      properties:\n        status:\n          type: string\n          description: Current status message\n    EmbedRequest:\n      type: object\n      required: [model, input]\n      properties:\n        model:\n          type: string\n          description: Model name\n        input:\n          oneOf:\n            - type: string\n            - type: array\n              items:\n                type: string\n          description: Text or array of texts to generate embeddings for\n        truncate:\n          type: boolean\n          default: true\n          description: If true, truncate inputs that exceed the context window. If false, returns an error.\n        dimensions:\n          type: integer\n          description: Number of dimensions to generate embeddings for\n        keep_alive:\n          type: string\n          description: Model keep-alive duration\n        options:\n          $ref: \"#/components/schemas/ModelOptions\"\n    EmbedResponse:\n      type: object\n      properties:\n        model:\n          type: string\n          description: Model that produced the embeddings\n        embeddings:\n          type: array\n          items:\n            type: array\n            items:\n              type: number\n          description: Array of vector embeddings\n        total_duration:\n          type: integer\n          description: Total time spent generating in nanoseconds\n        load_duration:\n          type: integer\n          description: Load time in nanoseconds\n        prompt_eval_count:\n          type: integer\n          description: Number of input tokens processed to generate embeddings\n    CreateRequest:\n      type: object\n      required: [model]\n      properties:\n        model:\n          type: string\n          description: Name for the model to create\n        from:\n          type: string\n          description: Existing model to create from\n        template:\n          type: string\n          description: Prompt template to use for the model\n        renderer:\n          type: string\n          description: Name of the renderer for the model\n        parser:\n          type: string\n          description: Name of the parser for the model\n        license:\n          oneOf:\n            - type: string\n            - type: array\n              items:\n                type: string\n          description: License string or list of licenses for the model\n        system:\n          type: string\n          description: System prompt to embed in the model\n        parameters:\n          type: object\n          description: Key-value parameters for the model\n        messages:\n          description: Message history to use for the model\n          type: array\n          items:\n            $ref: \"#/components/schemas/ChatMessage\"\n        quantize:\n          type: string\n          description: Quantization level to apply (e.g. `q4_K_M`, `q8_0`)\n        stream:\n          type: boolean\n          default: true\n          description: Stream status updates\n    CopyRequest:\n      type: object\n      required: [source, destination]\n      properties:\n        source:\n          type: string\n          description: Existing model name to copy from\n        destination:\n          type: string\n          description: New model name to create\n    DeleteRequest:\n      type: object\n      required: [model]\n      properties:\n        model:\n          type: string\n          description: Model name to delete\n    PullRequest:\n      type: object\n      required: [model]\n      properties:\n        model:\n          type: string\n          description: Name of the model to download\n        insecure:\n          type: boolean\n          description: Allow downloading over insecure connections\n        stream:\n          type: boolean\n          default: true\n          description: Stream progress updates\n    PushRequest:\n      type: object\n      required: [model]\n      properties:\n        model:\n          type: string\n          description: Name of the model to publish\n        insecure:\n          type: boolean\n          description: Allow publishing over insecure connections\n        stream:\n          type: boolean\n          default: true\n          description: Stream progress updates\n    ShowRequest:\n      type: object\n      required: [model]\n      properties:\n        model:\n          type: string\n          description: Model name to show\n        verbose:\n          type: boolean\n          description: If true, includes large verbose fields in the response.\n    ShowResponse:\n      type: object\n      properties:\n        parameters:\n          type: string\n          description: Model parameter settings serialized as text\n        license:\n          type: string\n          description: The license of the model\n        modified_at:\n          type: string\n          description: Last modified timestamp in ISO 8601 format\n        details:\n          type: object\n          description: High-level model details\n        template:\n          type: string\n          description: The template used by the model to render prompts\n        capabilities:\n          type: array\n          items:\n            type: string\n          description: List of supported features\n        model_info:\n          type: object\n          description: Additional model metadata\n    ModelSummary:\n      type: object\n      description: Summary information for a locally available model\n      properties:\n        name:\n          type: string\n          description: Model name\n        model:\n          type: string\n          description: Model name\n        remote_model:\n          type: string\n          description: Name of the upstream model, if the model is remote\n        remote_host:\n          type: string\n          description: URL of the upstream Ollama host, if the model is remote\n        modified_at:\n          type: string\n          description: Last modified timestamp in ISO 8601 format\n        size:\n          type: integer\n          description: Total size of the model on disk in bytes\n        digest:\n          type: string\n          description: SHA256 digest identifier of the model contents\n        details:\n          type: object\n          description: Additional information about the model's format and family\n          properties:\n            format:\n              type: string\n              description: Model file format (for example `gguf`)\n            family:\n              type: string\n              description: Primary model family (for example `llama`)\n            families:\n              type: array\n              items:\n                type: string\n              description: All families the model belongs to, when applicable\n            parameter_size:\n              type: string\n              description: Approximate parameter count label (for example `7B`, `13B`)\n            quantization_level:\n              type: string\n              description: Quantization level used (for example `Q4_0`)\n    ListResponse:\n      type: object\n      properties:\n        models:\n          type: array\n          items:\n            $ref: \"#/components/schemas/ModelSummary\"\n    Ps:\n      type: object\n      properties:\n        name:\n          type: string\n          description: Name of the running model\n        model:\n          type: string\n          description: Name of the running model\n        size:\n          type: integer\n          description: Size of the model in bytes\n        digest:\n          type: string\n          description: SHA256 digest of the model\n        details:\n          type: object\n          description: Model details such as format and family\n        expires_at:\n          type: string\n          description: Time when the model will be unloaded\n        size_vram:\n          type: integer\n          description: VRAM usage in bytes\n        context_length:\n          type: integer\n          description: Context length for the running model\n    PsResponse:\n      type: object\n      properties:\n        models:\n          type: array\n          items:\n            $ref: \"#/components/schemas/Ps\"\n          description: Currently running models\n    WebSearchRequest:\n      type: object\n      required: [query]\n      properties:\n        query:\n          type: string\n          description: Search query string\n        max_results:\n          type: integer\n          minimum: 1\n          maximum: 10\n          default: 5\n          description: Maximum number of results to return\n    WebSearchResult:\n      type: object\n      properties:\n        title:\n          type: string\n          description: Page title of the result\n        url:\n          type: string\n          format: uri\n          description: Resolved URL for the result\n        content:\n          type: string\n          description: Extracted text content snippet\n    WebSearchResponse:\n      type: object\n      properties:\n        results:\n          type: array\n          items:\n            $ref: \"#/components/schemas/WebSearchResult\"\n          description: Array of matching search results\n    WebFetchRequest:\n      type: object\n      required: [url]\n      properties:\n        url:\n          type: string\n          format: uri\n          description: The URL to fetch\n    WebFetchResponse:\n      type: object\n      properties:\n        title:\n          type: string\n          description: Title of the fetched page\n        content:\n          type: string\n          description: Extracted page content\n        links:\n          type: array\n          items:\n            type: string\n            format: uri\n          description: Links found on the page\n    VersionResponse:\n      type: object\n      properties:\n        version:\n          type: string\n          description: Version of Ollama\n    TokenLogprob:\n      type: object\n      description: Log probability information for a single token alternative\n      properties:\n        token:\n          type: string\n          description: The text representation of the token\n        logprob:\n          type: number\n          description: The log probability of this token\n        bytes:\n          type: array\n          items:\n            type: integer\n          description: The raw byte representation of the token\n    Logprob:\n      type: object\n      description: Log probability information for a generated token\n      properties:\n        token:\n          type: string\n          description: The text representation of the token\n        logprob:\n          type: number\n          description: The log probability of this token\n        bytes:\n          type: array\n          items:\n            type: integer\n          description: The raw byte representation of the token\n        top_logprobs:\n          type: array\n          items:\n            $ref: \"#/components/schemas/TokenLogprob\"\n          description: Most likely tokens and their log probabilities at this position\n    ErrorResponse:\n      type: object\n      properties:\n        error:\n          type: string\n          description: Error message describing what went wrong\npaths:\n  /api/generate:\n    post:\n      summary: Generate a response\n      description: Generates a response for the provided prompt\n      operationId: generate\n      x-mint:\n        href: /api/generate\n      x-codeSamples:\n        - lang: bash\n          label: Default\n          source: |\n            curl http://localhost:11434/api/generate -d '{\n              \"model\": \"gemma4\",\n              \"prompt\": \"Why is the sky blue?\"\n            }'\n        - lang: bash\n          label: Non-streaming\n          source: |\n            curl http://localhost:11434/api/generate -d '{\n              \"model\": \"gemma4\",\n              \"prompt\": \"Why is the sky blue?\",\n              \"stream\": false\n            }'\n        - lang: bash\n          label: With options\n          source: |\n            curl http://localhost:11434/api/generate -d '{\n              \"model\": \"gemma4\",\n              \"prompt\": \"Why is the sky blue?\",\n              \"options\": {\n                \"temperature\": 0.8,\n                \"top_p\": 0.9,\n                \"seed\": 42\n              }\n            }'\n        - lang: bash\n          label: Structured outputs\n          source: |\n            curl http://localhost:11434/api/generate -d '{\n              \"model\": \"gemma4\",\n              \"prompt\": \"What are the populations of the United States and Canada?\",\n              \"stream\": false,\n              \"format\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"countries\": {\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"country\": {\"type\": \"string\"},\n                        \"population\": {\"type\": \"integer\"}\n                      },\n                      \"required\": [\"country\", \"population\"]\n                    }\n                  }\n                },\n                \"required\": [\"countries\"]\n              }\n            }'\n        - lang: bash\n          label: With images\n          source: |\n            curl http://localhost:11434/api/generate -d '{\n              \"model\": \"gemma4\",\n              \"prompt\": \"What is in this picture?\",\n              \"images\": [\"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\"]\n            }'\n        - lang: bash\n          label: Load model\n          source: |\n            curl http://localhost:11434/api/generate -d '{\n              \"model\": \"gemma4\"\n            }'\n        - lang: bash\n          label: Unload model\n          source: |\n            curl http://localhost:11434/api/generate -d '{\n              \"model\": \"gemma4\",\n              \"keep_alive\": 0\n            }'\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/GenerateRequest\"\n            example:\n              model: gemma4\n              prompt: Why is the sky blue?\n      responses:\n        \"200\":\n          description: Generation responses\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/GenerateResponse\"\n              example:\n                model: \"gemma4\"\n                created_at: \"2025-10-17T23:14:07.414671Z\"\n                response: \"Hello! How can I help you today?\"\n                done: true\n                done_reason: \"stop\"\n                total_duration: 174560334\n                load_duration: 101397084\n                prompt_eval_count: 11\n                prompt_eval_duration: 13074791\n                eval_count: 18\n                eval_duration: 52479709\n            application/x-ndjson:\n              schema:\n                $ref: \"#/components/schemas/GenerateStreamEvent\"\n  /api/chat:\n    post:\n      summary: Generate a chat message\n      description: Generate the next chat message in a conversation between a user and an assistant.\n      operationId: chat\n      x-mint:\n        href: /api/chat\n      x-codeSamples:\n        - lang: bash\n          label: Default\n          source: |\n            curl http://localhost:11434/api/chat -d '{\n              \"model\": \"gemma4\",\n              \"messages\": [\n                {\n                  \"role\": \"user\",\n                  \"content\": \"why is the sky blue?\"\n                }\n              ]\n            }'\n        - lang: bash\n          label: Non-streaming\n          source: |\n            curl http://localhost:11434/api/chat -d '{\n              \"model\": \"gemma4\",\n              \"messages\": [\n                {\n                  \"role\": \"user\",\n                  \"content\": \"why is the sky blue?\"\n                }\n              ],\n              \"stream\": false\n            }'\n        - lang: bash\n          label: Structured outputs\n          source: |\n            curl -X POST http://localhost:11434/api/chat -H \"Content-Type: application/json\" -d '{\n              \"model\": \"gemma4\",\n              \"messages\": [\n                {\n                  \"role\": \"user\",\n                  \"content\": \"What are the populations of the United States and Canada?\"\n                }\n              ],\n              \"stream\": false,\n              \"format\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"countries\": {\n                    \"type\": \"array\",\n                    \"items\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"country\": {\"type\": \"string\"},\n                        \"population\": {\"type\": \"integer\"}\n                      },\n                      \"required\": [\"country\", \"population\"]\n                    }\n                  }\n                },\n                \"required\": [\"countries\"]\n              }\n            }'\n        - lang: bash\n          label: Tool calling\n          source: |\n            curl http://localhost:11434/api/chat -d '{\n              \"model\": \"qwen3\",\n              \"messages\": [\n                {\n                  \"role\": \"user\",\n                  \"content\": \"What is the weather today in Paris?\"\n                }\n              ],\n              \"stream\": false,\n              \"tools\": [\n                {\n                  \"type\": \"function\",\n                  \"function\": {\n                    \"name\": \"get_current_weather\",\n                    \"description\": \"Get the current weather for a location\",\n                    \"parameters\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"location\": {\n                          \"type\": \"string\",\n                          \"description\": \"The location to get the weather for, e.g. San Francisco, CA\"\n                        },\n                        \"format\": {\n                          \"type\": \"string\",\n                          \"description\": \"The format to return the weather in, e.g. 'celsius' or 'fahrenheit'\",\n                          \"enum\": [\"celsius\", \"fahrenheit\"]\n                        }\n                      },\n                      \"required\": [\"location\", \"format\"]\n                    }\n                  }\n                }\n              ]\n            }'\n        - lang: bash\n          label: Thinking\n          source: |\n            curl http://localhost:11434/api/chat -d '{\n              \"model\": \"gpt-oss\",\n              \"messages\": [\n                {\n                  \"role\": \"user\",\n                  \"content\": \"What is 1+1?\"\n                }\n              ],\n              \"think\": \"low\"\n            }'\n        - lang: bash\n          label: Images\n          source: |\n            curl http://localhost:11434/api/chat -d '{\n              \"model\": \"gemma4\",\n              \"messages\": [\n                {\n                  \"role\": \"user\",\n                  \"content\": \"What is in this image?\",\n                  \"images\": [\n                    \"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\"\n                  ]\n                }\n              ]\n            }'\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/ChatRequest\"\n      responses:\n        \"200\":\n          description: Chat response\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/ChatResponse\"\n              example:\n                model: \"gemma4\"\n                created_at: \"2025-10-17T23:14:07.414671Z\"\n                message:\n                  role: \"assistant\"\n                  content: \"Hello! How can I help you today?\"\n                done: true\n                done_reason: \"stop\"\n                total_duration: 174560334\n                load_duration: 101397084\n                prompt_eval_count: 11\n                prompt_eval_duration: 13074791\n                eval_count: 18\n                eval_duration: 52479709\n            application/x-ndjson:\n              schema:\n                $ref: \"#/components/schemas/ChatStreamEvent\"\n  /api/embed:\n    post:\n      summary: Generate embeddings\n      description: Creates vector embeddings representing the input text\n      operationId: embed\n      x-mint:\n        href: /api/embed\n      x-codeSamples:\n        - lang: bash\n          label: Default\n          source: |\n            curl http://localhost:11434/api/embed -d '{\n              \"model\": \"embeddinggemma\",\n              \"input\": \"Why is the sky blue?\"\n            }'\n        - lang: bash\n          label: Multiple inputs\n          source: |\n            curl http://localhost:11434/api/embed -d '{\n              \"model\": \"embeddinggemma\",\n              \"input\": [\n                \"Why is the sky blue?\",\n                \"Why is the grass green?\"\n              ]\n            }'\n        - lang: bash\n          label: Truncation\n          source: |\n            curl http://localhost:11434/api/embed -d '{\n              \"model\": \"embeddinggemma\",\n              \"input\": \"Generate embeddings for this text\",\n              \"truncate\": true\n            }'\n        - lang: bash\n          label: Dimensions\n          source: |\n            curl http://localhost:11434/api/embed -d '{\n              \"model\": \"embeddinggemma\",\n              \"input\": \"Generate embeddings for this text\",\n              \"dimensions\": 128\n            }'\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/EmbedRequest\"\n            example:\n              model: embeddinggemma\n              input: \"Generate embeddings for this text\"\n      responses:\n        \"200\":\n          description: Vector embeddings for the input text\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/EmbedResponse\"\n              example:\n                model: \"embeddinggemma\"\n                embeddings:\n                  - [\n                      0.010071029,\n                      -0.0017594862,\n                      0.05007221,\n                      0.04692972,\n                      0.054916814,\n                      0.008599704,\n                      0.105441414,\n                      -0.025878139,\n                      0.12958129,\n                      0.031952348,\n                    ]\n                total_duration: 14143917\n                load_duration: 1019500\n                prompt_eval_count: 8\n  /api/tags:\n    get:\n      summary: List models\n      description: Fetch a list of models and their details\n      operationId: list\n      x-mint:\n        href: /api/tags\n      x-codeSamples:\n        - lang: bash\n          label: List models\n          source: |\n            curl http://localhost:11434/api/tags\n      responses:\n        \"200\":\n          description: List available models\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/ListResponse\"\n              example:\n                models:\n                  - name: \"gemma4\"\n                    model: \"gemma4\"\n                    modified_at: \"2025-10-03T23:34:03.409490317-07:00\"\n                    size: 9608350245\n                    digest: \"c6eb396dbd5992bbe3f5cdb947e8bbc0ee413d7c17e2beaae69f5d569cf982eb\"\n                    details:\n                      format: \"gguf\"\n                      family: \"gemma4\"\n                      families:\n                        - \"gemma4\"\n                      parameter_size: \"8.0B\"\n                      quantization_level: \"Q4_K_M\"\n  /api/ps:\n    get:\n      summary: List running models\n      description: Retrieve a list of models that are currently running\n      operationId: ps\n      x-mint:\n        href: /api/ps\n      x-codeSamples:\n        - lang: bash\n          label: List running models\n          source: |\n            curl http://localhost:11434/api/ps\n      responses:\n        \"200\":\n          description: Models currently loaded into memory\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/PsResponse\"\n              example:\n                models:\n                  - name: \"gemma4\"\n                    model: \"gemma4\"\n                    size: 6591830464\n                    digest: \"c6eb396dbd5992bbe3f5cdb947e8bbc0ee413d7c17e2beaae69f5d569cf982eb\"\n                    details:\n                      parent_model: \"\"\n                      format: \"gguf\"\n                      family: \"gemma4\"\n                      families:\n                        - \"gemma4\"\n                      parameter_size: \"8.0B\"\n                      quantization_level: \"Q4_K_M\"\n                    expires_at: \"2025-10-17T16:47:07.93355-07:00\"\n                    size_vram: 5333539264\n                    context_length: 4096\n  /api/show:\n    post:\n      summary: Show model details\n      operationId: show\n      x-codeSamples:\n        - lang: bash\n          label: Default\n          source: |\n            curl http://localhost:11434/api/show -d '{\n              \"model\": \"gemma4\"\n            }'\n        - lang: bash\n          label: Verbose\n          source: |\n            curl http://localhost:11434/api/show -d '{\n              \"model\": \"gemma4\",\n              \"verbose\": true\n            }'\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/ShowRequest\"\n            example:\n              model: gemma4\n      responses:\n        \"200\":\n          description: Model information\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/ShowResponse\"\n              example:\n                parameters: \"temperature 0.7\\nnum_ctx 2048\"\n                license: \"Gemma Terms of Use \\n\\nLast modified: February 21, 2024...\"\n                capabilities:\n                  - \"completion\"\n                  - \"vision\"\n                modified_at: \"2025-08-14T15:49:43.634137516-07:00\"\n                details:\n                  parent_model: \"\"\n                  format: \"gguf\"\n                  family: \"gemma4\"\n                  families:\n                    - \"gemma4\"\n                  parameter_size: \"8.0B\"\n                  quantization_level: \"Q4_K_M\"\n                model_info:\n                  gemma4.attention.head_count: 8\n                  gemma4.attention.head_count_kv: 2\n                  gemma4.attention.key_length: 512\n                  gemma4.attention.key_length_swa: 256\n                  gemma4.attention.layer_norm_rms_epsilon: 0.000001\n                  gemma4.attention.shared_kv_layers: 18\n                  gemma4.attention.sliding_window: 512\n                  gemma4.attention.value_length: 512\n                  gemma4.attention.value_length_swa: 256\n                  gemma4.audio.attention.head_count: 8\n                  gemma4.audio.attention.layer_norm_epsilon: 0.000001\n                  gemma4.audio.block_count: 12\n                  gemma4.audio.conv_kernel_size: 5\n                  gemma4.audio.embedding_length: 1024\n                  gemma4.audio.feed_forward_length: 4096\n                  gemma4.block_count: 42\n                  gemma4.context_length: 131072\n                  gemma4.embedding_length: 2560\n                  gemma4.embedding_length_per_layer_input: 256\n                  gemma4.feed_forward_length: 10240\n                  gemma4.final_logit_softcapping: 30\n                  gemma4.rope.dimension_count: 512\n                  gemma4.rope.dimension_count_swa: 256\n                  gemma4.rope.freq_base: 1000000\n                  gemma4.rope.freq_base_swa: 10000\n                  gemma4.vision.attention.head_count: 12\n                  gemma4.vision.attention.layer_norm_epsilon: 0.000001\n                  gemma4.vision.block_count: 16\n                  gemma4.vision.embedding_length: 768\n                  gemma4.vision.feed_forward_length: 3072\n                  gemma4.vision.num_channels: 3\n                  gemma4.vision.patch_size: 16\n                  gemma4.vision.projector.scale_factor: 3\n                  general.architecture: \"gemma4\"\n                  general.file_type: 15\n                  general.quantization_version: 2\n                  tokenizer.ggml.add_bos_token: false\n                  tokenizer.ggml.add_eos_token: false\n                  tokenizer.ggml.add_mask_token: false\n                  tokenizer.ggml.add_padding_token: false\n                  tokenizer.ggml.add_unknown_token: false\n                  tokenizer.ggml.bos_token_id: 2\n                  tokenizer.ggml.eos_token_id: 1\n                  tokenizer.ggml.eos_token_ids:\n                    - 1\n                    - 106\n                    - 50\n                  tokenizer.ggml.mask_token_id: 4\n                  tokenizer.ggml.merges: null\n                  tokenizer.ggml.model: \"llama\"\n                  tokenizer.ggml.padding_token_id: 0\n                  tokenizer.ggml.pre: \"gemma4\"\n                  tokenizer.ggml.scores: null\n                  tokenizer.ggml.token_type: null\n                  tokenizer.ggml.tokens: null\n                  tokenizer.ggml.unknown_token_id: 3\n  /api/create:\n    post:\n      summary: Create a model\n      operationId: create\n      x-mint:\n        href: /api/create\n      x-codeSamples:\n        - lang: bash\n          label: Default\n          source: |\n            curl http://localhost:11434/api/create -d '{\n              \"from\": \"gemma4\",\n              \"model\": \"alpaca\",\n              \"system\": \"You are Alpaca, a helpful AI assistant. You only answer with Emojis.\"\n            }'\n        - lang: bash\n          label: Create from existing\n          source: |\n            curl http://localhost:11434/api/create -d '{\n              \"model\": \"ollama\",\n              \"from\": \"gemma4\",\n              \"system\": \"You are Ollama the llama.\"\n            }'\n        - lang: bash\n          label: Quantize\n          source: |\n            curl http://localhost:11434/api/create -d '{\n              \"model\": \"llama3.1:8b-instruct-Q4_K_M\",\n              \"from\": \"llama3.1:8b-instruct-fp16\",\n              \"quantize\": \"q4_K_M\"\n            }'\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/CreateRequest\"\n            example:\n              model: mario\n              from: gemma4\n              system: \"You are Mario from Super Mario Bros.\"\n      responses:\n        \"200\":\n          description: Stream of create status updates\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/StatusResponse\"\n              example:\n                status: \"success\"\n            application/x-ndjson:\n              schema:\n                $ref: \"#/components/schemas/StatusEvent\"\n              example:\n                status: \"success\"\n  /api/copy:\n    post:\n      summary: Copy a model\n      operationId: copy\n      x-mint:\n        href: /api/copy\n      x-codeSamples:\n        - lang: bash\n          label: Copy a model to a new name\n          source: |\n            curl http://localhost:11434/api/copy -d '{\n              \"source\": \"gemma4\",\n              \"destination\": \"gemma4-backup\"\n            }'\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/CopyRequest\"\n            example:\n              source: gemma4\n              destination: gemma4-backup\n      responses:\n        \"200\":\n          description: Model successfully copied\n  /api/pull:\n    post:\n      summary: Pull a model\n      operationId: pull\n      x-mint:\n        href: /api/pull\n      x-codeSamples:\n        - lang: bash\n          label: Default\n          source: |\n            curl http://localhost:11434/api/pull -d '{\n              \"model\": \"gemma4\"\n            }'\n        - lang: bash\n          label: Non-streaming\n          source: |\n            curl http://localhost:11434/api/pull -d '{\n              \"model\": \"gemma4\",\n              \"stream\": false\n            }'\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/PullRequest\"\n            example:\n              model: gemma4\n      responses:\n        \"200\":\n          description: Pull status updates.\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/StatusResponse\"\n              example:\n                status: \"success\"\n            application/x-ndjson:\n              schema:\n                $ref: \"#/components/schemas/StatusEvent\"\n              example:\n                status: \"success\"\n  /api/push:\n    post:\n      summary: Push a model\n      operationId: push\n      x-mint:\n        href: /api/push\n      x-codeSamples:\n        - lang: bash\n          label: Push model\n          source: |\n            curl http://localhost:11434/api/push -d '{\n              \"model\": \"my-username/my-model\"\n            }'\n        - lang: bash\n          label: Non-streaming\n          source: |\n            curl http://localhost:11434/api/push -d '{\n              \"model\": \"my-username/my-model\",\n              \"stream\": false\n            }'\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/PushRequest\"\n            example:\n              model: my-username/my-model\n      responses:\n        \"200\":\n          description: Push status updates.\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/StatusResponse\"\n              example:\n                status: \"success\"\n            application/x-ndjson:\n              schema:\n                $ref: \"#/components/schemas/StatusEvent\"\n              example:\n                status: \"success\"\n  /api/delete:\n    delete:\n      summary: Delete a model\n      operationId: delete\n      x-mint:\n        href: /api/delete\n      x-codeSamples:\n        - lang: bash\n          label: Delete model\n          source: |\n            curl -X DELETE http://localhost:11434/api/delete -d '{\n              \"model\": \"gemma4\"\n            }'\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \"#/components/schemas/DeleteRequest\"\n            example:\n              model: gemma4\n      responses:\n        \"200\":\n          description: Model successfully deleted\n  /api/version:\n    get:\n      summary: Get version\n      description: Retrieve the version of the Ollama\n      operationId: version\n      x-codeSamples:\n        - lang: bash\n          label: Default\n          source: |\n            curl http://localhost:11434/api/version\n      responses:\n        \"200\":\n          description: Version information\n          content:\n            application/json:\n              schema:\n                $ref: \"#/components/schemas/VersionResponse\"\n              example:\n                version: \"0.12.6\"\n"}