Skip to content

get_model_from_provider

inference_models.developer_tools.get_model_from_provider

get_model_from_provider(model_id, provider, api_key=None, **kwargs)

Retrieve model metadata from a registered weights provider.

Fetches model metadata (including available packages, download URLs, and configuration) from a registered weights provider. The default provider is "roboflow", but custom providers can be registered using register_model_provider().

Parameters:

  • model_id

    (ModelId) –

    Model identifier. Format depends on the provider: - Roboflow: "workspace/project/version" or "model-id" - Custom providers: Provider-specific format

  • provider

    (str) –

    Name of the weights provider to use. Default provider is "roboflow".

  • api_key

    (ApiKey, default: None ) –

    API key for authentication. Required for private models on Roboflow. If not provided, uses the ROBOFLOW_API_KEY environment variable.

  • **kwargs

    Additional provider-specific parameters.

Returns:

  • ModelMetadata

    ModelMetadata object containing: - model_id: Canonical model identifier - model_packages: List of available model packages with different backends - dependencies: Model dependencies and requirements - Additional provider-specific metadata

Raises:

  • ModelRetrievalError

    If the provider is not registered or model retrieval fails.

  • UnauthorizedModelAccessError

    If API key is invalid or model access is denied.

Examples:

Get model metadata from Roboflow:

>>> from inference_models.developer_tools import get_model_from_provider
>>>
>>> metadata = get_model_from_provider(
...     model_id="yolov8n-640",
...     provider="roboflow"
... )
>>>
>>> print(f"Model ID: {metadata.model_id}")
>>> print(f"Available packages: {len(metadata.model_packages)}")
>>> for package in metadata.model_packages:
...     print(f"  - {package.backend_type} ({package.quantization})")

Get private model with API key:

>>> metadata = get_model_from_provider(
...     model_id="my-workspace/my-project/2",
...     provider="roboflow",
...     api_key="your_api_key_here"
... )

Use with custom provider:

>>> # After registering a custom provider
>>> metadata = get_model_from_provider(
...     model_id="custom-model-id",
...     provider="my_custom_provider",
...     custom_param="value"
... )
See Also
  • register_model_provider(): Register a custom weights provider
  • AutoModel.from_pretrained(): Load models using the provider system