Provider routing

Control which video orchestration provider fulfills your video generation request.

Basic usage

Include a provider object in your POST /v1/responses request:

{
  "model": "moonshotai/kimi-k2.5",
  "input": "Logo animation with brand colors",
  "provider": { "order": ["framerate"] }
}
FieldTypeDescription
provider.orderstring[]Provider slugs in preference order. First available match wins.

When provider is omitted, Pipevideo uses the default provider for the engine. The selected provider slug appears in the response as provider.

How routing works

  1. Pipevideo evaluates providers in the order you specify.
  2. The first provider that supports the requested engine and orchestration model is selected.
  3. The selected provider slug appears in the response as provider.

If no provider in your order supports the model, the request fails with a 400 error.

Example

curl -X POST https://api.pipevideo.co/v1/responses \
  -H "Authorization: Bearer pv_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "moonshotai/kimi-k2.5",
    "input": "Product demo with animated charts",
    "provider": { "order": ["framerate"] }
  }'

When to use provider routing

  • Default behavior — omit provider for the simplest integration.
  • Explicit provider — set provider.order when your account has access to multiple providers and you need a specific backend.
  • Future multi-provider — as Pipevideo adds providers, provider.order lets you prefer one over another without changing your integration code.

Available providers

ProviderSlugEngines
FramerateframerateHyperFrames, Lottie

Browse engines and orchestration models per provider on the Engines page or via GET /v1/engines.

Build a provider

If you operate a video orchestration backend and want to be listed on Pipevideo, see Become a provider.