{
  "commercial": {
    "authority": "owner_approved_business_input",
    "commercial_use_in_customer_product": true,
    "official_offer_licence_agreement": true,
    "permission_contact": "mailto:support@ailoot.ai",
    "promo_discount_max_percent": 50,
    "reseller_licence_on_request": true,
    "subscription_effect": "reduces_effective_token_cost",
    "use_cases": [
      "customer_products",
      "agents",
      "applications",
      "automations"
    ],
    "written_project_permission_on_request": true
  },
  "company": {
    "authority": "owner_approved_business_input",
    "claims": [
      "established operating experience",
      "large client base",
      "stable service",
      "ongoing KPI control"
    ],
    "scale": {
      "clients": "des millions de clients",
      "currency": null,
      "monthly_sales": "des ventes qui se chiffrent en milliards chaque mois",
      "scope": "L’entreprise et son portefeuille de projets"
    },
    "source": "https://ailoot.ai/ru/",
    "source_language": "ru"
  },
  "connection": {
    "api_server": "https://api.ailoot.ai",
    "authentication": {
      "alternative_http_headers": [
        "x-api-key",
        "x-goog-api-key"
      ],
      "example": "Bearer ${AILOOT_API_KEY}",
      "header": "Authorization",
      "mode": "clientBearer",
      "realtime_mode": "Bearer header only",
      "scheme": "bearer",
      "type": "http"
    },
    "directory_placement": {
      "status": "unknown",
      "url": null
    },
    "mcp": {
      "endpoint": null,
      "status": "unknown"
    },
    "protocols": [
      {
        "id": "models",
        "label": "Model discovery",
        "operations": [
          {
            "http_method": "GET",
            "operation_id": "listModels",
            "path": "/v1/models",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "listGeminiModels",
            "path": "/v1beta/models",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "chat",
        "label": "OpenAI Chat Completions",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createChatCompletion",
            "path": "/v1/chat/completions",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "responses",
        "label": "OpenAI Responses",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createResponse",
            "path": "/v1/responses",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "messages",
        "label": "Anthropic Messages",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createMessage",
            "path": "/v1/messages",
            "status": "documented"
          },
          {
            "description": "Documented token-counting path; unavailable for models in the current public catalogue.",
            "http_method": "POST",
            "operation_id": "countMessageTokens",
            "path": "/v1/messages/count_tokens",
            "status": "unavailable"
          }
        ],
        "transport": "https"
      },
      {
        "id": "gemini",
        "label": "Gemini generateContent",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "generateContent",
            "path": "/v1beta/models/{model}:generateContent",
            "status": "documented"
          },
          {
            "http_method": "POST",
            "operation_id": "generateContentCompatibility",
            "path": "/antigravity/v1beta/models/{model}:generateContent",
            "status": "documented"
          },
          {
            "http_method": "POST",
            "operation_id": "streamGenerateContent",
            "path": "/v1beta/models/{model}:streamGenerateContent",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "embeddings",
        "label": "Text embeddings",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createEmbeddings",
            "path": "/v1/embeddings",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "images",
        "label": "OpenAI Images",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createImage",
            "path": "/v1/images/generations",
            "status": "documented"
          },
          {
            "http_method": "POST",
            "operation_id": "editImage",
            "path": "/v1/images/edits",
            "status": "documented"
          },
          {
            "description": "Save task_id and poll_url. Streaming is rejected. A task has processing/completed/failed status and an expires_at field.",
            "http_method": "POST",
            "operation_id": "createImageTask",
            "path": "/v1/images/generations/async",
            "status": "documented"
          },
          {
            "description": "Save task_id and poll_url. Streaming is rejected. A task has processing/completed/failed status and an expires_at field.",
            "http_method": "POST",
            "operation_id": "createImageEditTask",
            "path": "/v1/images/edits/async",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getImageTask",
            "path": "/v1/images/tasks/{task_id}",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "speech",
        "label": "Speech audio",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createSpeech",
            "path": "/v1/audio/speech",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "transcriptions",
        "label": "Audio transcription",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createTranscription",
            "path": "/v1/audio/transcriptions",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "videos",
        "label": "Video generation and retrieval",
        "operations": [
          {
            "description": "Save the returned task identifier. Poll status and download content; do not repeat creation after a timeout or unknown result. Required media parameters differ by model; this documented example is not a parameter guarantee for every video model.",
            "http_method": "POST",
            "operation_id": "createVideo",
            "path": "/v1/videos/generations",
            "status": "documented"
          },
          {
            "description": "Save the returned task identifier. Poll status and download content; do not repeat creation after a timeout or unknown result. Required media parameters differ by model; this documented example is not a parameter guarantee for every video model.",
            "http_method": "POST",
            "operation_id": "createVideoCompatible",
            "path": "/v1/videos",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getVideo",
            "path": "/v1/videos/{request_id}",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getVideoContent",
            "path": "/v1/videos/{request_id}/content",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getVideoGeneration",
            "path": "/v1/videos/generations/{request_id}",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getVideoGenerationContent",
            "path": "/v1/videos/generations/{request_id}/content",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "music",
        "label": "Music generation",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createMusic",
            "path": "/v1/music/generations",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "systemone",
        "label": "System One decisions",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createSystemOne",
            "path": "/v1/systemone",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "realtime",
        "label": "Realtime voice WebSocket",
        "operations": [
          {
            "http_method": "GET",
            "operation_id": "openRealtimeSession",
            "path": "/v1/realtime",
            "status": "documented"
          }
        ],
        "transport": "websocket"
      }
    ],
    "provenance": {
      "approved_offer_sha256": "03ba9f99acb815bdfd97051de0b513aeb11dcad811723225ed2f1192cddab0ca",
      "client_contract_sha256": "73c014cafc05d781ab92ee7cb6a5546a07dca7c1066228824cb404e7f623df22",
      "proof_scope": "accepted-static-public-contract",
      "public_operation_count": 26,
      "sources": [
        {
          "name": "public-api-contract-v1.json",
          "sha256": "73c014cafc05d781ab92ee7cb6a5546a07dca7c1066228824cb404e7f623df22"
        },
        {
          "name": "openapi-contract-v1.md",
          "sha256": "eebcd42781235054b93f763d84cb0fbc27c6c5762515c2b4990c390accba8763"
        },
        {
          "name": "openapi.py",
          "sha256": "0e502577f8a9a347a3ba5a514294a336b06aea78cac41b9fa1e4871b69fbf4e8"
        },
        {
          "name": "agent-facts-contract-v1.json",
          "sha256": "856af0544f85dc29b915132a3c762698ae9162555b24b79cfabfec63b05bc43a"
        },
        {
          "name": "locale-routes.py",
          "sha256": "920d2b69bf735d7298eb24f06cf7bd4eb373b5f76639b61fb6e98e8f94bfec7a"
        },
        {
          "name": "approved-offer-copy-v1.json",
          "sha256": "03ba9f99acb815bdfd97051de0b513aeb11dcad811723225ed2f1192cddab0ca"
        },
        {
          "name": "offer-copy.py",
          "sha256": "fe062036873acf8abb23a182248ce508c3679979455dadc634dcd5063d60cb1f"
        }
      ]
    },
    "sdk_validation": {
      "status": "unknown"
    },
    "status": "documented"
  },
  "documentation": {
    "api_guide": {
      "status": "documented",
      "url": "https://ailoot.ai/openapi.md"
    },
    "entrypoints": {
      "docs": "https://ailoot.ai/docs/fr-ca/",
      "integrations": "https://ailoot.ai/integrations/fr-ca/",
      "models": "https://ailoot.ai/models/fr-ca/"
    },
    "licence": {
      "label": "Offre officielle et contrat de licence",
      "url": "https://ailoot.ai/legal/offer?lang=fr-ca"
    },
    "locale": "fr-ca",
    "offer": {
      "label": "Offre officielle et contrat de licence",
      "url": "https://ailoot.ai/legal/offer?lang=fr-ca"
    },
    "openapi": {
      "format": "3.1.1",
      "status": "documented",
      "url": "https://ailoot.ai/openapi.json"
    },
    "provenance": {
      "approved_offer_sha256": "03ba9f99acb815bdfd97051de0b513aeb11dcad811723225ed2f1192cddab0ca",
      "locale_routes_sha256": "920d2b69bf735d7298eb24f06cf7bd4eb373b5f76639b61fb6e98e8f94bfec7a"
    },
    "reseller_licence": {
      "label": "Demander une licence revendeur",
      "url": "mailto:support@ailoot.ai"
    },
    "support": {
      "url": "mailto:support@ailoot.ai"
    },
    "written_project_permission": {
      "url": "mailto:support@ailoot.ai"
    }
  },
  "integrations": [
    {
      "application": "OpenAI SDK (Python)",
      "application_id": "openai-python-sdk",
      "compatibility_scope": {
        "conditions": "Avant de démarrer, appelez GET /v1/models avec votre clé Ailoot. Choisissez un identifiant exact de modèle dont les méthodes incluent POST /v1/chat/completions, POST /v1/responses, puis utilisez-le dans la configuration. Pour les agents, vérifiez aussi les outils et les fonctions nécessaires à votre version du client. Adresse avec /v1 : le SDK ajoute lui-même /chat/completions, /responses, /embeddings, /images/* et /audio/*. Chat Completions et Responses fonctionnent, ce dernier pour les modèles dont le catalogue indique ce format. Le streaming et les outils sont standard. Les erreurs Ailoot arrivent en JSON avec un Request ID et sont interceptées comme openai.APIStatusError.",
        "description": "SDK · OpenAI Chat, OpenAI Responses",
        "formats": [
          "chat",
          "responses"
        ],
        "kind": "documented-subset",
        "runtime_validation": null
      },
      "evidence": {
        "catalogue_sha256": "18af604062a5f4f3fae951ca3c833f0d550d02f083b370f6cdda49817ec159ed",
        "catalogue_url": "https://ailoot.ai/integrations/fr-ca/",
        "guide_sha256": "469bb31db8eb7d86a9ac94be31158bd69461421f96dc7c35aa76283acf7f9421",
        "proof_scope": "accepted-static-integration-content",
        "public_api_contract_sha256": "73c014cafc05d781ab92ee7cb6a5546a07dca7c1066228824cb404e7f623df22"
      },
      "guide_url": "https://ailoot.ai/docs/fr-ca/integrations/openai-python-sdk/",
      "methods": [
        {
          "http_method": "GET",
          "operation_id": "listModels",
          "path": "/v1/models",
          "status": "documented-in-guide"
        },
        {
          "http_method": "POST",
          "operation_id": "createChatCompletion",
          "path": "/v1/chat/completions",
          "status": "documented-in-guide"
        },
        {
          "http_method": "POST",
          "operation_id": "createResponse",
          "path": "/v1/responses",
          "status": "documented-in-guide"
        }
      ],
      "schema": "ailoot-integration-facts-v1",
      "source_revision": "469bb31db8eb7d86a9ac94be31158bd69461421f96dc7c35aa76283acf7f9421",
      "version_match": null,
      "versions": null
    }
  ],
  "models": [],
  "page": {
    "description": "SDK · OpenAI Chat, OpenAI Responses",
    "family": "docs",
    "locale": "fr-ca",
    "title": "OpenAI SDK (Python) — guide API d’intelligence artificielle — Ailoot",
    "url": "https://ailoot.ai/docs/fr-ca/integrations/openai-python-sdk/"
  },
  "product": {
    "commercial": {
      "authority": "owner_approved_business_input",
      "commercial_use_in_customer_product": true,
      "official_offer_licence_agreement": true,
      "permission_contact": "mailto:support@ailoot.ai",
      "promo_discount_max_percent": 50,
      "reseller_licence_on_request": true,
      "subscription_effect": "reduces_effective_token_cost",
      "use_cases": [
        "customer_products",
        "agents",
        "applications",
        "automations"
      ],
      "written_project_permission_on_request": true
    },
    "company": {
      "authority": "owner_approved_business_input",
      "claims": [
        "established operating experience",
        "large client base",
        "stable service",
        "ongoing KPI control"
      ],
      "scale": {
        "clients": "des millions de clients",
        "currency": null,
        "monthly_sales": "des ventes qui se chiffrent en milliards chaque mois",
        "scope": "L’entreprise et son portefeuille de projets"
      },
      "source": "https://ailoot.ai/ru/",
      "source_language": "ru"
    },
    "identity": {
      "id": "semen-router",
      "url": "https://ailoot.ai/"
    },
    "name": "Ailoot",
    "provenance": {
      "approved_offer_sha256": "03ba9f99acb815bdfd97051de0b513aeb11dcad811723225ed2f1192cddab0ca",
      "client_contract_sha256": "73c014cafc05d781ab92ee7cb6a5546a07dca7c1066228824cb404e7f623df22",
      "proof_scope": "accepted-static-public-contract",
      "public_operation_count": 26,
      "sources": [
        {
          "name": "public-api-contract-v1.json",
          "sha256": "73c014cafc05d781ab92ee7cb6a5546a07dca7c1066228824cb404e7f623df22"
        },
        {
          "name": "openapi-contract-v1.md",
          "sha256": "eebcd42781235054b93f763d84cb0fbc27c6c5762515c2b4990c390accba8763"
        },
        {
          "name": "openapi.py",
          "sha256": "0e502577f8a9a347a3ba5a514294a336b06aea78cac41b9fa1e4871b69fbf4e8"
        },
        {
          "name": "agent-facts-contract-v1.json",
          "sha256": "856af0544f85dc29b915132a3c762698ae9162555b24b79cfabfec63b05bc43a"
        },
        {
          "name": "locale-routes.py",
          "sha256": "920d2b69bf735d7298eb24f06cf7bd4eb373b5f76639b61fb6e98e8f94bfec7a"
        },
        {
          "name": "approved-offer-copy-v1.json",
          "sha256": "03ba9f99acb815bdfd97051de0b513aeb11dcad811723225ed2f1192cddab0ca"
        },
        {
          "name": "offer-copy.py",
          "sha256": "fe062036873acf8abb23a182248ce508c3679979455dadc634dcd5063d60cb1f"
        }
      ]
    },
    "public_urls": {
      "api_guide": "https://ailoot.ai/openapi.md",
      "entrypoints": {
        "docs": "https://ailoot.ai/docs/fr-ca/",
        "integrations": "https://ailoot.ai/integrations/fr-ca/",
        "models": "https://ailoot.ai/models/fr-ca/"
      },
      "offer": "https://ailoot.ai/legal/offer?lang=fr-ca",
      "openapi": "https://ailoot.ai/openapi.json",
      "page": "https://ailoot.ai/docs/fr-ca/integrations/openai-python-sdk/",
      "support": "mailto:support@ailoot.ai"
    },
    "schema": "ailoot-product-facts-v1",
    "source_revision": "a22b4135c2dd28c9632bb8e1531c30afd0f8933e0661db82af750ea6a0aa3bae",
    "supported_access_modes": [
      {
        "id": "models",
        "label": "Model discovery",
        "operations": [
          {
            "http_method": "GET",
            "operation_id": "listModels",
            "path": "/v1/models",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "listGeminiModels",
            "path": "/v1beta/models",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "chat",
        "label": "OpenAI Chat Completions",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createChatCompletion",
            "path": "/v1/chat/completions",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "responses",
        "label": "OpenAI Responses",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createResponse",
            "path": "/v1/responses",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "messages",
        "label": "Anthropic Messages",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createMessage",
            "path": "/v1/messages",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "gemini",
        "label": "Gemini generateContent",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "generateContent",
            "path": "/v1beta/models/{model}:generateContent",
            "status": "documented"
          },
          {
            "http_method": "POST",
            "operation_id": "generateContentCompatibility",
            "path": "/antigravity/v1beta/models/{model}:generateContent",
            "status": "documented"
          },
          {
            "http_method": "POST",
            "operation_id": "streamGenerateContent",
            "path": "/v1beta/models/{model}:streamGenerateContent",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "embeddings",
        "label": "Text embeddings",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createEmbeddings",
            "path": "/v1/embeddings",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "images",
        "label": "OpenAI Images",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createImage",
            "path": "/v1/images/generations",
            "status": "documented"
          },
          {
            "http_method": "POST",
            "operation_id": "editImage",
            "path": "/v1/images/edits",
            "status": "documented"
          },
          {
            "description": "Save task_id and poll_url. Streaming is rejected. A task has processing/completed/failed status and an expires_at field.",
            "http_method": "POST",
            "operation_id": "createImageTask",
            "path": "/v1/images/generations/async",
            "status": "documented"
          },
          {
            "description": "Save task_id and poll_url. Streaming is rejected. A task has processing/completed/failed status and an expires_at field.",
            "http_method": "POST",
            "operation_id": "createImageEditTask",
            "path": "/v1/images/edits/async",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getImageTask",
            "path": "/v1/images/tasks/{task_id}",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "speech",
        "label": "Speech audio",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createSpeech",
            "path": "/v1/audio/speech",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "transcriptions",
        "label": "Audio transcription",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createTranscription",
            "path": "/v1/audio/transcriptions",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "videos",
        "label": "Video generation and retrieval",
        "operations": [
          {
            "description": "Save the returned task identifier. Poll status and download content; do not repeat creation after a timeout or unknown result. Required media parameters differ by model; this documented example is not a parameter guarantee for every video model.",
            "http_method": "POST",
            "operation_id": "createVideo",
            "path": "/v1/videos/generations",
            "status": "documented"
          },
          {
            "description": "Save the returned task identifier. Poll status and download content; do not repeat creation after a timeout or unknown result. Required media parameters differ by model; this documented example is not a parameter guarantee for every video model.",
            "http_method": "POST",
            "operation_id": "createVideoCompatible",
            "path": "/v1/videos",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getVideo",
            "path": "/v1/videos/{request_id}",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getVideoContent",
            "path": "/v1/videos/{request_id}/content",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getVideoGeneration",
            "path": "/v1/videos/generations/{request_id}",
            "status": "documented"
          },
          {
            "http_method": "GET",
            "operation_id": "getVideoGenerationContent",
            "path": "/v1/videos/generations/{request_id}/content",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "music",
        "label": "Music generation",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createMusic",
            "path": "/v1/music/generations",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "systemone",
        "label": "System One decisions",
        "operations": [
          {
            "http_method": "POST",
            "operation_id": "createSystemOne",
            "path": "/v1/systemone",
            "status": "documented"
          }
        ],
        "transport": "https"
      },
      {
        "id": "realtime",
        "label": "Realtime voice WebSocket",
        "operations": [
          {
            "http_method": "GET",
            "operation_id": "openRealtimeSession",
            "path": "/v1/realtime",
            "status": "documented"
          }
        ],
        "transport": "websocket"
      }
    ]
  },
  "schema": "ailoot-public-facts-v1",
  "sourceRevision": "a22b4135c2dd28c9632bb8e1531c30afd0f8933e0661db82af750ea6a0aa3bae"
}
