Metadata-Version: 2.5
Name: actorhub
Version: 0.2.1
Summary: Client for the ActorHub.ai consent API: check whether a face belongs to a verified person, and what they consented to, before anything is generated. ActorHub.ai licenses verified people as AI talent.
Project-URL: Homepage, https://actorhub.ai
Project-URL: Documentation, https://actorhub.ai/developers
Project-URL: Repository, https://github.com/actorhubai/actorhub-python
Project-URL: Issues, https://github.com/actorhubai/actorhub-python/issues
Author-email: "ActorHub.ai" <admin@actorhub.ai>
License-Expression: MIT
License-File: LICENSE
Keywords: actorhub,ai,consent,face-recognition,identity,licensing,likeness,talent,verification
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Security
Requires-Python: >=3.8
Requires-Dist: httpx>=0.24.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: tenacity>=8.0.0
Description-Content-Type: text/markdown

# ActorHub Python SDK

Official Python client for the [ActorHub.ai](https://actorhub.ai) consent API.

ActorHub.ai is where real people become licensed AI talent: they verify who they are, set
the terms their likeness may be used on, and brands license a verified person for a
campaign. This SDK answers whether a face in an image belongs to a verified person and what
that person agreed to, before anything is generated.

## Installation

```bash
pip install actorhub
```

## Quick Start

```python
from actorhub import ActorHub

client = ActorHub(api_key="your-api-key")

# Check consent before AI generation
result = client.check_consent(
    platform="sora",
    intended_use="video",
    image_url="https://example.com/face.jpg",
)

if result.protected:
    face = result.faces[0]
    print(f"Verified person: {face.display_name}")
    print(f"Consent: {face.consent.video_generation}")
    
    # Check if active consent token exists
    if face.token and face.token.valid:
        print(f"Active token: {face.token.source}")
    
    # Verify trust signature
    if result.trust:
        print(f"Signed: {result.trust.algorithm}")
```

## With Consent Token

```python
result = client.check_consent(
    platform="sora",
    intended_use="video",
    image_url="https://example.com/face.jpg",
    consent_token="ACT-XXXX",  # Token from identity owner
)
```

## Async Support

```python
from actorhub import AsyncActorHub

async with AsyncActorHub(api_key="your-api-key") as client:
    result = await client.check_consent(
        platform="runway",
        intended_use="video",
        image_url="https://example.com/face.jpg",
    )
```

## Links

- [Documentation](https://actorhub.ai/developers)
- [API Reference](https://api.actorhub.ai/docs)
- [Website](https://actorhub.ai)
