runapi-ai / core
RunAPI core Composer package for PHP applications
Package info
pkg:composer/runapi-ai/core
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.10
- guzzlehttp/psr7: ^2.8
- psr/http-client: ^1.0
- psr/http-factory: ^1.1
- psr/http-message: ^1.1 || ^2.0
Requires (Dev)
- phpunit/phpunit: ^11.5
README
The RunAPI Core PHP SDK provides shared authentication, PSR HTTP transport, retry, polling, typed errors, response objects, file upload, and account primitives for RunAPI PHP packages. Application code should normally install a concrete model package such as runapi-ai/wan; install runapi-ai/core directly only when building shared PHP SDK tooling.
Install
composer require runapi-ai/core
Requirements
- PHP 8.2 or newer
- Composer
- A PSR-18 / PSR-17 / PSR-7 compatible HTTP stack
The package includes a Guzzle-based default HTTP stack and also accepts custom PSR implementations.
Request Identifiers And Safe Task Creation
Task-creation calls accept an optional opaque Idempotency-Key up to 512 characters. Generate one value per logical task and reuse it only with identical input after an unknown result. Reusing the value with different input returns 409 Conflict; do not derive it from X-Client-Request-Id.
use RunApi\Core\RequestOptions; $options = new RequestOptions(headers: [ 'X-Client-Request-Id' => 'order-123', 'Idempotency-Key' => 'opaque-logical-task-123', ]);
Live Pricing
Every Provider Client exposes a typed $client->pricing resource. Read the current schedule or request a reservation estimate before creating a task; schedules work without an API key, while quotes that reference an account-owned source task use the configured API key.
$schedule = $client->pricing->list(service: 'flux'); $quote = $client->pricing->quote('flux', 'text_to_image', 'flux-2-klein', ['prompt' => 'A glass observatory']);
- Live pricing API: https://runapi.ai/models
Links
- SDK docs: https://runapi.ai/docs/resources/sdks
- Model catalog: https://runapi.ai/models
- GitHub repository: https://github.com/runapi-ai/core-php
- Multi-language SDK repository: https://github.com/runapi-ai/core-sdk
License
Licensed under the Apache License, Version 2.0.