file_… ids that you can attach directly to products, posts, and more.
How generation works
Most media calls don’t return the finished asset inline. They start a background Job and return a job you poll until it’s done.1
Start a generation
Call
POST /images/generate, POST /videos/generate, POST /audio/generate, or POST /audio/music. You get back a job.2
Poll the job
Poll
GET /jobs/{id} (or list with GET /jobs) until its status is terminal. The completed job references the resulting MediaLibrary file.3
Use the file
The output lands in your MediaLibrary as a
file_… id. Use it anywhere a file is accepted — e.g. a product’s images array.Generated media always lands in the MediaLibrary first. You attach the
file_… id — you never hand a raw CDN URL to a product or post.Pricing
Pick a model with themodel parameter; omit it to use the default.
The simplest thing to pass is a quality tier — fast, balanced or quality — which resolves to the best current model at that price point for the endpoint you called. Tiers are chosen against independent blind-comparison rankings (Artificial Analysis arenas) per workload, and survive model churn, so prefer them unless you need a specific model. GET /images/models (and the video/audio equivalents) shows which id each tier currently resolves to.
Images
Video
These are what generations are actually billed per second of output; fal’s listed unit
price is not always per second.
GET /v1/videos/models returns each model’s current
rate in credits as credits_per_second.
fal-ai/veo3.1 (~$0.40 / second) is available but untiered: about four times the
quality tier for similar rankings. Reach for it only when you need 4K output.
Audio (text-to-speech)
fal-ai/elevenlabs/tts/multilingual-v2 ($0.10 / 1,000 chars) stays the default when you
pass no model, and eleven-v3 is available for ElevenLabs’ most expressive delivery.
Tiers switch voice families, so a voice value from one tier will not carry to another.
Music
Tiers follow the Artificial Analysis instrumental arena.
balanced and quality rank
statistically level, so balanced is the default at about a third of the price.
Images
POST /images/generate starts an image generation. The one thing that trips people up: the prompt goes under input: { prompt }, not at the top level. The input object is forwarded verbatim to the underlying model, so any model-specific fields go there too.
- cURL
- SDK (TypeScript)
- MCP (agent)
file_… id.
Edit, upscale, and stock
Video
POST /videos/generate follows the same shape family — pass a tier (or a model id from GET /videos/models), describe what you want, then poll for the result. Video has no default model, because it bills per second.
GET /videos/{id} (or GET /jobs/{id}) until the render is done. Video can take a while — these are long-running jobs.
Audio (text-to-speech)
POST /audio/generate turns text into a voiceover. Pricing is per 1,000 characters, so pass the text you want spoken.
GET /audio/{id} for the finished audio file.
Music
POST /audio/music makes an original track from a text description: a soundtrack, a
background bed, a jingle or a song. Write prompt as a brief (genre, mood, tempo,
instruments, energy) and say “instrumental, no vocals” for a bed under narration.
GET /audio/{id} (or GET /jobs/{id}); the track is result.audio. Tracks come
back at the model’s own length, often a few minutes, so trim them to fit. Only the fast
tier takes input.duration, an upper bound in seconds. The models take text only, so a
reference recording can’t be passed. Describe its style instead.
Web tools
Beyond media, Crevio exposes a suite of live web operations — the same tools your AI Tasks use to research the open web. All are metered.POST /web/research is the heavyweight: give it a query and a depth, and it fans out searches, reads sources, and synthesizes a cited answer.
depth enum controls how hard it digs — at the cost of more credits and time:
Worked example: generate a product image and attach it
A common flow — create a draft product, generate a cover image, and attach it.1
Create a draft product
"id": "prod_abc123").2
Generate the cover image
3
Poll until the image is ready
file_def456).4
Attach the file to the product
images becomes the cover. An empty array clears the gallery.Next steps
Launch a paid course
Chain products, pricing, and checkout end to end.
Tasks
Hand web research and content jobs to your AI workforce.
Usage & billing
How metered credits are consumed per call.
Conventions
The rules every endpoint follows.

