mazin/replicate-php

This is a PHP client for Replicate.

Installs: 13

Dependents: 0

Suggesters: 0

Security: 0

Stars: 4

Watchers: 1

Forks: 0

Open Issues: 0

Type:client-library

0.0.1 2023-03-09 00:54 UTC

This package is auto-updated.

Last update: 2025-04-09 05:38:06 UTC


README

This is a simple PHP client for the Replicate. It covers the main prediction functionalities of the Replicate HTTP API.

Requirements

  • PHP 8.1

Installation

Install the package with composer:

composer require replicate/replicate-php

Usage

Initialize the replicate client with your API token

Get your API token from your Replicate account.

$replicate = new Replicate('token');

Create a prediction

try {
    $prediction = $replicate->createPrediction(
        version: 'v1',
        input: ['text' => 'foo'],
    );

    echo $prediction->id; // take a look at Prediction data class for available fields
} catch (ReplicateException|ReplicateWebhookInputException|ResponseException $e) {
    echo $e->getMessage();
}

Get a prediction

try {
    $prediction = $this->replicate->prediction(predictionId: 'prediction-id');

    echo $prediction->id;
} catch (ReplicateException|ResponseException $e) {
    // log error
}

Get a list of predictions

try {
    $predictions = $this->replicate->predictions();

    // if you would like to paginate.
    if ($predictions->next) {
        
        // extract the cursor from the next url
        $nextUrl = $predictions->next;
        $query = parse_url($nextUrl, PHP_URL_QUERY);
        parse_str($query, $params);
        $cursor = $params['cursor'];
        
        $predictions = $this->replicate->predictions(cursor: $cursor);
        // $predictions->results;
    }
    
    // take a look at the Predictions data class for available fields.
} catch (ReplicateException|ResponseException $e) {
    // log error
}

Cancel a prediction

try {
    $response = $this->replicate->cancelPrediction(predictionId: 'prediction-id');

    echo $response->status;
} catch (ReplicateException|ResponseException $e) {
    // log error
}

Development

Install dependencies

composer install

Run tests

composer test

License

MIT