NeuralHive SDK
Python SDK client for NeuralHive model access.
Installation
pip install neuralhive
Authentication Setup
Option 1: Configure once (recommended)
neuralhive configure --api-key nh_live_your_api_key
Then use SDK without passing key in code.
Option 2: Environment variable
export NEURALHIVE_API_KEY="nh_live_your_api_key"
Option 3: Pass key directly in code
client = Client("nh_live_your_api_key")
Quick Start
from neuralhive import Client
client = Client()
models = client.list_models()
print(models)
Finetune
Start finetuning
- Run
neuralhive finetune. - Select a task, model, and dataset.
- Review the final cost and start training.
Dataset requirements
- For
slm, provide a file path. - For other finetune tasks, provide a directory path.
- You can save a local dataset for future use.
Track progress
- Run
neuralhive trainings. - View active training names and progress.
- You can leave training running in the background.
Usage
1. Get model details
model = client.get_model("your_model_id")
print(model)
2. Run model inference
from neuralhive import Client
client = Client()
result = client.detect(
image_path="/absolute/path/to/image.jpg",
)
For all other methods, see API Reference below.
API Reference
Client(api_key: str | None = None)
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key |
str |
No | Your NeuralHive API key |
Returns:
Clientinstance
client.list_models()
Parameters:
- None
Returns:
list[dict]containing allowed models for this API key
client.get_model(model_id)
| Parameter | Type | Required | Description |
|---|---|---|---|
model_id |
str |
Yes | Target model identifier |
Returns:
dictwith model details
client.detect(image_path, model_id=None, prompt=None, export_to=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
image_path |
str |
Yes | Local image file path |
model_id |
str |
No | Target model identifier |
prompt |
str |
No | Optional prompt (required for SAM-like IDs) |
export_to |
str |
No | Export directory path for box-rendered image |
Notes:
- If
model_idis not provided, SDK uses defaultobject_detectionmodel from your allowed models.
Returns:
dict
client.segment(image_path, model_id=None, prompt=None, export_to=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
image_path |
str |
Yes | Local image file path |
model_id |
str |
No | Target model identifier |
prompt |
str |
No | Optional prompt (required for SAM-like IDs) |
export_to |
str |
No | Export directory path for mask-rendered image |
Returns:
dict
Notes:
- If
model_idis not provided, SDK uses defaultinstance_segmentationmodel from your allowed models.
client.detect_and_segment(image_path, prompt, export_to=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
image_path |
str |
Yes | Local image file path |
prompt |
str |
Yes | Segmentation prompt |
export_to |
str |
No | Export directory path for mask+box-rendered image |
Notes:
- Uses SAM3 / prompt-based segmentation models.
Returns:
dict
client.recognize(image_path)
| Parameter | Type | Required | Description |
|---|---|---|---|
image_path |
str |
Yes | Local image file path |
Returns:
list[list[float]](face embeddings per detected face)
client.reidentify(image_path, model_id=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
image_path |
str |
Yes | Local image file path |
model_id |
str |
No | Target model identifier |
Returns:
dict
client.estimate_pose(image_path, export_to=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
image_path |
str |
Yes | Local image file path |
export_to |
str |
No | Export directory path for pose-rendered image |
Returns:
dictwith:keypoints:list[object]scores:list[object]saved_path:str | None
client.embed(text=None, image_path=None, model_id=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
text |
str |
No | Text input |
image_path |
str |
No | Local image file path |
model_id |
str |
No | Target model identifier |
Notes:
- Exactly one input is required:
textorimage_path - If
model_idis not provided, SDK uses the defaultclipmodel from your allowed models.
Returns:
list[float]orlist[list[float]]
client.generate_text(prompt, model_id=None, image_paths=None, video_paths=None, system_prompt=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt |
str |
Yes | Text prompt |
model_id |
str |
No | Target model identifier |
image_paths |
str or list[str] |
No | Local image file path(s) |
video_paths |
str or list[str] |
No | Local video path(s) or public URL(s) |
system_prompt |
str |
No | Optional system prompt for SLM models |
Notes:
- If
model_idis not provided, SDK uses defaultvlmmodel from your allowed models. system_promptis only sent when the selected model is anslmmodel.
Returns:
str
client.analyze(text=None, image_paths=None, video_paths=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
text |
str |
No | Text input |
image_paths |
str or list[str] |
No | Local image file path(s) |
video_paths |
str or list[str] |
No | Local video path(s) or public URL(s) |
Notes:
- At least one input is required:
textorimage_pathsorvideo_paths
Returns:
str
client.generate_image(prompt, export_to=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt |
str |
Yes | Text prompt |
export_to |
str |
No | Export directory path (filename comes from response URL) |
Returns:
dictwith:download_url:strsaved_path:str | None
client.edit_image(image_path, prompt, export_to=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
image_path |
str |
Yes | Local image file path |
prompt |
str |
Yes | Text instruction for the edit |
export_to |
str |
No | Export directory path (filename comes from response URL) |
Returns:
dictwith:download_url:strsaved_path:str | None
client.transcribe_audio(audio_path)
| Parameter | Type | Required | Description |
|---|---|---|---|
audio_path |
str |
Yes | Local audio file path |
Returns:
str
client.read_text(file_path, export_to=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
file_path |
str |
Yes | Local document file path |
export_to |
str |
No | Export directory path for the resulting text file |
Returns:
str- Without
export_to: signed URL for the generated.txtfile - With
export_to: saved local file path
client.detect_layout(file_path, export_to=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
file_path |
str |
Yes | Local document file path |
export_to |
str |
No | Export directory path for the resulting layout file |
Returns:
str- Without
export_to: signed URL for the generated result file - With
export_to: saved local file path
client.generate_3d(image_path, export_to=None)
| Parameter | Type | Required | Description |
|---|---|---|---|
image_path |
str |
Yes | Local image file path |
export_to |
str |
No | Export directory path (filename comes from response URL) |
Returns:
dictwith:download_url:strsaved_path:str | None
Metadata
Release files for neuralhive 1.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| neuralhive-1.1.10.tar.gz | 48.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| neuralhive-1.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 119.3 kB
Release files / neuralhive-1.1.10.tar.gz
| Download URL | neuralhive-1.1.10.tar.gz |
|---|---|
| Size | 48.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
544d2ee45ebc2843704736f6df7e2159bb2359dec7239fab425632bfff438320
|
|
BLAKE2b-256 checksum How to use checksums |
3d687353c87a03595335cb00e8da54b90ff3620b590b88e4bec0ea1549ceabf0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Release files / neuralhive-1.1.10-py3-none-any.whl
| Download URL | neuralhive-1.1.10-py3-none-any.whl |
|---|---|
| Size | 70.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3f57516664e8fa3736f06b8ad0ce48d86a24cb947b532f1f045c144be65e7b51
|
|
BLAKE2b-256 checksum How to use checksums |
38a9e232c4232b2a2b7fd9c46217ce1e06a0a103318208ab8a8dde61642e9e23
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|