Video
Bernini-R Edit Video
Credit-based pricing. Supports reference video.
Output
video
Inputs
- Reference video (required)
Example prompt
Turn the sunny afternoon into a rainy night — wet reflective streets, glowing shop signs, umbrellas — keep every person and their motion exactly as they areTry this prompt →
LLM-ready
API & LLM schema
Exact request contract for this model. Agents can fetch it from /api/v1/models?id=fal-ai/bernini-r/edit-video.
POST
/api/v1/generate16 fields · 3 required| Field | Type | Requirement | Contract |
|---|---|---|---|
model_id | constant | Required | ArtEmotion model identifier. |
extra | object | Optional | Model-specific settings may also be nested here. |
max_credits | number | Optional | Reject before submission if the estimated list price exceeds this cap. · Range: 1–… |
webhook_url | string | Optional | Format: uri |
webhook_secret | string | Optional | Optional model input. |
folder_id | string | Optional | Optional model input. |
prompt | string | Required | Optional model input. |
negative_prompt | string | Optional | Leave blank to keep the model's tuned Wan2.2 default negative prompt. · Default: |
num_inference_steps | number | Optional | Number of denoising steps. · Default: 30 · Range: 1–50 |
max_image_size | number | Optional | Long-edge size in pixels — sets output size for generation and caps source/reference media for edits. Billing scales with this tier. · Allowed: 576, 848, 1280 · Default: 848 |
num_frames | number | Optional | Number of frames (snapped internally to 4k+1). Output length = frames ÷ FPS. · Default: 81 · Range: 5–121 |
frames_per_second | number | Optional | Output frames per second. · Default: 16 · Range: 4–30 |
acceleration | string | Optional | 'regular' enables MagCache step-skipping for faster generation at a small quality cost. · Allowed: none, regular · Default: none |
enable_prompt_expansion | boolean | Optional | Rewrite the prompt with an LLM before generation. The model is tuned on enhanced prompts. · Default: false |
seed | integer | Optional | Seed for reproducibility. Random when omitted. |
video_url | string | Required | Format: uri |
Minimal request example
{
"model_id": "fal-ai/bernini-r/edit-video",
"prompt": "Turn the sunny afternoon into a rainy night — wet reflective streets, glowing shop signs, umbrellas — keep every person and their motion exactly as they are",
"video_url": "https://example.com/video"
}Raw JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.artemotion.ai/api/v1/models?id=fal-ai%2Fbernini-r%2Fedit-video",
"title": "Bernini-R Edit Video generation request",
"description": "Request body accepted by POST /api/v1/generate for fal-ai/bernini-r/edit-video.",
"type": "object",
"properties": {
"model_id": {
"type": "string",
"const": "fal-ai/bernini-r/edit-video",
"description": "ArtEmotion model identifier."
},
"extra": {
"type": "object",
"additionalProperties": true,
"description": "Model-specific settings may also be nested here."
},
"max_credits": {
"type": "number",
"minimum": 1,
"description": "Reject before submission if the estimated list price exceeds this cap."
},
"webhook_url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"webhook_secret": {
"type": "string",
"maxLength": 512
},
"folder_id": {
"type": "string"
},
"prompt": {
"type": "string"
},
"negative_prompt": {
"title": "Negative Prompt",
"description": "Leave blank to keep the model's tuned Wan2.2 default negative prompt.",
"default": "",
"type": "string"
},
"num_inference_steps": {
"title": "Steps",
"description": "Number of denoising steps.",
"default": 30,
"type": "number",
"minimum": 1,
"maximum": 50,
"multipleOf": 1
},
"max_image_size": {
"title": "Output Size (long edge)",
"description": "Long-edge size in pixels — sets output size for generation and caps source/reference media for edits. Billing scales with this tier.",
"default": "848",
"type": "number",
"enum": [
576,
848,
1280
]
},
"num_frames": {
"title": "Num Frames",
"description": "Number of frames (snapped internally to 4k+1). Output length = frames ÷ FPS.",
"default": 81,
"type": "number",
"minimum": 5,
"maximum": 121,
"multipleOf": 1
},
"frames_per_second": {
"title": "FPS",
"description": "Output frames per second.",
"default": 16,
"type": "number",
"minimum": 4,
"maximum": 30,
"multipleOf": 1
},
"acceleration": {
"title": "Acceleration",
"description": "'regular' enables MagCache step-skipping for faster generation at a small quality cost.",
"default": "none",
"type": "string",
"enum": [
"none",
"regular"
]
},
"enable_prompt_expansion": {
"title": "Prompt Expansion",
"description": "Rewrite the prompt with an LLM before generation. The model is tuned on enhanced prompts.",
"default": false,
"type": "boolean"
},
"seed": {
"title": "Seed",
"description": "Seed for reproducibility. Random when omitted.",
"type": "integer"
},
"video_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"model_id",
"prompt",
"video_url"
],
"additionalProperties": false
}FAQ
How much does Bernini-R Edit Video cost on ArtEmotion?
Credit-based pricing. You pay in ArtEmotion credits — every plan and top-up converts USD to credits at a fixed rate.
Do I get my credits back if Bernini-R Edit Video fails?
Yes — failed generations are never charged. The credits are released back to your balance automatically.
Can I call Bernini-R Edit Video from the API?
Yes. Use POST /api/v1/generate with model_id: "fal-ai/bernini-r/edit-video". See the API reference for the full schema.
Where are my generations stored?
Every output is saved to your personal Library. You can export or delete everything any time from Privacy & deletion.
Ready to generate with Bernini-R Edit Video?
Start now →No commitment. New accounts get 50 free credits on signup. See pricing.