Video Generations
Minimum-discount routing: Prefix the path with a min{N} segment (e.g. /min30/v1/video/generations) to require marketplace seller offers to meet a minimum estimated buyer discount before routing. Buyer-owned providers are not covered. See Minimum-Discount Routing.
Async video generation via the marketplace. Submit a job, poll for status, retrieve results.
Submit Job
Auth: API key required (Authorization: Bearer ***).
- Name
model- Type
- string
- required
- Description
- Model ID, e.g.
venice-runway-gen4-5-text; legacyvenice-video-genmaps to a live Venice model
- Name
prompt- Type
- string
- required
- Description
- Text prompt (max 2000 chars)
- Name
duration_seconds- Type
- integer
- Description
- Video duration. Optional; omitted values use the model's cheapest/default duration when known
- Name
image_url- Type
- string
- Description
- Image-to-video start frame — an
https://URL or adata:URI. Required by image-to-video-only models (see Image-to-Video below)
- Name
end_image_url- Type
- string
- Description
- Transition end frame for models that interpolate between two stills (equivalent to
input_imageswithrole: "end")
- Name
input_images- Type
- array
- Description
- Source images for image-to-video / transition / reference models. Each entry is an
https/data:URI string — positional[start]or[start, end]— or an object{ "url": "...", "role": "start" | "end" | "reference" }. Max 8 images per request
- Name
resolution- Type
- string
- Description
- Provider-supported resolution such as
480p,720p,1080p,4k
- Name
aspect_ratio- Type
- string
- Description
- Provider-supported ratio such as
16:9,9:16,1:1,4:3,3:4,21:9
- Name
audio- Type
- boolean
- Description
- Include audio track when the model supports it
- Name
webhook_url- Type
- string
- Description
- URL for terminal state callbacks
- Name
metadata- Type
- object
- Description
- Client pass-through metadata
Current Venice-backed examples include venice-runway-gen4-5-text, venice-seedance-2-fast-t2v, and venice-pixverse-c1-t2v. Query /v1/models and /api/markets for the live catalog and active order book.
Idempotency: Include Idempotency-Key header to prevent duplicate submissions.
Image-to-Video
Pass a source image to animate a still (image-to-video), interpolate between two stills (transition), or condition on reference frames.
- Discovering models: image-to-video models carry an
-image-to-videoid suffix (e.g.seedance-2-0-image-to-video,wan-2-7-image-to-video,seedance-1-5-pro-image-to-video) and listimage-to-videoin theirsupported_parameters. Query/v1/modelsand/api/marketsfor the live set. - Required input: an image-to-video-only model (no text-to-video) requires a source image; a request without one returns
400. Transition models require both astartand anendframe. - Frames & roles: the simplest form is a single
image_url(the start frame). For a transition, addend_image_url, or useinput_imageswith explicit roles. Untaggedinput_imagesare positional —[start]or[start, end]; with three or more images, tag each with a role. Roles a model doesn't support are ignored — an extra frame won't fail the request. - Source form:
https://URL ordata:URI; bare base64 (without thedata:prefix) andhttp://URLs are rejected. URLs are passed to the provider as-is — the marketplace never fetches them.
Poll Status
Auth: API key OR X-Job-Token header (returned from submit).
Status values: queued → submitted → running → succeeded | failed | canceled | expired.
Cancel Job
Auth: API key OR X-Job-Token header.
Cancellation is best-effort. If the provider has already completed the job, it may transition to succeeded instead.
Cost Model
- Costs are USDC microdollars (1 USD = 1,000,000 microdollars).
- Download artifacts are cached/proxied for buyer access. Default artifact retention is 3 hours (
MEDIA_ARTIFACT_TTL_SECONDScan override it). - Seller selection uses the provider
/video/quoteendpoint with decrypted seller credentials; cost-multiplier offers apply the multiplier to the live quote. estimated_cost_usdcis the buyer estimate at submit time.max_cost_usdcis the reservation ceiling (estimated + 10% buffer).- Jobs expire after 30 minutes if not completed. Completed artifact download retention defaults to 3 hours.