---
title: "Submit Generation Job"
method: POST
path: "/models/{apiId}/run"
---

# Submit Generation Job

`POST /models/{apiId}/run`

## Request

- Base URL: `https://pixeldojo.ai/api/v1`
- URL: `https://pixeldojo.ai/api/v1/models/{apiId}/run`
- Auth: HTTP bearer

Submit an async generation job for a specific model.

## Path parameters

- `apiId` 'brand-overlay' | 'bria-3-2' | 'change-camera-angle' | 'clarity-pro-upscaler' | 'consistent-characters' | 'creative-upscale' | 'ernie' | 'face-enhance' | 'flux' | 'flux-2-flex' | 'flux-2-klein-4b' | 'flux-2-klein-9b' | 'flux-2-pro' | 'flux-2-max' | 'flux-2-dev' | 'flux-2-lora' | 'flux-2-dev-lora' | 'flux-3-image' | 'flux-3-image-klein' | 'flux-3-video' | 'flux-edit' | 'flux-dev' | 'flux-krea-dev' | 'flux-dev-multi-lora' | 'flux-1.1-pro' | 'flux-1.1-pro-ultra' | 'flux-kontext-pro' | 'flux-kontext-max' | 'gemini-flash' | 'nano-banana-pro' | 'nano-banana-2' | 'nano-banana-2-1' | 'nano-banana-2-lite' | 'google-gemini-omni-flash' | 'google-nano-banana' | 'gpt-image-2' | 'gpt-image-2-5' | 'gpt-image-2-edit' | 'grok-r2v' | 'grok-video-extend' | 'hailuo-standard' | 'hailuo-fast' | 'happyhorse-1.0-r2v' | 'happyhorse-1.0-t2v' | 'happyhorse-1.0-i2v' | 'happyhorse-1.0-video-edit' | 'hunyuan-3d' | 'hunyuan-image-3' | 'ideogram-v4-turbo' | 'ideogram-v4-balanced' | 'ideogram-v4-quality' | 'ideogram-4-5' | 'ideogram-character' | 'image-editor' | 'image-relighting' | 'image-to-image-flux' | 'imagineart' | 'kling-avatar' | 'kling-image' | 'kling-image-edit' | 'kling-motion-control' | 'kling-motion-control-pro' | 'kling-reference-to-video' | 'kling-v2-6' | 'kling-video-v3-standard-text' | 'kling-video-v3-standard-image' | 'kling-video-v3-pro-text' | 'kling-video-v3-pro-image' | 'kling-video-edit' | 'krea-v2' | 'luma-uni-1' | 'magnific-upscaler' | 'minimax-h3' | 'minimax-h3-max' | 'minimax-h3-turbo' | 'omnihuman' | 'outpaint' | 'p-image' | 'p-image-edit' | 'p-image-ideogram' | 'p-image-upscale' | 'p-video' | 'p-video-2-pro-reference' | 'p-video-avatar' | 'pixverse' | 'pixverse-v6' | 'ponyxl-ponyrealism-v23' | 'ponyxl-tponynai3-v7' | 'ponyxl-waianinsfwponyxl-v140' | 'qwen-3-pro' | 'qwen-image-plus' | 'qwen-image-max' | 'qwen-image-2.0' | 'qwen-image-2.0-pro' | 'qwen-image-2.1-turbo' | 'qwen-image-2.1' | 'qwen-image-2-edit' | 'qwen-image-edit' | 'qwen-image-edit-spicy' | 'recraft-v4.1' | 'recraft-v4.1-pro' | 'recraft-v4.1-svg' | 'recraft-v4.1-pro-svg' | 'redux-flux' | 'riverflow' | 'rodin' | 'seed-audio' | 'seedance-1.5' | 'seedance-2-high' | 'seedance-2-mini' | 'seedance-2-5' | 'seedance-2-5-video-edit' | 'seedance-2-reference' | 'seedance-video-edit' | 'seedream-4' | 'seedream-5' | 'seedream-5-flash' | 'seedream-5-lite' | 'text-to-music' | 'text-to-speech' | 'veo-3.1-fast' | 'veo-3.1-standard' | 'veo-3.1-lite' | 'video-autocaption' | 'video-reframe' | 'video-transform' | 'video-upscaler' | 'vidu-q3' | 'wan-2.1-video' | 'wan-2.2-standard' | 'wan-2.2-plus' | 'wan-2.2-animate' | 'wan-2.2-i2v-spicy' | 'wan-2.2-replace' | 'wan-2.6-standard' | 'wan-2.6-flash' | 'wan-2.6-image' | 'wan-2.6-image-edit' | 'wan-2.7-i2v-spicy' | 'wan-2.7-image' | 'wan-2.7-image-pro' | 'wan-2.7-image-edit' | 'wan-2.7-t2v' | 'wan-2.7-i2v' | 'wan-3-0-video' | 'wan-image' | 'wan-reference-to-video' | 'wan-video-character-swap' | 'wan-video-edit' | 'xai-image' | 'xai-image-edit' | 'xai-video' | 'xai-video-edit' | 'z-image-spicy' | 'z-image-turbo', required

## Request body

- union: Canonical request body. Match the path apiId to the corresponding schema variant.
  - object: Add a hook title, a lower-third callout, a review card, a progress bar, a countdown timer, a price tag, an offer badge and a branded end card to any video. Exact text in your brand color.
    - `video` string, uri, required: Reference video URL.
    - `color` string: Brand color as #RRGGBB: fills the offer badge and the CTA button. Defaults to #FFE500.
    - `hook_text` string: Hook title for the first seconds, 5-8 words, e.g. "Octopuses have THREE hearts?".
    - `hook_duration` number: Seconds the hook stays. Defaults to 2.5.
    - `callout_title` string: Lower third: a benefit ("Ships in 24h") or a name.
    - `callout_subtitle` string: Second line under the label, e.g. a title or detail.
    - `callout_style` 'label' | 'classic': label (default): a brand-colored box. classic: the broadcast lower third, an accent bar beside a bold name and a lighter title (bottom band on 16:9).
    - `callout_start` number: Second the label slides in. Defaults to 3.
    - `callout_duration` number: Seconds it stays. Defaults to 4.
    - `review_quote` string: Review card quote, e.g. "Best mug I have ever owned".
    - `review_name` string: Who said it, e.g. "Jess, verified buyer".
    - `review_stars` integer: Stars on the review card. Defaults to 5.
    - `review_start` number: Second the review card appears. Defaults to just after the hook.
    - `review_duration` number: Seconds it stays. Defaults to 4.
    - `progress_bar` boolean: A thin bar in the brand color across the top that fills as the video plays.
    - `countdown_from` string: Countdown start, e.g. "23:59:59"; the digits tick down each second it is on screen.
    - `countdown_label` string: Words above the timer. Defaults to "Ends in".
    - `countdown_start` number: Second the timer appears. Defaults to 0.5, or just after the hook.
    - `countdown_duration` number: Seconds it stays. Defaults to 4.
    - `price_now` string: Price tag, the price to pay, e.g. "$49".
    - `price_was` string: Old price, shown struck through, e.g. "$79".
    - `price_label` string: Small line under the price, e.g. "Today only".
    - `price_start` number: Second the tag appears. Defaults to just after the hook.
    - `price_duration` number: Seconds it stays. Defaults to 4.
    - `offer_text` string: Offer callout headline, e.g. "50% OFF".
    - `offer_subtext` string: Small line under the offer, e.g. "This week only".
    - `offer_start` number: Second the offer appears. Defaults to 0.5, or just after the hook.
    - `offer_duration` number: Seconds the callout stays. Defaults to 3.
    - `offer_position` 'top' | 'bottom': top (default) or bottom, above where captions sit.
    - `end_headline` string: End card headline. Setting it adds the end card.
    - `end_cta` string: End card button text, e.g. "Shop now".
    - `end_url` string, uri: End card web address, e.g. "pixeldojo.ai".
    - `logo_url` string, uri: End card logo: a PNG (transparent works best) or JPG URL.
    - `end_duration` number: Seconds the end card holds after the video. Defaults to 3.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Bria 3.2 — text-to-image with 9 aspect ratio presets at 1K resolution, optional image and prompt enhancement, and photography/art medium hints.
    - `prompt` string, required: Text description of the image to generate (2–3000 characters)
    - `negative_prompt` string: Optional description of elements to avoid in the image
    - `aspect_ratio` '1:1' | '3:2' | '2:3' | '7:4' | '4:7' | '9:7' | '7:9' | '17:14' | '14:17': Aspect ratio preset (1K resolution)
    - `num_outputs` integer: Number of images to generate (1–4)
    - `medium` 'auto' | 'photography' | 'art': Bias the output toward a medium (photography or art)
    - `prompt_enhancement` boolean: Let Bria expand your prompt with descriptive variations
    - `seed` integer: Random seed for reproducibility
    - `output_format` 'PNG' | 'JPG' | 'WEBP': Output file format.
    - `enhance_image` boolean
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Camera-aware editing via Qwen Image Edit with multi-angle LoRA. 360° orbit, tilt, and zoom.
    - `image` string, uri, required: URL of the source image to re-frame.
    - `horizontal_angle` number: Yaw / orbit around the subject (0–360°).
    - `vertical_angle` number: Pitch / tilt above or below eye line (-30 to 90°).
    - `zoom` number: Camera distance (0=wide angle, 5=medium, 10=close-up).
    - `lora_scale` number: Strength of the bundled multi-angle LoRA (0–4). The LoRA itself is fixed by the tool — this dials its effect.
    - `guidance_scale` number: Prompt adherence (1–20). Accepted for backwards compatibility; the current endpoint runs a fixed guidance scale.
    - `num_inference_steps` integer: Number of diffusion steps (1–50).
    - `acceleration` 'none' | 'regular': Provider acceleration setting.
    - `image_size` 'square_hd' | 'square' | 'portrait_4_3' | 'portrait_16_9' | 'landscape_4_3' | 'landscape_16_9': Output framing preset.
    - `negative_prompt` string: Things to avoid in the result. Accepted for backwards compatibility; the current endpoint ignores it.
    - `num_images` integer: Accepted for backwards compatibility. The current endpoint returns one image per request, and every request costs 1 credit.
    - `seed` integer: Random seed for reproducibility.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Clarity Pro Upscaler via Replicate. Photorealistic upscaling with identity preservation and creative control — up to 16× and 64 megapixels.
    - `image` string, uri, required: URL of the image to upscale. We read its pixel size before charging: 1 credit per output megapixel (width x height x scale_factor², rounded up), at least 1 and at most 64. An image we cannot read is refused, uncharged.
    - `scale_factor` integer: Upscale multiplier. One of 2, 4, 8, or 16. Output is capped at 64 megapixels: a larger upscale is refused before any charge. A 2x upscale of a 1 megapixel image is 4 credits.
    - `creativity` number: Creative control (-10 to 10). Negative values stay closer to the original; positive values let the model add more detail.
    - `output_format` 'png' | 'jpg': Output image format. PNG or JPG (95% quality).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Generate consistent character variations with FLUX Kontext, Nano Banana Pro/2, Flux 2 Dev, Qwen Image 2 Pro, or Grok Imagine.
    - `input_image` string, uri, required: Reference image URL.
    - `num_images` integer: Number of output images.
    - `background` 'white' | 'gray' | 'black' | 'green screen' | 'neutral' | 'original': Output background handling. "transparent" produces a cut-out PNG.
    - `randomize_images` boolean: Randomize backgrounds and poses across the generated set so the output isn't monotonous.
    - `aspect_ratio` '1:1' | '4:3' | '3:4' | '3:2' | '2:3' | '16:9' | '9:16': Aspect ratio of the generated images. Ignored by flux-kontext (portrait-series has no aspect control).
    - `model_type` 'flux-kontext' | 'nano-banana-pro' | 'nano-banana-2' | 'flux-2-dev' | 'qwen-image-2-pro' | 'grok-imagine' | 'flux-kontext-dev' | 'wan-2.7-edit' | 'seedream-4' | 'seedream-5' | 'seedream-5-flash': Generation backbone — flux-kontext is fastest; nano-banana-pro / qwen-image-2-pro produce sharper portraits at higher cost.
    - `prompt` string: Text instruction describing what to generate or edit.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Clarity Upscaler (creative upscale) via Replicate. Boost detail with stable-diffusion refinement.
    - `image` string, uri, required: URL of the image to upscale.
    - `prompt` string: Optional guidance prompt to steer the creative refinement.
    - `scale_factor` number: Upscale multiplier (1–10).
    - `creativity` number: How freely the model reinterprets detail (0=faithful, 1=creative).
    - `resemblance` number: How closely the output should match the source (0–3).
    - `sharpen` number: Sharpening amount (0–10).
    - `dynamic` number: HDR-like dynamic range boost (1–50).
    - `num_inference_steps` integer: Number of diffusion steps (1–100).
    - `negative_prompt` string: Things to avoid during refinement.
    - `output_format` string: Image output format (e.g. Png, jpg, webp).
    - `seed` integer: Random seed for reproducibility.
    - `lora_links` string: Comma- or newline-separated list of LoRA URLs (or HuggingFace paths) to apply during the SD refinement pass.
    - `handfix` string
    - `sd_model` string
    - `scheduler` string: Sampler / denoising schedule.
    - `downscaling` boolean
    - `fractality` number: Detail-fractality boost. Higher = more micro-detail injected at every scale level.
    - `custom_sd_model` string
    - `downscaling_resolution` integer
    - `pattern` boolean
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Baidu Ernie text-to-image. Multilingual prompts and built-in prompt expansion.
    - `prompt` string, required: Text prompt. Supports English, Chinese, and Japanese.
    - `model` 'fal-ai/ernie-image' | 'fal-ai/ernie-image/turbo': fal-ai/ernie-image (quality) or fal-ai/ernie-image/turbo (fast)
    - `image_size` 'square_hd' | 'landscape_hd' | 'portrait_hd' | 'square_uhd': HD (1 credit) or UHD (3 credits, base model only). Turbo is 1 credit flat.
    - `negative_prompt` string: Text describing what should not appear in the image. Accepted for backwards compatibility; the current Ernie endpoint ignores it.
    - `seed` integer: Random seed for reproducibility
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Crystal Upscaler via Replicate. Face-detail preserving upscale, cost scales with output megapixels.
    - `image` string, uri, required: URL of the portrait to upscale. We read its pixel size before charging: the output (width x height x scale_factor²) is billed by tier, 1.5 credits up to 4.4 MP, 3 up to 8.8 MP, 6 up to 17.6 MP, 12 up to 27.5 MP, 24 up to 55 MP, 48 up to 110 MP and 96 above that. An image we cannot read is refused, uncharged.
    - `scale_factor` number: Upscale multiplier, 1 to 8. A 4x upscale of a 1 megapixel portrait is a 16 MP output: 6 credits.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: FLUX family on Replicate. Schnell, Dev, Pro, Kontext, Ultra, and LoRA remix variants in one entrypoint.
    - `prompt` string, required: Text description of the image to generate
    - `model` string: FLUX variant identifier (e.g. "black-forest-labs/flux-dev", "black-forest-labs/flux-schnell", "black-forest-labs/flux-pro", "black-forest-labs/flux-1.1-pro", "black-forest-labs/flux-kontext-pro", "black-forest-labs/flux-kontext-max", "lucataco/hyper-flux-8step", "black-forest-labs/flux-schnell-lora", "black-forest-labs/flux-dev-lora").
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '21:9' | '9:21' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Image aspect ratio. Use "custom" with width/height for free-form sizes; "match_input_image" for image-to-image variants.
    - `num_outputs` number: How many images to generate per call.
    - `seed` number: Random seed for reproducibility
    - `output_format` string: Image output format
    - `output_quality` number: Output image quality (0–100, formats that support it).
    - `guidance_scale` number: Prompt adherence (variant-dependent).
    - `num_inference_steps` number: Number of denoising steps (variant-dependent).
    - `prompt_upsampling` boolean: Enhance prompt for better results (Pro variants).
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive). Pro variants only.
    - `width` number: Image width in pixels (used with aspect_ratio="custom").
    - `height` number: Image height in pixels (used with aspect_ratio="custom").
    - `megapixels` string: Output resolution in megapixels (Schnell/Dev variants).
    - `hf_lora` string: HuggingFace LoRA path or URL (e.g. "owner/repo" or a direct .safetensors URL). Only honored by LoRA-capable variants such as "black-forest-labs/flux-dev-lora" and "black-forest-labs/flux-schnell-lora".
    - `hf_loras` string[]: Array of HuggingFace LoRA paths/URLs for stacked LoRA loading.
    - `lora_weights` string: URL or path to a single LoRA weights file (LoRA-capable variants only).
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `lora_scales` number[]: Array of LoRA strengths matching hf_loras.
    - `customLoras` string[]: JSON array of custom LoRA objects. Each entry: {"modelUrl": "https://...", "scale": 1.0}. Resolved server-side; LoRA-capable variants only.
    - `guidance` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `prompt_strength` number: How strongly the prompt overrides the input image (image-to-image).
    - `interval` number
    - `raw` boolean
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Max-quality with up to 10 reference images
    - `prompt` string, required: Text description of the image to generate
    - `input_images` string[]: Optional array of reference image URLs (up to 10). When supplied, the request becomes a multi-image edit and the model composes / restyles based on the references plus the prompt. Every variant is edit-capable; the per-variant ceiling applies (Flex 10, Pro/Max 8, Dev and Dev + LoRA 4, Klein and Klein 9B + LoRA 5) and extras are dropped. Flex adds 2 credits, Max 1 credit and Dev + LoRA 0.25 credits for each reference image sent, on top of the output price; on those three, each reference is downscaled to at most 1 megapixel (aspect ratio kept) before it is sent, and one we cannot read is refused and refunded. Omit for plain text-to-image.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Output aspect ratio. Pass `match_input_image` to inherit the aspect of the first input image (multi-image edits only). Pass `custom` with `width` and `height` (each rounded to a multiple of 32) for a free-form size; on Flex and Max that size is billed as the smallest resolution tier holding it (1 MP = 1024 x 1024) and can be at most 4 MP (2048 x 2048).
    - `resolution` '0.5 MP' | '1 MP' | '2 MP' | '4 MP': Output resolution in megapixels
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive)
    - `prompt_upsampling` boolean: Provider-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` number: Random seed for reproducibility
    - `output_format` 'png' | 'jpg' | 'webp': Image output format
    - `loras` string[]: Custom LoRA weights, applied by the flux-2-lora (Klein 9B LoRAs) and flux-2-dev-lora (FLUX.2 [dev] LoRAs) variants only and ignored by the others. Each entry is an object: {"url": "<safetensors URL>", "scale": 1.0}. Up to 3 stack, extras are dropped, and scale defaults to 1.0. The URL must be a LoRA you trained here or a Hugging Face / Civitai link. On flux-2-dev-lora, the first request with a LoRA it has not seen yet answers that the LoRA is being prepared (a few minutes; the credits are refunded); retry after that.
    - `model` 'black-forest-labs/flux-2-flex' | 'black-forest-labs/flux-2-klein-4b' | 'black-forest-labs/flux-2-klein-9b' | 'black-forest-labs/flux-2-pro' | 'black-forest-labs/flux-2-max' | 'black-forest-labs/flux-2-dev' | 'fal-ai/flux-2/lora' | 'black-forest-labs/flux-2-dev-lora': Model variant to use.
    - `images` string[]: Reference image URLs.
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `disable_safety_checker` boolean: Accepted for backwards compatibility but ignored: provider content moderation is always on for API requests and cannot be disabled.
    - `output_quality` number: JPEG/WEBP encoding quality (0–100).
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `acceleration` string: Inference acceleration mode. Higher levels trade fidelity for speed.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Very fast generation and editing with up to 5 reference images
    - `prompt` string, required: Text description of the image to generate
    - `input_images` string[]: Optional array of reference image URLs (up to 10). When supplied, the request becomes a multi-image edit and the model composes / restyles based on the references plus the prompt. Every variant is edit-capable; the per-variant ceiling applies (Flex 10, Pro/Max 8, Dev and Dev + LoRA 4, Klein and Klein 9B + LoRA 5) and extras are dropped. Flex adds 2 credits, Max 1 credit and Dev + LoRA 0.25 credits for each reference image sent, on top of the output price; on those three, each reference is downscaled to at most 1 megapixel (aspect ratio kept) before it is sent, and one we cannot read is refused and refunded. Omit for plain text-to-image.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Output aspect ratio. Pass `match_input_image` to inherit the aspect of the first input image (multi-image edits only). Pass `custom` with `width` and `height` (each rounded to a multiple of 32) for a free-form size; on Flex and Max that size is billed as the smallest resolution tier holding it (1 MP = 1024 x 1024) and can be at most 4 MP (2048 x 2048).
    - `resolution` '0.5 MP' | '1 MP' | '2 MP' | '4 MP': Output resolution in megapixels
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive)
    - `prompt_upsampling` boolean: Provider-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` number: Random seed for reproducibility
    - `output_format` 'png' | 'jpg' | 'webp': Image output format
    - `loras` string[]: Custom LoRA weights, applied by the flux-2-lora (Klein 9B LoRAs) and flux-2-dev-lora (FLUX.2 [dev] LoRAs) variants only and ignored by the others. Each entry is an object: {"url": "<safetensors URL>", "scale": 1.0}. Up to 3 stack, extras are dropped, and scale defaults to 1.0. The URL must be a LoRA you trained here or a Hugging Face / Civitai link. On flux-2-dev-lora, the first request with a LoRA it has not seen yet answers that the LoRA is being prepared (a few minutes; the credits are refunded); retry after that.
    - `model` 'black-forest-labs/flux-2-flex' | 'black-forest-labs/flux-2-klein-4b' | 'black-forest-labs/flux-2-klein-9b' | 'black-forest-labs/flux-2-pro' | 'black-forest-labs/flux-2-max' | 'black-forest-labs/flux-2-dev' | 'fal-ai/flux-2/lora' | 'black-forest-labs/flux-2-dev-lora': Model variant to use.
    - `images` string[]: Reference image URLs.
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `disable_safety_checker` boolean: Accepted for backwards compatibility but ignored: provider content moderation is always on for API requests and cannot be disabled.
    - `output_quality` number: JPEG/WEBP encoding quality (0–100).
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `acceleration` string: Inference acceleration mode. Higher levels trade fidelity for speed.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: 4-step distilled FLUX.2 [klein] foundation model for flexible control
    - `prompt` string, required: Text description of the image to generate
    - `input_images` string[]: Optional array of reference image URLs (up to 10). When supplied, the request becomes a multi-image edit and the model composes / restyles based on the references plus the prompt. Every variant is edit-capable; the per-variant ceiling applies (Flex 10, Pro/Max 8, Dev and Dev + LoRA 4, Klein and Klein 9B + LoRA 5) and extras are dropped. Flex adds 2 credits, Max 1 credit and Dev + LoRA 0.25 credits for each reference image sent, on top of the output price; on those three, each reference is downscaled to at most 1 megapixel (aspect ratio kept) before it is sent, and one we cannot read is refused and refunded. Omit for plain text-to-image.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Output aspect ratio. Pass `match_input_image` to inherit the aspect of the first input image (multi-image edits only). Pass `custom` with `width` and `height` (each rounded to a multiple of 32) for a free-form size; on Flex and Max that size is billed as the smallest resolution tier holding it (1 MP = 1024 x 1024) and can be at most 4 MP (2048 x 2048).
    - `resolution` '0.5 MP' | '1 MP' | '2 MP' | '4 MP': Output resolution in megapixels
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive)
    - `prompt_upsampling` boolean: Provider-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` number: Random seed for reproducibility
    - `output_format` 'png' | 'jpg' | 'webp': Image output format
    - `loras` string[]: Custom LoRA weights, applied by the flux-2-lora (Klein 9B LoRAs) and flux-2-dev-lora (FLUX.2 [dev] LoRAs) variants only and ignored by the others. Each entry is an object: {"url": "<safetensors URL>", "scale": 1.0}. Up to 3 stack, extras are dropped, and scale defaults to 1.0. The URL must be a LoRA you trained here or a Hugging Face / Civitai link. On flux-2-dev-lora, the first request with a LoRA it has not seen yet answers that the LoRA is being prepared (a few minutes; the credits are refunded); retry after that.
    - `model` 'black-forest-labs/flux-2-flex' | 'black-forest-labs/flux-2-klein-4b' | 'black-forest-labs/flux-2-klein-9b' | 'black-forest-labs/flux-2-pro' | 'black-forest-labs/flux-2-max' | 'black-forest-labs/flux-2-dev' | 'fal-ai/flux-2/lora' | 'black-forest-labs/flux-2-dev-lora': Model variant to use.
    - `images` string[]: Reference image URLs.
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `disable_safety_checker` boolean: Accepted for backwards compatibility but ignored: provider content moderation is always on for API requests and cannot be disabled.
    - `output_quality` number: JPEG/WEBP encoding quality (0–100).
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `acceleration` string: Inference acceleration mode. Higher levels trade fidelity for speed.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: High-quality with up to 8 reference images
    - `prompt` string, required: Text description of the image to generate
    - `input_images` string[]: Optional array of reference image URLs (up to 10). When supplied, the request becomes a multi-image edit and the model composes / restyles based on the references plus the prompt. Every variant is edit-capable; the per-variant ceiling applies (Flex 10, Pro/Max 8, Dev and Dev + LoRA 4, Klein and Klein 9B + LoRA 5) and extras are dropped. Flex adds 2 credits, Max 1 credit and Dev + LoRA 0.25 credits for each reference image sent, on top of the output price; on those three, each reference is downscaled to at most 1 megapixel (aspect ratio kept) before it is sent, and one we cannot read is refused and refunded. Omit for plain text-to-image.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Output aspect ratio. Pass `match_input_image` to inherit the aspect of the first input image (multi-image edits only). Pass `custom` with `width` and `height` (each rounded to a multiple of 32) for a free-form size; on Flex and Max that size is billed as the smallest resolution tier holding it (1 MP = 1024 x 1024) and can be at most 4 MP (2048 x 2048).
    - `resolution` '0.5 MP' | '1 MP' | '2 MP' | '4 MP': Output resolution in megapixels
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive)
    - `prompt_upsampling` boolean: Provider-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` number: Random seed for reproducibility
    - `output_format` 'png' | 'jpg' | 'webp': Image output format
    - `loras` string[]: Custom LoRA weights, applied by the flux-2-lora (Klein 9B LoRAs) and flux-2-dev-lora (FLUX.2 [dev] LoRAs) variants only and ignored by the others. Each entry is an object: {"url": "<safetensors URL>", "scale": 1.0}. Up to 3 stack, extras are dropped, and scale defaults to 1.0. The URL must be a LoRA you trained here or a Hugging Face / Civitai link. On flux-2-dev-lora, the first request with a LoRA it has not seen yet answers that the LoRA is being prepared (a few minutes; the credits are refunded); retry after that.
    - `model` 'black-forest-labs/flux-2-flex' | 'black-forest-labs/flux-2-klein-4b' | 'black-forest-labs/flux-2-klein-9b' | 'black-forest-labs/flux-2-pro' | 'black-forest-labs/flux-2-max' | 'black-forest-labs/flux-2-dev' | 'fal-ai/flux-2/lora' | 'black-forest-labs/flux-2-dev-lora': Model variant to use.
    - `images` string[]: Reference image URLs.
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `disable_safety_checker` boolean: Accepted for backwards compatibility but ignored: provider content moderation is always on for API requests and cannot be disabled.
    - `output_quality` number: JPEG/WEBP encoding quality (0–100).
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `acceleration` string: Inference acceleration mode. Higher levels trade fidelity for speed.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: The highest fidelity image model from Black Forest Labs
    - `prompt` string, required: Text description of the image to generate
    - `input_images` string[]: Optional array of reference image URLs (up to 10). When supplied, the request becomes a multi-image edit and the model composes / restyles based on the references plus the prompt. Every variant is edit-capable; the per-variant ceiling applies (Flex 10, Pro/Max 8, Dev and Dev + LoRA 4, Klein and Klein 9B + LoRA 5) and extras are dropped. Flex adds 2 credits, Max 1 credit and Dev + LoRA 0.25 credits for each reference image sent, on top of the output price; on those three, each reference is downscaled to at most 1 megapixel (aspect ratio kept) before it is sent, and one we cannot read is refused and refunded. Omit for plain text-to-image.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Output aspect ratio. Pass `match_input_image` to inherit the aspect of the first input image (multi-image edits only). Pass `custom` with `width` and `height` (each rounded to a multiple of 32) for a free-form size; on Flex and Max that size is billed as the smallest resolution tier holding it (1 MP = 1024 x 1024) and can be at most 4 MP (2048 x 2048).
    - `resolution` '0.5 MP' | '1 MP' | '2 MP' | '4 MP': Output resolution in megapixels
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive)
    - `prompt_upsampling` boolean: Provider-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` number: Random seed for reproducibility
    - `output_format` 'png' | 'jpg' | 'webp': Image output format
    - `loras` string[]: Custom LoRA weights, applied by the flux-2-lora (Klein 9B LoRAs) and flux-2-dev-lora (FLUX.2 [dev] LoRAs) variants only and ignored by the others. Each entry is an object: {"url": "<safetensors URL>", "scale": 1.0}. Up to 3 stack, extras are dropped, and scale defaults to 1.0. The URL must be a LoRA you trained here or a Hugging Face / Civitai link. On flux-2-dev-lora, the first request with a LoRA it has not seen yet answers that the LoRA is being prepared (a few minutes; the credits are refunded); retry after that.
    - `model` 'black-forest-labs/flux-2-flex' | 'black-forest-labs/flux-2-klein-4b' | 'black-forest-labs/flux-2-klein-9b' | 'black-forest-labs/flux-2-pro' | 'black-forest-labs/flux-2-max' | 'black-forest-labs/flux-2-dev' | 'fal-ai/flux-2/lora' | 'black-forest-labs/flux-2-dev-lora': Model variant to use.
    - `images` string[]: Reference image URLs.
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `disable_safety_checker` boolean: Accepted for backwards compatibility but ignored: provider content moderation is always on for API requests and cannot be disabled.
    - `output_quality` number: JPEG/WEBP encoding quality (0–100).
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `acceleration` string: Inference acceleration mode. Higher levels trade fidelity for speed.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Fast quality with up to 4 reference images
    - `prompt` string, required: Text description of the image to generate
    - `input_images` string[]: Optional array of reference image URLs (up to 10). When supplied, the request becomes a multi-image edit and the model composes / restyles based on the references plus the prompt. Every variant is edit-capable; the per-variant ceiling applies (Flex 10, Pro/Max 8, Dev and Dev + LoRA 4, Klein and Klein 9B + LoRA 5) and extras are dropped. Flex adds 2 credits, Max 1 credit and Dev + LoRA 0.25 credits for each reference image sent, on top of the output price; on those three, each reference is downscaled to at most 1 megapixel (aspect ratio kept) before it is sent, and one we cannot read is refused and refunded. Omit for plain text-to-image.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Output aspect ratio. Pass `match_input_image` to inherit the aspect of the first input image (multi-image edits only). Pass `custom` with `width` and `height` (each rounded to a multiple of 32) for a free-form size; on Flex and Max that size is billed as the smallest resolution tier holding it (1 MP = 1024 x 1024) and can be at most 4 MP (2048 x 2048).
    - `resolution` '0.5 MP' | '1 MP' | '2 MP' | '4 MP': Output resolution in megapixels
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive)
    - `prompt_upsampling` boolean: Provider-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` number: Random seed for reproducibility
    - `output_format` 'png' | 'jpg' | 'webp': Image output format
    - `loras` string[]: Custom LoRA weights, applied by the flux-2-lora (Klein 9B LoRAs) and flux-2-dev-lora (FLUX.2 [dev] LoRAs) variants only and ignored by the others. Each entry is an object: {"url": "<safetensors URL>", "scale": 1.0}. Up to 3 stack, extras are dropped, and scale defaults to 1.0. The URL must be a LoRA you trained here or a Hugging Face / Civitai link. On flux-2-dev-lora, the first request with a LoRA it has not seen yet answers that the LoRA is being prepared (a few minutes; the credits are refunded); retry after that.
    - `model` 'black-forest-labs/flux-2-flex' | 'black-forest-labs/flux-2-klein-4b' | 'black-forest-labs/flux-2-klein-9b' | 'black-forest-labs/flux-2-pro' | 'black-forest-labs/flux-2-max' | 'black-forest-labs/flux-2-dev' | 'fal-ai/flux-2/lora' | 'black-forest-labs/flux-2-dev-lora': Model variant to use.
    - `images` string[]: Reference image URLs.
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `disable_safety_checker` boolean: Accepted for backwards compatibility but ignored: provider content moderation is always on for API requests and cannot be disabled.
    - `output_quality` number: JPEG/WEBP encoding quality (0–100).
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `acceleration` string: Inference acceleration mode. Higher levels trade fidelity for speed.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Klein 9B with custom LoRA support and up to 5 reference images
    - `prompt` string, required: Text description of the image to generate
    - `input_images` string[]: Optional array of reference image URLs (up to 10). When supplied, the request becomes a multi-image edit and the model composes / restyles based on the references plus the prompt. Every variant is edit-capable; the per-variant ceiling applies (Flex 10, Pro/Max 8, Dev and Dev + LoRA 4, Klein and Klein 9B + LoRA 5) and extras are dropped. Flex adds 2 credits, Max 1 credit and Dev + LoRA 0.25 credits for each reference image sent, on top of the output price; on those three, each reference is downscaled to at most 1 megapixel (aspect ratio kept) before it is sent, and one we cannot read is refused and refunded. Omit for plain text-to-image.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Output aspect ratio. Pass `match_input_image` to inherit the aspect of the first input image (multi-image edits only). Pass `custom` with `width` and `height` (each rounded to a multiple of 32) for a free-form size; on Flex and Max that size is billed as the smallest resolution tier holding it (1 MP = 1024 x 1024) and can be at most 4 MP (2048 x 2048).
    - `resolution` '0.5 MP' | '1 MP' | '2 MP' | '4 MP': Output resolution in megapixels
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive)
    - `prompt_upsampling` boolean: Provider-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` number: Random seed for reproducibility
    - `output_format` 'png' | 'jpg' | 'webp': Image output format
    - `loras` string[]: Custom LoRA weights, applied by the flux-2-lora (Klein 9B LoRAs) and flux-2-dev-lora (FLUX.2 [dev] LoRAs) variants only and ignored by the others. Each entry is an object: {"url": "<safetensors URL>", "scale": 1.0}. Up to 3 stack, extras are dropped, and scale defaults to 1.0. The URL must be a LoRA you trained here or a Hugging Face / Civitai link. On flux-2-dev-lora, the first request with a LoRA it has not seen yet answers that the LoRA is being prepared (a few minutes; the credits are refunded); retry after that.
    - `model` 'black-forest-labs/flux-2-flex' | 'black-forest-labs/flux-2-klein-4b' | 'black-forest-labs/flux-2-klein-9b' | 'black-forest-labs/flux-2-pro' | 'black-forest-labs/flux-2-max' | 'black-forest-labs/flux-2-dev' | 'fal-ai/flux-2/lora' | 'black-forest-labs/flux-2-dev-lora': Model variant to use.
    - `images` string[]: Reference image URLs.
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `disable_safety_checker` boolean: Accepted for backwards compatibility but ignored: provider content moderation is always on for API requests and cannot be disabled.
    - `output_quality` number: JPEG/WEBP encoding quality (0–100).
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `acceleration` string: Inference acceleration mode. Higher levels trade fidelity for speed.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Flux 2 Dev with your own FLUX.2 [dev] LoRAs and up to 4 reference images
    - `prompt` string, required: Text description of the image to generate
    - `input_images` string[]: Optional array of reference image URLs (up to 10). When supplied, the request becomes a multi-image edit and the model composes / restyles based on the references plus the prompt. Every variant is edit-capable; the per-variant ceiling applies (Flex 10, Pro/Max 8, Dev and Dev + LoRA 4, Klein and Klein 9B + LoRA 5) and extras are dropped. Flex adds 2 credits, Max 1 credit and Dev + LoRA 0.25 credits for each reference image sent, on top of the output price; on those three, each reference is downscaled to at most 1 megapixel (aspect ratio kept) before it is sent, and one we cannot read is refused and refunded. Omit for plain text-to-image.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Output aspect ratio. Pass `match_input_image` to inherit the aspect of the first input image (multi-image edits only). Pass `custom` with `width` and `height` (each rounded to a multiple of 32) for a free-form size; on Flex and Max that size is billed as the smallest resolution tier holding it (1 MP = 1024 x 1024) and can be at most 4 MP (2048 x 2048).
    - `resolution` '0.5 MP' | '1 MP' | '2 MP' | '4 MP': Output resolution in megapixels
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive)
    - `prompt_upsampling` boolean: Provider-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` number: Random seed for reproducibility
    - `output_format` 'png' | 'jpg' | 'webp': Image output format
    - `loras` string[]: Custom LoRA weights, applied by the flux-2-lora (Klein 9B LoRAs) and flux-2-dev-lora (FLUX.2 [dev] LoRAs) variants only and ignored by the others. Each entry is an object: {"url": "<safetensors URL>", "scale": 1.0}. Up to 3 stack, extras are dropped, and scale defaults to 1.0. The URL must be a LoRA you trained here or a Hugging Face / Civitai link. On flux-2-dev-lora, the first request with a LoRA it has not seen yet answers that the LoRA is being prepared (a few minutes; the credits are refunded); retry after that.
    - `model` 'black-forest-labs/flux-2-flex' | 'black-forest-labs/flux-2-klein-4b' | 'black-forest-labs/flux-2-klein-9b' | 'black-forest-labs/flux-2-pro' | 'black-forest-labs/flux-2-max' | 'black-forest-labs/flux-2-dev' | 'fal-ai/flux-2/lora' | 'black-forest-labs/flux-2-dev-lora': Model variant to use.
    - `images` string[]: Reference image URLs.
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `disable_safety_checker` boolean: Accepted for backwards compatibility but ignored: provider content moderation is always on for API requests and cannot be disabled.
    - `output_quality` number: JPEG/WEBP encoding quality (0–100).
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `acceleration` string: Inference acceleration mode. Higher levels trade fidelity for speed.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Black Forest Labs FLUX 3: photoreal text-to-image up to 4K, edits with up to 10 reference images, and web-grounded generation for real products and places.
    - `prompt` string, required: What to create, or the edit to apply when image_urls is supplied.
    - `image_urls` string[]: Optional, up to 10. With references the prompt edits or combines them; refer to them as image 1, image 2, ... Each must be at least 256x256 and at most 16 MP.
    - `resolution` '768sq' | '1k' | '1.5k' | '2k' | '4k': 768sq (1 credit), 1k (1 credit), 1.5k (1 credit), 2k (1.5 credits), 4k (8 credits).
    - `aspect_ratio` 'auto' | '21:9' | '2:1' | '16:9' | '3:2' | '7:5' | '4:3' | '5:4' | '1:1' | '4:5' | '3:4' | '5:7' | '2:3' | '9:16' | '1:2' | '9:21': "auto" picks the ratio from the prompt and the first reference image.
    - `grounding` boolean: Let the model research the prompt with web and image search before generating (real products, places, current events). On by default.
    - `output_format` 'jpg' | 'png' | 'webp': Image format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: FLUX 3 Image Klein: fast open-weights FLUX 3 for text-to-image and edits with up to 10 reference images, unlimited on Relax.
    - `prompt` string, required: What to generate, or the edit to make to the reference images
    - `aspect_ratio` 'auto' | '1:1' | '4:3' | '3:4' | '3:2' | '2:3' | '16:9' | '9:16': "auto" matches the first reference image when editing, else 1:1
    - `resolution` '1k' | '2k': 1k (about 1 megapixel, 0.5 credits per image) or 2k (about 4 megapixels, 1 credits per image)
    - `num_images` integer: Images to generate (1-4)
    - `reference_images` string[]: Up to 10 image URLs to edit or compose from; refer to them as image 1, image 2, ...
    - `prompt_upsampling` boolean: Expand the prompt into the full scene caption the model is trained on (on by default). Turn it off only when you send a complete caption yourself.
    - `seed` integer: Random seed for reproducibility
    - `output_format` 'jpeg' | 'png' | 'webp': jpeg, png or webp
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: FLUX 3 Video generation. Text-to-video or image-to-video up to 20 seconds with synchronized audio, or extend and transform an existing clip.
    - `prompt` string, required: Text description of the video to generate
    - `image` string, uri: Optional starting image for image-to-video. Billed at the text-to-video rate and supports the full 5 to 20 second range. Cannot be combined with video, and aspect_ratio is ignored — the image defines the frame.
    - `last_frame_image` string, uri: Optional ending image. Requires image. The model generates the transition between the two frames.
    - `video` string, uri: Optional public HTTPS URL of a clip to extend or transform. When set, the job runs in video-to-video mode (higher credit rate, duration capped at 15 seconds) and aspect_ratio is ignored — the source clip defines the frame. Cannot be combined with image or last_frame_image.
    - `resolution` '720p' | '1080p': Video output resolution
    - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4' | '21:9': Video aspect ratio. Text-to-video only — ignored when a start frame or source video is supplied.
    - `duration` integer: Clip length in seconds. 5 to 20 for text-to-video; 5 to 15 when a source video is supplied.
    - `generate_audio` boolean: Generate synchronized audio with the video
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Black Forest Labs FLUX.1 Kontext for text-driven image editing. Dev (open-weight), Pro (state-of-the-art), and Max (premium typography).
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `input_image` string, uri: Reference image URL.
    - `input_image_1` string: Primary reference image URL (multi-image edit). Required when not using the legacy `input_image` field.
    - `input_image_2` string: Optional second reference image URL — bias the edit with an additional context image. Not supported on the "dev" model.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '21:9' | '9:21' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'match_input_image': Output aspect ratio.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `output_format` 'png' | 'jpg' | 'webp': Output file format.
    - `safety_tolerance` integer: Content filter strictness (1=strict, 5=permissive).
    - `model` 'dev' | 'pro' | 'max': Model variant to use.
    - `num_inference_steps` integer: Number of denoising steps. More steps = higher fidelity, slower.
    - `guidance` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `output_quality` integer: JPEG/WEBP encoding quality (0–100).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: High-quality development model with configurable steps and guidance. For LoRAs, use Flux Dev Multi LoRA.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '21:9' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | '9:16' | '9:21': Image aspect ratio.
    - `num_outputs` number: How many images to generate per call.
    - `seed` number: Random seed for reproducibility
    - `output_format` string: Image output format
    - `output_quality` number: Output image quality (0–100, formats that support it).
    - `model` string: Model variant to use.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `guidance` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `hf_lora` string: HuggingFace LoRA path to apply (Replicate-style).
    - `hf_loras` string[]
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `lora_scales` string[]
    - `lora_weights` string: URL or HuggingFace path to a LoRA weights file.
    - `customLoras` string[]
    - `megapixels` string: Output size in megapixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `prompt_strength` number: How strongly the prompt overrides the input image (image-to-image).
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive).
    - `interval` number
    - `prompt_upsampling` boolean: Enhance the prompt for better results.
    - `raw` boolean
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Photorealistic generation that avoids the oversaturated AI look. Supports a single LoRA via lora_weights.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '21:9' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | '9:16' | '9:21': Image aspect ratio.
    - `num_outputs` number: How many images to generate per call.
    - `seed` number: Random seed for reproducibility
    - `output_format` string: Image output format
    - `output_quality` number: Output image quality (0–100, formats that support it).
    - `lora_weights` string: URL or path to a single LoRA weights file (LoRA-capable variants only).
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `model` string: Model variant to use.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `guidance` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `hf_lora` string: HuggingFace LoRA path to apply (Replicate-style).
    - `hf_loras` string[]
    - `lora_scales` string[]
    - `customLoras` string[]
    - `megapixels` string: Output size in megapixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `prompt_strength` number: How strongly the prompt overrides the input image (image-to-image).
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive).
    - `interval` number
    - `prompt_upsampling` boolean: Enhance the prompt for better results.
    - `raw` boolean
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Flux Dev with multiple stacked custom LoRAs for complex style combinations.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '21:9' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | '9:16' | '9:21': Image aspect ratio.
    - `num_outputs` number: How many images to generate per call.
    - `seed` number: Random seed for reproducibility
    - `output_format` string: Image output format
    - `output_quality` number: Output image quality (0–100, formats that support it).
    - `hf_loras` string[]: Array of HuggingFace LoRA paths/URLs for stacked LoRA loading.
    - `lora_scales` number[]: Array of LoRA strengths matching hf_loras.
    - `model` string: Model variant to use.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `guidance` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `hf_lora` string: HuggingFace LoRA path to apply (Replicate-style).
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `lora_weights` string: URL or HuggingFace path to a LoRA weights file.
    - `customLoras` string[]
    - `megapixels` string: Output size in megapixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `prompt_strength` number: How strongly the prompt overrides the input image (image-to-image).
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive).
    - `interval` number
    - `prompt_upsampling` boolean: Enhance the prompt for better results.
    - `raw` boolean
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Latest pro model with enhanced quality and strong prompt adherence.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '2:3' | '3:2' | '4:5' | '5:4' | '9:16' | '3:4' | '4:3': Image aspect ratio.
    - `seed` number: Random seed for reproducibility
    - `output_format` string: Image output format
    - `output_quality` number: Output image quality (0–100, formats that support it).
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive). Pro variants only.
    - `model` string: Model variant to use.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `guidance` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `num_outputs` number: Number of output images.
    - `hf_lora` string: HuggingFace LoRA path to apply (Replicate-style).
    - `hf_loras` string[]
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `lora_scales` string[]
    - `lora_weights` string: URL or HuggingFace path to a LoRA weights file.
    - `customLoras` string[]
    - `megapixels` string: Output size in megapixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `prompt_strength` number: How strongly the prompt overrides the input image (image-to-image).
    - `interval` number
    - `prompt_upsampling` boolean: Enhance the prompt for better results.
    - `raw` boolean
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Highest quality Flux model with raw mode for natural-looking images.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '21:9' | '16:9' | '3:2' | '4:3' | '5:4' | '1:1' | '4:5' | '3:4' | '2:3' | '9:16' | '9:21': Image aspect ratio.
    - `seed` number: Random seed for reproducibility
    - `output_format` string: Image output format
    - `output_quality` number: Output image quality (0–100, formats that support it).
    - `model` string: Model variant to use.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `guidance` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `num_outputs` number: Number of output images.
    - `hf_lora` string: HuggingFace LoRA path to apply (Replicate-style).
    - `hf_loras` string[]
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `lora_scales` string[]
    - `lora_weights` string: URL or HuggingFace path to a LoRA weights file.
    - `customLoras` string[]
    - `megapixels` string: Output size in megapixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `prompt_strength` number: How strongly the prompt overrides the input image (image-to-image).
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive).
    - `interval` number
    - `prompt_upsampling` boolean: Enhance the prompt for better results.
    - `raw` boolean
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Advanced model with state-of-the-art performance for both generation and editing.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '21:9' | '9:21' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Image aspect ratio. Use "custom" with width/height for free-form sizes; "match_input_image" for image-to-image variants.
    - `seed` number: Random seed for reproducibility
    - `output_format` string: Image output format
    - `output_quality` number: Output image quality (0–100, formats that support it).
    - `model` string: Model variant to use.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `guidance` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `num_outputs` number: Number of output images.
    - `hf_lora` string: HuggingFace LoRA path to apply (Replicate-style).
    - `hf_loras` string[]
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `lora_scales` string[]
    - `lora_weights` string: URL or HuggingFace path to a LoRA weights file.
    - `customLoras` string[]
    - `megapixels` string: Output size in megapixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `prompt_strength` number: How strongly the prompt overrides the input image (image-to-image).
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive).
    - `interval` number
    - `prompt_upsampling` boolean: Enhance the prompt for better results.
    - `raw` boolean
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Premium model with maximum performance and improved typography for generation and editing.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '21:9' | '9:21' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'custom' | 'match_input_image': Image aspect ratio. Use "custom" with width/height for free-form sizes; "match_input_image" for image-to-image variants.
    - `seed` number: Random seed for reproducibility
    - `output_format` string: Image output format
    - `output_quality` number: Output image quality (0–100, formats that support it).
    - `model` string: Model variant to use.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `guidance` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `num_inference_steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `steps` number: Number of denoising steps. More steps = higher fidelity, slower.
    - `num_outputs` number: Number of output images.
    - `hf_lora` string: HuggingFace LoRA path to apply (Replicate-style).
    - `hf_loras` string[]
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `lora_scales` string[]
    - `lora_weights` string: URL or HuggingFace path to a LoRA weights file.
    - `customLoras` string[]
    - `megapixels` string: Output size in megapixels.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `prompt_strength` number: How strongly the prompt overrides the input image (image-to-image).
    - `safety_tolerance` number: Content filter strictness (1=strict, 5=permissive).
    - `interval` number
    - `prompt_upsampling` boolean: Enhance the prompt for better results.
    - `raw` boolean
    - `width` number: Output width in pixels.
    - `height` number: Output height in pixels.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Fast generation with Gemini 2.5 Flash
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9': Image aspect ratio
    - `resolution` '1K' | '2K' | '4K': Output resolution tier
    - `modelTier` 'standard' | 'pro' | 'nb2_1' | 'pro_fal_v2' | 'lite': Quality / cost tier.
    - `output_format` 'png' | 'jpg' | 'jpeg' | 'webp': Output file format.
    - `reference_images` string[]: Optional reference image URLs to bias style or subject.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: SOTA with accurate typography and reasoning
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9': Image aspect ratio
    - `resolution` '1K' | '2K' | '4K': Output resolution tier
    - `reference_images` string[]: HTTPS URLs of one or more reference images for style, composition, or guidance. Multiple images supported.
    - `modelTier` 'standard' | 'pro' | 'nb2_1' | 'pro_fal_v2' | 'lite': Quality / cost tier.
    - `output_format` 'png' | 'jpg' | 'jpeg' | 'webp': Output file format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Next-generation SOTA model with stronger consistency
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9': Image aspect ratio
    - `resolution` '1K' | '2K' | '4K': Output resolution tier
    - `reference_images` string[]: HTTPS URLs of one or more reference images for style, composition, or guidance. Multiple images supported.
    - `modelTier` 'standard' | 'pro' | 'nb2_1' | 'pro_fal_v2' | 'lite': Quality / cost tier.
    - `output_format` 'png' | 'jpg' | 'jpeg' | 'webp': Output file format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Sharper layouts and subject consistency, with more precise edits
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9': Image aspect ratio
    - `resolution` '1K' | '2K' | '4K': Output resolution tier
    - `reference_images` string[]: HTTPS URLs of one or more reference images for style, composition, or guidance. Multiple images supported.
    - `modelTier` 'standard' | 'pro' | 'nb2_1' | 'pro_fal_v2' | 'lite': Quality / cost tier.
    - `output_format` 'png' | 'jpg' | 'jpeg' | 'webp': Output file format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Faster, lower-cost Nano Banana 2 at fixed 1K resolution
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9': Image aspect ratio
    - `resolution` '1K' | '2K' | '4K': Output resolution tier
    - `reference_images` string[]: HTTPS URLs of one or more reference images for style, composition, or guidance. Multiple images supported.
    - `modelTier` 'standard' | 'pro' | 'nb2_1' | 'pro_fal_v2' | 'lite': Quality / cost tier.
    - `output_format` 'png' | 'jpg' | 'jpeg' | 'webp': Output file format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Google Gemini Omni Flash 1.1: text, frames, references, or a source video into 3–10s clips with native audio at 360p to 4K. First/last frame, reference images and videos, edit or extend a clip.
    - `prompt` string: Text description of the video (and any audio) to generate
    - `image` string, uri: First frame for image-to-video. Cannot be combined with reference media or a source video.
    - `end_image` string, uri: Last frame. The model interpolates from the start frame to this still. Requires image.
    - `reference_images` string[]: Up to 7 reference images for subject/style guidance. May be sent with reference_videos; not with frames or a source video.
    - `reference_videos` string[]: Up to 3 short reference clips for motion/style guidance. May be sent with reference_images.
    - `video` string, uri: Clip to edit in place or extend (see video_mode). Output resolution follows the resolution preset; aspect ratio follows the source.
    - `video_mode` 'edit' | 'extend': What to do with the source video: "edit" changes it in place (source 3–10s, output keeps its length), "extend" adds duration seconds to it (source 1–30s).
    - `source_duration` integer: Length of the source video in seconds (1–30). Required to extend; used to bill an edit (an undeclared edit is billed at 10s).
    - `resolution` '360p' | '720p' | '1080p' | '4K': Output tier. 360p is a fast draft; 1080p and 4K are upscaled by the model. Cost per second: 360p 1, 720p 3, 1080p 4.5, 4K 9 credits; with a source video (edit or extend) 360p 1.25, 720p 3.5, 1080p 5.25, 4K 10.5 credits per billed second.
    - `aspect_ratio` '16:9' | '9:16': Output aspect ratio (ignored when a source video is provided)
    - `duration` integer: Clip length in seconds (3–10). For an extension this is how many seconds are added; ignored for an in-place edit.
    - `output_format` 'mp4' | 'webm' | 'mov': Video container
    - `seed` integer: Random seed for reproducibility
    - `video_id` string: Retired with the 1.1 upgrade and now rejected with a clear error. Pass the clip URL as video with video_mode "extend" and its source_duration instead.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Google Nano Banana image editing. Multi-image fusion + edit instruction with Standard/Pro/Pro-fal tiers; 1K/2K/4K on the Pro tiers, fixed 1K on Standard.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `image_input` string[]: Reference image URLs.
    - `modelTier` 'standard' | 'pro' | 'nb2_1' | 'pro_fal_v2' | 'lite': Quality / cost tier.
    - `resolution` '1K' | '2K' | '4K': Output resolution.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '21:9' | '2:3' | '3:2' | '4:5' | '5:4' | 'match_input_image': Output aspect ratio.
    - `output_format` 'png' | 'jpg' | 'webp': Output file format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: OpenAI GPT Image 2 — next-generation image model with 4K rendering and sharper text fidelity.
    - `prompt` string, required: Text description of the image to generate
    - `image_size` '1024x768' | '1024x1024' | '1024x1536' | '1920x1080' | '2560x1440' | '3840x2160': Output image dimensions
    - `quality` 'low' | 'medium' | 'high': Generation quality tier. 4K outputs double the credit cost at medium and high.
    - `num_images` integer: Number of images to generate (1-4)
    - `output_format` 'png' | 'jpeg' | 'webp': Image output format
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: OpenAI GPT Image 2.5 in two variants: Sunburst for premium reference-faithful renders and edits, Flare for the same quality tier at half the latency. Up to 4K output, optional reference images and masks.
    - `prompt` string, required: Text description of the image to generate, or the edit instruction when image_urls is supplied
    - `model` 'sunburst' | 'flare': GPT Image 2.5 variant. "sunburst" is the premium model (strongest reference preservation and layout handling); "flare" is the fast model at roughly half the latency.
    - `image_urls` string[]: Optional reference image URLs (up to 8). With references the prompt is treated as an edit or composition instruction and each image costs 0.5 credits more; without them it is plain text-to-image.
    - `mask_url` string, uri: Optional inpainting mask, used together with image_urls. White marks the area to edit, black is preserved.
    - `image_size` '1024x768' | '1024x1024' | '1024x1536' | '1920x1088' | '2560x1440' | '3840x2160': Output image dimensions
    - `quality` 'low' | 'medium' | 'high': Generation quality tier. 4K outputs double the credit cost at medium and high.
    - `num_images` integer: Number of images to generate (1-4)
    - `output_format` 'png' | 'jpeg' | 'webp': Image output format
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: OpenAI GPT Image 2 image editing — supply 1-8 reference images plus an edit instruction. 4K-capable; pricing varies by quality + size.
    - `prompt` string, required: Edit instruction or composition prompt.
    - `image_urls` string[], required: One to eight reference image URLs. Pass a single URL for a basic edit, or multiple URLs to compose / transfer attributes between them.
    - `image_size` 'auto' | '1024x768' | '1024x1024' | '1024x1536' | '1920x1080' | '2560x1440' | '3840x2160': Output dimensions. "auto" lets the model pick based on the input.
    - `quality` 'low' | 'medium' | 'high': Generation quality tier. Higher tiers cost more credits.
    - `num_images` integer: Number of images to generate (1-4).
    - `output_format` 'jpeg' | 'png' | 'webp': Output image file format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: xAI Grok Imagine reference-to-video via Replicate. 1 to 7 reference images plus prompt for 1 to 10 second clips at 480p or 720p.
    - `prompt` string, required: Text description of the video to generate
    - `reference_urls` string[], required: 1–7 image URLs for scene/subject consistency
    - `resolution` '720p' | '480p': Video resolution
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '9:16' | '3:4' | '3:2' | '2:3': Video aspect ratio
    - `duration` integer: Video duration in seconds (1–10)
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: xAI Grok Imagine video extension. Continue an existing MP4 with a prompt-directed extension (2 to 10 seconds).
    - `prompt` string, required: What should happen next after the last frame
    - `video_url` string, uri, required: MP4 or MOV URL, 2 to 15 seconds (a clip right at 15s is too long). We read its length before charging: 1.5 credits per second of OUTPUT, the source plus the extension, rounded up to a whole second (a clip running up to a tenth of a second past one, as real clips do, counts as that second). A clip we cannot read (WebM, MKV, fragmented MP4) is refused, uncharged.
    - `extension_duration` number: Seconds of new footage to generate (2 to 10). The output is the source plus the extension, billed at 1.5 credits per second: a 5 second clip extended by 6 is 16.5 credits.
    - `video_duration` number: Ignored: the source length is measured on our side.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Premium quality text-to-video and image-to-video
    - `prompt` string: Text description of the video to generate
    - `first_frame_image` string, uri: Starting image for image-to-video generation
    - `duration` '6' | '10': Video duration in seconds
    - `resolution` '768p' | '1080p': Video output resolution
    - `aspect_ratio` '16:9' | '9:16' | '1:1': Video aspect ratio
    - `prompt_optimizer` boolean: Enable AI prompt optimization
    - `model` 'minimax/hailuo-2.3' | 'minimax/hailuo-2.3-fast': Model variant to use.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Fast image-to-video generation
    - `prompt` string: Text description of the video to generate
    - `first_frame_image` string, uri: Starting image for image-to-video generation
    - `duration` '6' | '10': Video duration in seconds
    - `resolution` '768p' | '1080p': Video output resolution
    - `aspect_ratio` '16:9' | '9:16' | '1:1': Video aspect ratio
    - `prompt_optimizer` boolean: Enable AI prompt optimization
    - `model` 'minimax/hailuo-2.3' | 'minimax/hailuo-2.3-fast': Model variant to use.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba Happy Horse reference-to-video (1.0 or 1.1) — multi-reference image input that preserves subject characters, driven by a text prompt. 720p / 1080p, 3-15 second clips. Version 1.1 runs at a lower per-second credit rate.
    - `version` '1.0' | '1.1': Happy Horse model version. 1.1 (the default) is the newer engine at a lower per-second credit rate (720p: 3/s, 1080p: 4/s vs 1.0 at 4/s and 6/s).
    - `prompt` string, required: Text description of the video. Use character1 / character2 / … tokens to bind subjects to references.
    - `reference_urls` string[], required: Reference image URLs (1-9).
    - `duration` integer: Video duration in seconds (3-15).
    - `resolution` '720p' | '1080p': Output resolution (case-insensitive. "720P"/"1080P" are normalized).
    - `aspectRatio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4': Output aspect ratio.
    - `negative_prompt` string: What to avoid in the video.
    - `seed` integer: Random seed for reproducibility (0–2147483647).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Text-to-video with 720p/1080p output and 3-15 second durations
    - `version` '1.0' | '1.1': Happy Horse model version. 1.1 is the newer engine at a lower per-second credit rate (720p: 3/s, 1080p: 4/s vs 1.0 at 4/s and 6/s).
    - `prompt` string, required: Text description of the video to generate (max 5000 characters)
    - `negative_prompt` string: What to avoid in the video (max 500 characters)
    - `mode` 'text-to-video': Generation mode
    - `resolution` '720p' | '1080p': Video resolution tier
    - `duration` integer: Video duration in seconds (3-15)
    - `seed` integer: Random seed for reproducibility
    - `image_url` string, uri: Reference image URL.
    - `aspectRatio` string: Output aspect ratio.
    - `enable_prompt_expansion` boolean: Enable smart prompt rewriting on the provider side. Expands short prompts for richer detail.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Image-to-video animation with 720p/1080p output and 3-15 second durations
    - `version` '1.0' | '1.1': Happy Horse model version. 1.1 is the newer engine at a lower per-second credit rate (720p: 3/s, 1080p: 4/s vs 1.0 at 4/s and 6/s).
    - `prompt` string, required: Text description of the video to generate (max 5000 characters)
    - `negative_prompt` string: What to avoid in the video (max 500 characters)
    - `image_url` string, uri: First-frame image for image-to-video mode
    - `mode` 'image-to-video': Generation mode
    - `resolution` '720p' | '1080p': Video resolution tier
    - `duration` integer: Video duration in seconds (3-15)
    - `seed` integer: Random seed for reproducibility
    - `aspectRatio` string: Output aspect ratio.
    - `enable_prompt_expansion` boolean: Enable smart prompt rewriting on the provider side. Expands short prompts for richer detail.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba Happy Horse 1.0 video edit — apply style transfer or local replacement to a source video using text prompts and optional reference images. 720p / 1080p, 3-15 second output.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `video_url` string, uri, required: Reference video URL.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `reference_urls` string[]: Optional reference image URLs to bias style or subject.
    - `resolution` '720p' | '1080p': Output resolution.
    - `audio_setting` 'auto' | 'origin': Audio handling: keep, mute, or generate.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Tencent Hunyuan 3D 3.1. Generate 3D meshes from a text prompt or a single image.
    - `prompt` string: Text instruction describing what to generate or edit.
    - `image` string, uri: Reference image URL.
    - `enable_pbr` boolean: Generate PBR (physically-based rendering) textures — base color, normal, roughness, metallic — alongside the mesh.
    - `face_count` number: Target mesh face count (40,000–1,500,000). More faces = more detail, larger file.
    - `generate_type` 'Normal' | 'Geometry': Output mode: "Normal" produces a textured mesh; "Geometry" produces an untextured mesh.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Hunyuan Image 3.0 — Tencent's 80B-parameter MoE text-to-image model. High-fidelity generation with seven aspect ratio presets and a fast mode toggle.
    - `prompt` string, required: Text description of the image to generate
    - `negative_prompt` string: Optional description of elements to avoid
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '4:3' | '3:4': Aspect ratio preset
    - `go_fast` boolean: Run faster predictions with additional optimizations
    - `seed` integer: Random seed for reproducibility
    - `steps` integer: Number of denoising steps. More steps = higher fidelity, slower.
    - `cfg_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `num_outputs` integer: Number of output images.
    - `output_format` 'PNG' | 'JPG' | 'WEBP': Output file format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Fastest and cheapest Ideogram 4.0. Same stunning realism, creative designs, and text rendering — tuned for speed and iteration.
    - `prompt` string: Natural-language description. Enables Ideogram 4.0 Magic Prompt automatically. Use either prompt or json_prompt.
    - `json_prompt` string: Structured Ideogram 4.0 prompt as a JSON object (sent as a string). Use either prompt or json_prompt, not both.
    - `tier` 'turbo' | 'balanced' | 'quality': Quality/speed/cost tier. turbo (1 credit, fastest), balanced (2 credits), quality (3 credits, best). Retired legacy values fast/instant are accepted and run as turbo at 1 credit.
    - `resolution` 'None' | '2048x2048' | '1440x2880' | '2880x1440' | '1664x2496' | '2496x1664' | '1792x2240' | '2240x1792' | '1440x2560' | '2560x1440' | '1600x2560' | '2560x1600' | '1728x2304' | '2304x1728' | '1296x3168' | '3168x1296' | '1152x2944' | '2944x1152' | '1248x3328' | '3328x1248' | '1280x3072' | '3072x1280': Output resolution. "None" lets Ideogram 4.0 choose the aspect ratio. v4 supports higher resolutions than v3.
    - `enable_copyright_detection` boolean: Opt into Ideogram 4.0 post-generation copyright detection.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: The sweet spot. Balances speed, quality, and cost — a great default for most graphic design, marketing, and poster work.
    - `prompt` string: Natural-language description. Enables Ideogram 4.0 Magic Prompt automatically. Use either prompt or json_prompt.
    - `json_prompt` string: Structured Ideogram 4.0 prompt as a JSON object (sent as a string). Use either prompt or json_prompt, not both.
    - `tier` 'turbo' | 'balanced' | 'quality': Quality/speed/cost tier. turbo (1 credit, fastest), balanced (2 credits), quality (3 credits, best). Retired legacy values fast/instant are accepted and run as turbo at 1 credit.
    - `resolution` 'None' | '2048x2048' | '1440x2880' | '2880x1440' | '1664x2496' | '2496x1664' | '1792x2240' | '2240x1792' | '1440x2560' | '2560x1440' | '1600x2560' | '2560x1600' | '1728x2304' | '2304x1728' | '1296x3168' | '3168x1296' | '1152x2944' | '2944x1152' | '1248x3328' | '3328x1248' | '1280x3072' | '3072x1280': Output resolution. "None" lets Ideogram 4.0 choose the aspect ratio. v4 supports higher resolutions than v3.
    - `enable_copyright_detection` boolean: Opt into Ideogram 4.0 post-generation copyright detection.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: The highest-quality Ideogram 4.0. Slowest but best for hero images, print-ready work, and detailed text-heavy layouts.
    - `prompt` string: Natural-language description. Enables Ideogram 4.0 Magic Prompt automatically. Use either prompt or json_prompt.
    - `json_prompt` string: Structured Ideogram 4.0 prompt as a JSON object (sent as a string). Use either prompt or json_prompt, not both.
    - `tier` 'turbo' | 'balanced' | 'quality': Quality/speed/cost tier. turbo (1 credit, fastest), balanced (2 credits), quality (3 credits, best). Retired legacy values fast/instant are accepted and run as turbo at 1 credit.
    - `resolution` 'None' | '2048x2048' | '1440x2880' | '2880x1440' | '1664x2496' | '2496x1664' | '1792x2240' | '2240x1792' | '1440x2560' | '2560x1440' | '1600x2560' | '2560x1600' | '1728x2304' | '2304x1728' | '1296x3168' | '3168x1296' | '1152x2944' | '2944x1152' | '1248x3328' | '3328x1248' | '1280x3072' | '3072x1280': Output resolution. "None" lets Ideogram 4.0 choose the aspect ratio. v4 supports higher resolutions than v3.
    - `enable_copyright_detection` boolean: Opt into Ideogram 4.0 post-generation copyright detection.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Ideogram 4.5: best-in-class text rendering, posters, logos and photoreal images, plus natural-language edits and Precise Edit that changes only what you ask.
    - `prompt` string, required: What to create, or the edit to make when image_urls is supplied. Put any text you want rendered in quotes.
    - `image_urls` string[]: Optional, up to 5. Omit for text-to-image. With images the prompt is an edit or composition instruction. With precise: true the first image is edited and the rest guide the edit (up to 4).
    - `precise` boolean: Edits only: keep everything the prompt does not mention exactly as it is (framing, layout, other text). Uses Ideogram 4.5 Precise Edit.
    - `mask_url` string, uri: Optional black-and-white mask for edits, matching the first image's size. BLACK pixels are edited, WHITE pixels are preserved (Ideogram's convention).
    - `quality` 'very_low' | 'low' | 'medium' | 'high': very_low (0.5 credits, edits only; text-to-image runs it as low), low (1 credit), medium (2 credits), high (6 credits). Per image.
    - `resolution` 'auto' | '2048x2048' | '1440x2880' | '2880x1440' | '1664x2496' | '2496x1664' | '1792x2240' | '2240x1792' | '1440x2560' | '2560x1440' | '1600x2560' | '2560x1600' | '1728x2304' | '2304x1728' | '1296x3168' | '3168x1296' | '1152x2944' | '2944x1152' | '1248x3328' | '3328x1248' | '1280x3072' | '3072x1280' | '1024x3072' | '3072x1024' | '1024x1024' | '896x1120' | '1120x896' | '864x1152' | '1152x864' | '832x1248' | '1248x832' | '800x1280' | '1280x800' | '720x1280' | '1280x720' | '720x1440' | '1440x720': Text-to-image output size. "auto" lets Ideogram pick the aspect ratio from the prompt.
    - `edit_size` 'source' | '1024x1024' | '1280x896' | '896x1280' | '1344x768' | '768x1344' | '1536x640' | '640x1536': Edit output size (non-precise edits without a mask). "source" keeps the first image's proportions.
    - `num_images` integer: Images to generate (1-4). Billed per image.
    - `seed` integer: Optional seed for reproducible results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Generate consistent characters from a single reference image in many styles.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `character_reference_image` string, uri, required: Reference image of the character to preserve across generations.
    - `rendering_speed` 'Turbo' | 'Default' | 'Quality': Speed / quality tradeoff. "Turbo" is fastest; "Quality" is slowest but highest fidelity.
    - `style_type` 'Auto' | 'Fiction' | 'Realistic': Style preset.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '2:3' | '3:2': Output aspect ratio.
    - `resolution` 'None' | '1024x1024' | '1152x864' | '864x1152' | '1248x832' | '832x1248' | '1408x704' | '704x1408' | '1536x640' | '640x1536': Output resolution.
    - `magic_prompt_option` 'Auto' | 'On' | 'Off': Magic-prompt rewriting. "Auto" lets the model decide, "On" always rewrites for richer detail, "Off" sends the prompt verbatim.
    - `seed` number: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `numberOfImages` integer: Number of output images.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: One-shot FLUX Kontext variants — filters, cartoonify, iconic locations, haircut swap, headshots, face-to-many, and more.
    - `model` 'filters' | 'depth_of_field' | 'iconic_locations' | 'impossible_scenarios' | 'cartoonify' | 'text_removal' | 'change_haircut' | 'professional_headshot' | 'face_to_many_kontext', required: Model variant to use.
    - `input_image` string, uri, required: Reference image URL.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '21:9' | '9:21' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | 'match_input_image': Output aspect ratio.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `image_filter` string: Filter preset name (used by the "filters" variant).
    - `blur_effect` string: Blur effect preset (used by the "blur" variant).
    - `gender` string: Subject gender preset for variants that need it (e.g. headshots, persona swap).
    - `iconic_location` string: Iconic location preset (e.g. "times-square") for the "iconic-locations" variant.
    - `impossible_scenario` 'Floating in space as an astronaut' | 'Walking on the moon surface' | 'Spacewalk outside the International Space Station' | 'Standing on Mars in a spacesuit' | 'Swimming with great white sharks' | 'Deep sea diving with giant whales' | 'Underwater with full scuba gear surrounded by jellyfish' | 'Skydiving from 30,000 feet' | 'Wingsuit flying through mountains' | 'Bungee jumping from a helicopter' | 'Free climbing El Capitan without ropes' | 'Base jumping off a skyscraper' | 'Riding on the back of a great white shark' | 'Standing face-to-face with a roaring lion' | 'Swimming with killer whales in Arctic waters' | 'Gorilla encounter in dense jungle' | 'Running with a pack of cheetahs' | 'Standing in the eye of a hurricane' | 'Surfing a massive tsunami wave' | 'Volcano exploration in heat-proof suit' | 'Lightning strike survivor in a storm' | 'Avalanche escape on skis' | 'Motorcycle jumping over helicopters' | 'Hanging from a helicopter ladder' | 'High-speed car chase as driver' | 'Zipline across the Grand Canyon' | 'Parachuting into a volcano' | 'Flying through clouds without equipment' | 'Superhero landing with impact crater' | 'Dragon encounter in medieval armor' | 'Levitating with magical energy' | 'Standing on top of Mount Everest' | 'Random': Impossible-scenario preset for the "impossible-scenarios" variant.
    - `haircut` string: Target haircut style for the "change-haircut" variant.
    - `hair_color` string: Target hair color for the "change-haircut" variant.
    - `background` string: Background preset for the "professional-headshot" variant (e.g. "office", "studio-gray", "outdoors").
    - `style` string: Style preset for variants that take one (e.g. cartoonify, face-to-many).
    - `persona` string: Persona preset for the "persona-swap" variant (e.g. "wizard", "astronaut").
    - `preserve_background` boolean: Keep the original background when applying the edit.
    - `preserve_outfit` boolean: Keep the subject's outfit unchanged when applying the edit.
    - `output_format` string: Output file format.
    - `safety_tolerance` integer: Content filter strictness (1=strict, 5=permissive).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Relight images with Magic Lighting, Nano Banana Pro/2, or Qwen Image Edit — multi-provider routing with per-model credit rates.
    - `subject_image` string, uri, required: URL of the image to relight.
    - `prompt` string: Describe the desired lighting (e.g. "cinematic neon lighting", "golden hour").
    - `light_source` string: Optional direction / type of the light source.
    - `model_type` 'magic-lighting' | 'nano-banana-pro' | 'nano-banana-2' | 'qwen-image-edit': Which underlying relighting model to use.
    - `number_of_images` integer: How many variations to generate (1-12).
    - `aspectRatio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3': Output aspect ratio.
    - `negative_prompt` string: What to avoid in the output.
    - `appended_prompt` string: Quality keywords appended to every prompt (Magic Lighting only).
    - `output_format` 'png' | 'jpg' | 'webp': Image encoding format.
    - `width` string: Output width in pixels (Magic Lighting only).
    - `height` string: Output height in pixels (Magic Lighting only).
    - `steps` number: Diffusion steps (Magic Lighting only; higher = slower + sharper).
    - `cfg` number: Prompt adherence (Magic Lighting only).
    - `highres_scale` number: Upscale factor for the highres pass (Magic Lighting only).
    - `highres_denoise` number: Denoise strength for the highres pass (Magic Lighting only).
    - `lowres_denoise` number: Denoise strength for the initial pass (Magic Lighting only).
    - `output_quality` number: Image quality 1-100.
    - `seed` number: Random seed for reproducibility.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: FLUX Dev LoRA image-to-image on Replicate. Prompt + source image + optional LoRA weights.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `image` string, uri: Reference image URL.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `guidance_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `num_outputs` integer: Number of output images.
    - `aspect_ratio` string: Output aspect ratio.
    - `output_format` string: Output file format.
    - `output_quality` integer: JPEG/WEBP encoding quality (0–100).
    - `prompt_strength` number: How strongly the prompt overrides the input image (image-to-image).
    - `num_inference_steps` integer: Number of denoising steps. More steps = higher fidelity, slower.
    - `hf_lora` string: HuggingFace LoRA path to apply (Replicate-style).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: ImagineArt family: 1.5, 1.5 Pro, and the 2.0 preview.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3' | '1:3' | '3:1': Image aspect ratio
    - `seed` integer: Seed for image generation (optional)
    - `model` 'imagineart/imagineart-2.0-preview/text-to-image' | 'imagineart/imagineart-1.5-pro-preview/text-to-image' | 'imagineart/imagineart-1.5-preview/text-to-image': Model variant to use.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Kling Avatar V2 — turn a portrait plus an audio file into a talking avatar with audio-driven lip sync. Works on realistic humans, stylized characters, cartoons, and animals.
    - `image` string, uri, required: URL of the avatar reference image (.jpg/.jpeg/.png, ≤10MB, ≥300px, aspect ratio 1:2.5 to 2.5:1).
    - `audio` string, uri: URL of the audio file that drives the avatar (.mp3/.wav/.m4a/.aac, ≤5MB). Determines output duration, and the charge: billed per second of this audio, measured server-side before the charge. A file that cannot be downloaded or measured, is not mp3/wav/m4a/aac, or is above 48 kHz or more than 2 channels, is refused with a 400 and not charged.
    - `prompt` string: Optional text prompt to refine actions, emotions, and camera movement. Complements the audio.
    - `mode` 'std' | 'pro': Generation mode. "std" is the fast/standard tier at 2 credits per second of audio; "pro" yields sharper facial detail and smoother motion at 3.5 credits per second.
    - `audioDurationSeconds` number
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Kling Image V3. High-quality text-to-image with flexible aspect ratios.
    - `prompt` string, required: Text description of the image to generate
    - `negative_prompt` string: What to avoid in the image
    - `resolution` '1K' | '2K': Image generation resolution
    - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4' | '3:2' | '2:3' | '21:9': Aspect ratio of the generated image
    - `num_images` integer: Number of images to generate (1-9)
    - `output_format` 'png' | 'jpeg' | 'webp': Image output format
    - `seed` number: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Kling Image V3 image-to-image editing with a text instruction.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `image_url` string, uri, required: Reference image URL.
    - `resolution` '1K' | '2K': Output resolution.
    - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4' | '3:2' | '2:3' | '21:9': Output aspect ratio.
    - `num_images` integer: Number of output images.
    - `output_format` 'png' | 'jpeg' | 'webp': Output file format.
    - `seed` number: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Kling Video v3 Standard motion control (720p)
    - `video` string, uri, required: Video to extract motion from (required)
    - `character_image` string, uri, required: Character image to animate (required)
    - `prompt` string: Optional text description for generation guidance
    - `character_orientation` 'video' | 'image': Match video (complex motion, max 30s) or image (camera motion, max 10s)
    - `keep_original_sound` boolean: Preserve audio from the reference video
    - `tier` 'standard' | 'pro': Quality / speed tier.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Kling Video v3 Pro motion control (1080p)
    - `video` string, uri, required: Video to extract motion from (required)
    - `character_image` string, uri, required: Character image to animate (required)
    - `prompt` string: Optional text description for generation guidance
    - `character_orientation` 'video' | 'image': Match video (complex motion, max 30s) or image (camera motion, max 10s)
    - `keep_original_sound` boolean: Preserve audio from the reference video
    - `tier` 'standard' | 'pro': Quality / speed tier.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Kling reference-driven video generation. Image or video references, Standard or Pro tier.
    - `prompt` string: Text instruction describing what to generate or edit.
    - `multi_prompt` string[]: Per-segment prompt list for multi-clip video generation.
    - `reference_type` 'image' | 'video': Reference mode. "image" uses one or more reference images; "video" uses a source video clip as the anchor.
    - `tier` 'standard' | 'pro': Quality / speed tier.
    - `duration` integer: Output duration in seconds.
    - `aspect_ratio` '16:9' | '9:16' | '1:1' | 'auto': Output aspect ratio.
    - `shot_type` 'customize': Camera framing for the shot (close-up, medium, wide, etc.).
    - `start_image_url` string, uri: First-frame anchor image URL for video generation.
    - `end_image_url` string, uri: Last-frame anchor image URL for video generation.
    - `video_url` string, uri: Reference video URL.
    - `image_urls` string[]: Reference image URLs.
    - `elements` string[]: Optional per-segment element descriptors for multi-clip generation (camera moves, transitions, etc.).
    - `generate_audio` boolean: Generate native audio. On image references it adds 1 credit/second (Standard 3 -> 4, Pro 4 -> 5). Ignored for video references, which are never charged for it.
    - `keep_audio` boolean: Preserve the source audio track in the output.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Kling Video v2.6 Pro. Text-to-video or image-to-video, 5 or 10 seconds, with audio generation.
    - `mode` 'text-to-video' | 'image-to-video': Generation mode.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `image_url` string, uri: Reference image URL.
    - `duration` '5' | '10': Output duration in seconds.
    - `aspect_ratio` '16:9' | '9:16' | '1:1': Output aspect ratio.
    - `negative_prompt` string: What to avoid in the output.
    - `cfg_scale` number: Classifier-free guidance scale. Higher = stricter prompt adherence.
    - `generate_audio` boolean: Generate synchronized native audio. On by default; adds 2 credits/second (3 -> 5). Set false to pay the base 3 credits/second.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Standard text-to-video with native audio
    - `prompt` string: Text prompt for video generation
    - `multi_prompt` string[]: Multi-shot prompts (array of shot prompt objects)
    - `duration` integer: Video duration in seconds
    - `aspect_ratio` '16:9' | '9:16' | '1:1': Video aspect ratio
    - `generate_audio` boolean: Generate synchronized native audio. On by default; adds 1 credit/second on Standard (3 -> 4) and 1.5 on Pro (4 -> 5.5). Set false to pay the base rate.
    - `voice_ids` string[]: Voice IDs for audio synthesis (up to 2 voices)
    - `shot_type` 'customize' | 'intelligent': Multi-shot generation mode
    - `negative_prompt` string: What to avoid in the video
    - `cfg_scale` number: Prompt adherence (0-1)
    - `tier` 'standard' | 'pro': Quality / speed tier.
    - `mode` 'text-to-video' | 'image-to-video': Generation mode.
    - `start_image_url` string, uri: First-frame anchor image URL for video generation.
    - `image_url` string, uri: Reference image URL.
    - `end_image_url` string, uri: Last-frame anchor image URL for video generation.
    - `elements` string[]
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Standard image-to-video with native audio
    - `start_image_url` string, uri: Source image for image-to-video generation
    - `prompt` string: Optional motion prompt (required if multi_prompt is omitted)
    - `multi_prompt` string[]: Multi-shot prompts (array of shot prompt objects)
    - `duration` integer: Video duration in seconds
    - `aspect_ratio` '16:9' | '9:16' | '1:1': Video aspect ratio
    - `generate_audio` boolean: Generate synchronized native audio. On by default; adds 1 credit/second on Standard (3 -> 4) and 1.5 on Pro (4 -> 5.5). Set false to pay the base rate.
    - `end_image_url` string, uri: Optional end frame image for interpolation
    - `elements` string[]: Optional character/object elements for reference
    - `shot_type` 'customize': Multi-shot generation mode
    - `negative_prompt` string: What to avoid in the video
    - `cfg_scale` number: Prompt adherence (0-1)
    - `tier` 'standard' | 'pro': Quality / speed tier.
    - `mode` 'text-to-video' | 'image-to-video': Generation mode.
    - `image_url` string, uri: Reference image URL.
    - `voice_ids` string[]
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pro text-to-video with cinematic quality and native audio
    - `prompt` string: Text prompt for video generation
    - `multi_prompt` string[]: Multi-shot prompts (array of shot prompt objects)
    - `duration` integer: Video duration in seconds
    - `aspect_ratio` '16:9' | '9:16' | '1:1': Video aspect ratio
    - `generate_audio` boolean: Generate synchronized native audio. On by default; adds 1 credit/second on Standard (3 -> 4) and 1.5 on Pro (4 -> 5.5). Set false to pay the base rate.
    - `voice_ids` string[]: Voice IDs for audio synthesis (up to 2 voices)
    - `shot_type` 'customize' | 'intelligent': Multi-shot generation mode
    - `negative_prompt` string: What to avoid in the video
    - `cfg_scale` number: Prompt adherence (0-1)
    - `tier` 'standard' | 'pro': Quality / speed tier.
    - `mode` 'text-to-video' | 'image-to-video': Generation mode.
    - `start_image_url` string, uri: First-frame anchor image URL for video generation.
    - `image_url` string, uri: Reference image URL.
    - `end_image_url` string, uri: Last-frame anchor image URL for video generation.
    - `elements` string[]
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pro image-to-video with cinematic quality and native audio
    - `start_image_url` string, uri: Source image for image-to-video generation
    - `prompt` string: Optional motion prompt (required if multi_prompt is omitted)
    - `multi_prompt` string[]: Multi-shot prompts (array of shot prompt objects)
    - `duration` integer: Video duration in seconds
    - `aspect_ratio` '16:9' | '9:16' | '1:1': Video aspect ratio
    - `generate_audio` boolean: Generate synchronized native audio. On by default; adds 1 credit/second on Standard (3 -> 4) and 1.5 on Pro (4 -> 5.5). Set false to pay the base rate.
    - `end_image_url` string, uri: Optional end frame image for interpolation
    - `elements` string[]: Optional character/object elements for reference
    - `shot_type` 'customize': Multi-shot generation mode
    - `negative_prompt` string: What to avoid in the video
    - `cfg_scale` number: Prompt adherence (0-1)
    - `tier` 'standard' | 'pro': Quality / speed tier.
    - `mode` 'text-to-video' | 'image-to-video': Generation mode.
    - `image_url` string, uri: Reference image URL.
    - `voice_ids` string[]
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Kling video-to-video edit. Standard or Pro, with optional reference images and audio preservation.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `video_url` string, uri, required: Reference video URL.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `tier` 'standard' | 'pro': Quality / speed tier.
    - `keep_audio` boolean: Preserve the source audio track in the output.
    - `image_urls` string[]: Reference image URLs.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Krea's aesthetic text-to-image, three tiers in one tool. Turbo for fast, cheap (0.5 credit) generation; Medium and Large for higher fidelity. Every tier takes a creativity control and optional style-reference images.
    - `prompt` string, required: Text description of the image to generate.
    - `model` 'turbo' | 'medium' | 'large': Turbo (0.5 credit, fastest), Medium (1 credit), or Large (2 credits, highest fidelity). Creativity and style references apply to every tier.
    - `aspect_ratio` '1:1' | '4:3' | '3:2' | '16:9' | '2.35:1' | '4:5' | '2:3' | '9:16': Output aspect ratio.
    - `creativity` 'raw' | 'low' | 'medium' | 'high': How loosely the model interprets the prompt. raw = literal, high = most creative.
    - `reference_images` string[]: Up to 10 image URLs whose style guides the output. References steer style only — Krea generates a fresh image from your prompt.
    - `seed` integer: Integer seed for reproducible outputs.
    - `lora_weights` string: Up to 3 custom Krea 2 LoRA URLs — a LoRA trained on PixelDojo, or a direct public .safetensors link from Hugging Face or Civitai. LoRA requests always run on the Turbo tier (0.5 credit). The first request for a LoRA we have not seen before returns a "still preparing" error while the file is registered; retry a few minutes later.
    - `lora_scales` number: Strength for each LoRA (0 to 4, default 1). Number or array aligned with lora_weights.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Luma UNI 1 (Standard + MAX) via Runware. Text-to-image and reference-guided image editing with one prompt, two quality tiers.
    - `prompt` string, required: Text description of the image to generate or edit.
    - `model` 'standard' | 'max': Choose between Standard (fast, 1 credit) and MAX (quality-first, 3 credits).
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '3:2' | '2:3' | '2:1' | '1:2': Output aspect ratio. Resolves to Luma's recommended ~3K dimensions.
    - `num_outputs` integer: How many variations to generate. 1-4.
    - `style` 'auto' | 'manga': Optional style hint. "auto" lets the model decide; "manga" biases output.
    - `reference_images` string[]: Up to 8 image URLs to guide or edit. When provided, switches to image-edit mode.
    - `seed` integer: Integer seed for reproducible outputs.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Freepik Magnific upscaler. Creative or precision mode, up to 16x.
    - `image` string, uri, required: Reference image URL.
    - `mode` 'creative' | 'precision': Generation mode.
    - `scale_factor` '2x' | '4x' | '8x' | '16x': Upscale factor (2x, 4x, etc.).
    - `prompt` string: Text instruction describing what to generate or edit.
    - `creativity` integer: How much creative latitude the upscaler / refiner takes when adding detail. Higher = more invention.
    - `hdr` integer: Apply HDR-style dynamic-range expansion to the output.
    - `resemblance` integer: How closely the upscaled output should resemble the original. Higher = more faithful, less reinvention.
    - `fractality` integer: Detail-fractality boost. Higher = more micro-detail injected at every scale level.
    - `engine` 'automatic' | 'magnific_illusio' | 'magnific_sharpy' | 'magnific_sparkle': Upscaling engine. "automatic" picks for you; the three named engines each emphasize different detail characteristics (illusio = stylized, sharpy = crisp, sparkle = high-contrast).
    - `optimized_for` 'standard' | 'soft_portraits' | 'hard_portraits' | 'art_n_illustration' | 'videogame_assets' | 'nature_n_landscapes' | 'films_n_photography' | '3d_renders' | 'science_fiction_n_horror': Content-type hint that biases the upscaler's detail synthesis toward that category (portraits, art, landscapes, etc.).
    - `imageWidth` integer: Source image width in pixels — used for credit cost estimation when the input image is referenced via URL.
    - `imageHeight` integer: Source image height in pixels — used for credit cost estimation when the input image is referenced via URL.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: MiniMax H3 — text-to-video, image-to-video, and reference-to-video (images, video and audio references) in one model. 2K or 768p output, 5-15s, native synced audio. Also carries H3 Max (cheaper 768p/480p, frames only), H3 Max Turbo (faster, tiered 768p/480p, frames only) and H3 Fast (480p, references).
    - `prompt` string, required: Text description of the video, motion, and sound to generate
    - `image_url` string, uri: First-frame image. Switches to image-to-video mode.
    - `end_image_url` string, uri: Last-frame image. Requires image_url.
    - `reference_images` string[]: Up to 9 image URLs that guide subject and scene identity. The first 5 are included; each one past that adds 1 credit. Cannot be combined with image_url / end_image_url.
    - `reference_videos` string[]: Up to 3 video URLs (2-15s each, max 50MB) that guide motion and scene identity. Cannot be combined with image_url / end_image_url. Each second of reference video adds 4.5 credits (see reference_video_seconds).
    - `reference_video_seconds` number: Combined length of reference_videos in seconds, billed at 4.5 credits per second (rounded up, at most 15s per clip). Applies only when every reference video was uploaded to PixelDojo (a temp.pixeldojo.ai or cdn.pixeldojo.ai URL, e.g. from POST /api/v1/upload); with any other link, or when omitted, each clip bills as 15s. Declare lengths for standard MP4 or MOV clips only: a clip we cannot read as one (WebM, MKV, fragmented MP4) counts as 15s, and an under-declared length is refused.
    - `reference_audios` string[]: Up to 3 audio URLs (2-15s each, max 15MB) that guide voice and sound. Cannot be combined with image_url / end_image_url.
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '9:16' | '3:4' | '21:9': Output aspect ratio. Ignored in image-to-video mode — the start frame sets the aspect.
    - `resolution` '2k' | '768p': Output tier: 2k (4 credits/sec) or 768p (2.5 credits/sec). Ignored in image-to-video mode — a start frame forbids explicit dimensions, so those jobs render and bill as 2k.
    - `duration` integer: Video duration in seconds (5-15)
    - `seed` integer: Random seed for reproducibility
    - `model` 'h3' | 'max' | 'max-turbo' | 'fast': Model variant to use.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: MiniMax H3 Max — the cheaper H3 sibling. Text-to-video and image-to-video at 768p (2 credits/sec) or 480p (1.5 credits/sec), 5-15s, native synced audio. No reference inputs.
    - `prompt` string, required: Text description of the video, motion, and sound to generate
    - `image_url` string, uri: First-frame image. Switches to image-to-video mode.
    - `end_image_url` string, uri: Last-frame image. Requires image_url.
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '9:16' | '3:4' | '21:9': Output aspect ratio. Ignored in image-to-video mode — the start frame sets the aspect.
    - `resolution` '768p' | '480p': Output tier: 768p (2 credits/sec) or 480p (1.5 credits/sec). Honored in every mode, including image-to-video.
    - `duration` integer: Video duration in seconds (5-15)
    - `seed` integer: Random seed for reproducibility
    - `model` 'h3' | 'max' | 'max-turbo' | 'fast': Model variant to use.
    - `reference_images` string[]: Optional reference image URLs to bias style or subject.
    - `reference_videos` string[]: Optional reference video URLs.
    - `reference_video_seconds` number: Combined length of reference_videos in seconds, billed at 4.5 credits per second (rounded up, at most 15s per clip). Applies only when every reference video was uploaded to PixelDojo (a temp.pixeldojo.ai or cdn.pixeldojo.ai URL, e.g. from POST /api/v1/upload); with any other link, or when omitted, each clip bills as 15s. Declare lengths for standard MP4 or MOV clips only: a clip we cannot read as one (WebM, MKV, fragmented MP4) counts as 15s, and an under-declared length is refused.
    - `reference_audios` string[]
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: MiniMax H3 open weights, self-hosted with a step-distillation Turbo LoRA for fast, low-cost generation. Text, image, or reference to video at 480p or 720p with synced audio.
    - `prompt` string, required: Text description of the video, motion, and sound to generate
    - `image_url` string, uri: First-frame image. Switches to image-to-video mode.
    - `end_image_url` string, uri: Last-frame image. Requires image_url.
    - `reference_images` string[]: Up to 9 image URLs that guide subject and scene identity. Runs the Ref2VA checkpoint. Cannot be combined with image_url / end_image_url.
    - `reference_videos` string[]: Up to 3 reference clips (2-15s, 24fps) that guide motion and style. Each clip's own soundtrack is used as an audio reference unless reference_video_audio is false. Runs the Ref2VA checkpoint.
    - `reference_audios` string[]: Up to 3 standalone audio references — a voice, a music bed, or an ambience the generated soundtrack should follow. Runs the Ref2VA checkpoint.
    - `reference_video_audio` boolean: Whether each reference video's own soundtrack is passed as an audio reference. Default true.
    - `quality` 'turbo' | 'standard' | 'high': Compute tier, multiplies the resolution rate: turbo is fastest at 0.5x price (fewest sampling steps), standard is 0.75x, high adds more sampling for the best fast-motion detail at 1x price.
    - `resolution` '480p' | '720p': Output resolution. Sets the base rate: 480p is 1 credit per second, 720p is 2.
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '9:16' | '3:4' | '21:9': Output aspect ratio. Ignored in image-to-video mode — the start frame sets the aspect.
    - `duration` integer: Video duration in seconds (5-15)
    - `seed` integer: Random seed. Omit and one is chosen for you; the response reports which seed it used. Reusing a seed with identical settings reproduces the same video (visually identical rather than byte-identical). A different quality tier changes the sampling trajectory, so you get the same idea and framing rather than the same clip.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: ByteDance OmniHuman 2.0. Audio-driven talking-head video with lip sync, up to 2 minutes.
    - `image` string, uri, required: Character image for talking head generation (required)
    - `audio` string, uri, required: Audio file for lip sync (required, .mp3 or .wav, under 120 seconds; .m4a/.aac/.ogg also work for clips under 35 seconds). Billed 5 credits per started second of this audio, measured server-side before the charge. A file that cannot be downloaded or measured, is not one of those formats, or runs past 120 seconds, is refused with a 400 and not charged.
    - `prompt` string: Optional direction for the scene, movement and camera (English, Chinese, Japanese, Korean, Spanish or Indonesian)
    - `audioDuration` number
    - `fast_mode` boolean
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `audioDurationSeconds` number
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Outpainting. Expand an image beyond its original edges.
    - `image_url` string, uri, required: Reference image URL.
    - `expand_left` number: Pixels to expand the image on the left side (capped at 700).
    - `expand_right` number: Pixels to expand the image on the right side (capped at 700).
    - `expand_top` number: Pixels to expand the image on the top (capped at 700).
    - `expand_bottom` number: Pixels to expand the image on the bottom (capped at 700).
    - `zoom_out_percentage` number: Convenience shortcut — expand all four sides by this percentage of the original dimensions (e.g. 25 = expand 25% in every direction). Each side is still capped at 700px.
    - `prompt` string: Text instruction describing what to generate or edit.
    - `num_images` integer: Number of output images.
    - `output_format` 'png' | 'jpeg' | 'webp': Output file format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pruna P-Image. Sub-second text-to-image with optional custom dimensions.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '9:16' | '16:9': Image aspect ratio
    - `width` integer: Output width in pixels.
    - `height` integer: Output height in pixels.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pruna P-Image Edit. Fast image editing with up to 5 reference images.
    - `prompt` string, required: Text instruction describing the edit
    - `images` string[], required: Reference images to edit (1-5 URLs)
    - `aspect_ratio` '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '9:16' | '16:9': Output aspect ratio
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Ideogram-class text rendering on the Pruna backbone. Pick a thinking budget from 0.1 to 1 credit per image.
    - `prompt` string, required: Text description of the image to generate
    - `thinking` 'very low' | 'low' | 'medium' | 'high': Reasoning budget. Higher levels render text and complex layouts more reliably and cost more credits (very low 0.1, low 0.25, medium 0.5, high 1).
    - `image_size` '1K' | '2K': Resolution budget
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3': Image aspect ratio
    - `prompt_upsampling` boolean: Let the model expand a short prompt before generating
    - `output_format` 'jpg' | 'png' | 'webp': Image file format
    - `seed` integer: Random seed for reproducibility
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pruna P-Image Upscale. Fast image upscaling to a target megapixel size, with optional detail and realism enhancement.
    - `image` string, uri, required: URL of the image to upscale.
    - `target` integer: Target output resolution in megapixels (1-128). Cost increases with target size.
    - `enhance_details` boolean: Boost texture and fine-detail rendering. Default off.
    - `enhance_realism` boolean: Improve realism for AI-generated source images (reduces plastic-look artifacts). Default off.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pruna P-Video 2 (and P-Video 1) — video generation with text/image/audio conditioning, draft mode, and 720p/1080p outputs.
    - `prompt` string, required: Text description of the video to generate
    - `model` 'p-video-2' | 'p-video': Pruna model version. "p-video-2" (default) is the latest; "p-video" is the cheaper previous generation.
    - `image` string, uri: Optional start image for image-to-video generation (jpg, jpeg, png, webp)
    - `last_frame_image` string, uri: Optional ending image for smoother transitions (jpg, jpeg, png, webp)
    - `audio` string, uri: Optional audio track (flac, mp3, wav; up to 192 kHz and 8 channels; at most 32 MB). When provided, the video follows the audio: it runs as long as the audio rounded up to whole seconds, at most 20 (longer audio is cut at 20), and is billed per second of that length, measured server-side before the charge. A file that cannot be downloaded or measured, is not flac/mp3/wav, is over 192 kHz or 8 channels, or is over 32 MB is refused with a 400 and not charged.
    - `duration` integer: Output duration in seconds (1-20). Ignored when audio is provided: the audio sets the length.
    - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4' | '3:2' | '2:3': Output aspect ratio. Ignored when image input is provided.
    - `resolution` '720p' | '1080p': Video output resolution
    - `fps` integer: Output frame rate (24 or 48 FPS)
    - `draft` boolean: Lower-cost fast mode (p-video-2: 0.45/0.9 credits per second at 720p/1080p; p-video: 0.16/0.3)
    - `prompt_upsampling` boolean: Enhance prompt automatically before generation
    - `save_audio` boolean: Preserve generated/provided audio in output video
    - `seed` integer: Random seed for reproducibility
    - `audioDurationSeconds` number
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pruna P-Video 2 Pro Reference: reference-to-video built on MiniMax H3. Up to 9 images, 3 video and 3 audio references, plus optional start and end frames, 480p or 768p, 5 to 15 seconds with native audio. keep_audio lip-syncs to your own song or line.
    - `prompt` string, required: Describe the video. Refer to references by what they show.
    - `reference_images` string[]: Up to 9 image URLs (identity, product, style), start/end frames included in that count. The first 5 are included, each one past that adds 0.25 credits.
    - `reference_videos` string[]: Up to 3 video URLs (2-15s each, 15s combined, max 1080p) for motion and camera. Each clip bills 1.5 credits per second up to the output length + 0.5s, 15s total.
    - `reference_audios` string[]: Up to 3 audio URLs (15s combined) for voice and sound.
    - `keep_audio` boolean: Use the single reference audio as the soundtrack, as is (lip sync to a song or line). Requires exactly one reference audio.
    - `image_url` string, uri: Optional opening frame. Counts as an image and can be combined with references.
    - `end_image_url` string, uri: Optional closing frame. Counts as an image.
    - `duration` integer: Seconds (5-15). 1.25 credits per second.
    - `resolution` '480p' | '768p': Output resolution.
    - `mode` 'speed' | 'cost': speed (default) or cost (slower queue). Same price.
    - `aspect_ratio` 'adaptive' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3' | '1:1': Output aspect ratio. adaptive follows the references.
    - `prompt_upsampler` 'off' | 'turbo' | 'max': How much the model expands your prompt. A start or end frame forces turbo.
    - `seed` integer: Optional integer seed.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pruna P-Video Avatar — animate a portrait into a talking avatar from a script or an audio file. 30 voices, 10 languages, 720p / 1080p.
    - `image` string, uri, required: URL of a portrait image to animate (jpg, jpeg, png, webp).
    - `voice_script` string: Text the avatar should speak. Required unless `audio` is provided.
    - `audio` string, uri: Optional audio file for lip-sync. When provided, overrides voice_script and voice, and the job is billed per second of this audio, measured server-side before the charge. A file that cannot be downloaded or measured, is not flac/mp3/wav/m4a/ogg, or is above 48 kHz or more than 2 channels, is refused with a 400 and not charged.
    - `voice` 'Zephyr (Female)' | 'Puck (Male)' | 'Charon (Male)' | 'Kore (Female)' | 'Fenrir (Male)' | 'Leda (Female)' | 'Orus (Male)' | 'Aoede (Female)' | 'Callirrhoe (Female)' | 'Autonoe (Female)' | 'Enceladus (Male)' | 'Iapetus (Male)' | 'Umbriel (Male)' | 'Algenib (Male)' | 'Despina (Female)' | 'Erinome (Female)' | 'Laomedeia (Female)' | 'Achernar (Female)' | 'Algieba (Male)' | 'Schedar (Male)' | 'Gacrux (Female)' | 'Pulcherrima (Female)' | 'Achird (Male)' | 'Zubenelgenubi (Male)' | 'Vindemiatrix (Female)' | 'Sadachbia (Male)' | 'Sadaltager (Male)' | 'Sulafat (Female)' | 'Alnilam (Male)' | 'Rasalgethi (Male)': Named voice to synthesize the script with. Ignored when audio is provided.
    - `voice_language` 'English (US)' | 'English (UK)' | 'Spanish' | 'French' | 'German' | 'Italian' | 'Portuguese (Brazil)' | 'Japanese' | 'Korean' | 'Hindi': Language for voice synthesis.
    - `video_prompt` string: Optional guidance for visual motion (e.g. "warm smile, slight nods").
    - `voice_prompt` string: Optional speaking-style cue (e.g. "Say the following with quiet confidence.").
    - `resolution` '720p' | '1080p': Output resolution.
    - `disable_prompt_upsampling` boolean: Skip the model's automatic prompt-enhancement pass.
    - `seed` integer: Optional integer seed for reproducible output.
    - `audioDurationSeconds` number
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: PixVerse v5.6 video generation via Replicate — text-to-video or image-to-video with optional audio, at 360p–1080p.
    - `prompt` string: Text description of the video to generate
    - `image` string, uri: Starting image for image-to-video generation
    - `last_frame_image` string, uri: Ending frame for video interpolation
    - `quality` '360p' | '540p' | '720p' | '1080p': Output video quality. Credits per second: 360p and 540p 2.25, 720p 3, 1080p 4.5.
    - `duration` '5' | '8' | '10': Video duration in seconds (10s is only available for 360p/540p/720p)
    - `aspect_ratio` '16:9' | '9:16' | '1:1': Video aspect ratio
    - `negative_prompt` string: What to avoid in the video
    - `seed` integer: Random seed for reproducibility
    - `generate_audio_switch` boolean: Enable AI-generated audio including BGM, SFX, and character dialogues
    - `thinking_type` 'disabled' | 'enabled' | 'auto': Prompt reasoning enhancement (auto, enabled, or disabled)
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pixverse V6 video generation via Runware. Text-to-video, image-to-video (start frame), or multi-clip (start + end frame).
    - `prompt` string: Text instruction describing what to generate or edit.
    - `resolution` '360p' | '540p' | '720p' | '1080p': Output resolution.
    - `duration` integer: Output duration in seconds.
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '3:4' | '9:16': Output aspect ratio.
    - `negative_prompt` string: What to avoid in the output.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `generate_audio` boolean: Generate a soundtrack alongside the video.
    - `thinking_type` 'disabled' | 'enabled' | 'auto': Reasoning mode preset.
    - `multi_clip` boolean: Generate a multi-clip sequence instead of a single clip.
    - `style` 'none' | 'anime' | '3d_animation' | 'clay' | 'comic' | 'cyberpunk': Visual style preset.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pony Realism - Stylized anime generation
    - `prompt` string, required: Text description of the image to generate
    - `negative_prompt` string: What to avoid in the image
    - `width` integer: Image width in pixels (1-4096)
    - `height` integer: Image height in pixels (1-4096)
    - `steps` integer: Number of diffusion steps (1-100)
    - `cfg_scale` number: Classifier-free guidance scale (1-50)
    - `scheduler` 'DPM++ 2M SDE Karras' | 'DPM++ 2M Karras' | 'Euler' | 'Euler a': Sampling scheduler
    - `batch_size` integer: Number of images to generate (1-4)
    - `seed` integer: Random seed for reproducibility (-1 for random)
    - `loras` string: LoRAs to apply. Accepts a string of comma-separated `url:scale` entries or a JSON array of LoRA objects ({ url, scale }). Entries without a scale use lora_scale.
    - `lora_scale` number: Default LoRA strength applied when loras entries omit a per-entry scale.
    - `loraId` string: Optional reference to a saved LoRA in your account. Resolved server-side to a download URL before submission.
    - `model` string: Model variant to use.
    - `vae` string
    - `pag_scale` number
    - `guidance_rescale` number
    - `clip_skip` integer
    - `strength` number: How strongly the edit overrides the input image.
    - `prepend_preprompt` boolean
    - `image` string, uri: Reference image URL.
    - `mask` string: Inpainting mask URL. PNG with transparent regions = areas to edit.
    - `blur_factor` number
    - `model_version` string
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Pony NAI - Stylized anime generation
    - `prompt` string, required: Text description of the image to generate
    - `negative_prompt` string: What to avoid in the image
    - `width` integer: Image width in pixels (1-4096)
    - `height` integer: Image height in pixels (1-4096)
    - `steps` integer: Number of diffusion steps (1-100)
    - `cfg_scale` number: Classifier-free guidance scale (1-50)
    - `scheduler` 'DPM++ 2M SDE Karras' | 'DPM++ 2M Karras' | 'Euler' | 'Euler a': Sampling scheduler
    - `batch_size` integer: Number of images to generate (1-4)
    - `seed` integer: Random seed for reproducibility (-1 for random)
    - `loras` string: LoRAs to apply. Accepts a string of comma-separated `url:scale` entries or a JSON array of LoRA objects ({ url, scale }). Entries without a scale use lora_scale.
    - `lora_scale` number: Default LoRA strength applied when loras entries omit a per-entry scale.
    - `loraId` string: Optional reference to a saved LoRA in your account. Resolved server-side to a download URL before submission.
    - `model` string: Model variant to use.
    - `vae` string
    - `pag_scale` number
    - `guidance_rescale` number
    - `clip_skip` integer
    - `strength` number: How strongly the edit overrides the input image.
    - `prepend_preprompt` boolean
    - `image` string, uri: Reference image URL.
    - `mask` string: Inpainting mask URL. PNG with transparent regions = areas to edit.
    - `blur_factor` number
    - `model_version` string
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Wai ANI - Stylized anime generation
    - `prompt` string, required: Text description of the image to generate
    - `negative_prompt` string: What to avoid in the image
    - `width` integer: Image width in pixels (1-4096)
    - `height` integer: Image height in pixels (1-4096)
    - `steps` integer: Number of diffusion steps (1-100)
    - `cfg_scale` number: Classifier-free guidance scale (1-50)
    - `scheduler` 'DPM++ 2M SDE Karras' | 'DPM++ 2M Karras' | 'Euler' | 'Euler a': Sampling scheduler
    - `batch_size` integer: Number of images to generate (1-4)
    - `seed` integer: Random seed for reproducibility (-1 for random)
    - `loras` string: LoRAs to apply. Accepts a string of comma-separated `url:scale` entries or a JSON array of LoRA objects ({ url, scale }). Entries without a scale use lora_scale.
    - `lora_scale` number: Default LoRA strength applied when loras entries omit a per-entry scale.
    - `loraId` string: Optional reference to a saved LoRA in your account. Resolved server-side to a download URL before submission.
    - `model` string: Model variant to use.
    - `vae` string
    - `pag_scale` number
    - `guidance_rescale` number
    - `clip_skip` integer
    - `strength` number: How strongly the edit overrides the input image.
    - `prepend_preprompt` boolean
    - `image` string, uri: Reference image URL.
    - `mask` string: Inpainting mask URL. PNG with transparent regions = areas to edit.
    - `blur_factor` number
    - `model_version` string
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Qwen Image 3.0 Pro — text-to-image generation and image editing in one model. Generate from a prompt, or supply 1-3 reference images plus an instruction.
    - `prompt` string, required: What to create, or the edit instruction when reference images are supplied.
    - `image` string[]: One to three input images. Omit for pure text-to-image generation. Accepts a single URL string or an array of URLs. Image order defines the array sequence; the output aspect ratio matches the last image when size is omitted. Accepted formats: JPG / JPEG / PNG / BMP / TIFF / WEBP / GIF; max 10 MB each.
    - `size` '1024*1024' | '768*1152' | '1152*768' | '960*1280' | '1280*960' | '720*1280' | '1280*720' | '1344*576' | '1536*1536' | '1024*1536' | '1536*1024' | '1080*1440' | '1440*1080' | '1080*1920' | '1920*1080' | '2048*872': Output image dimensions (width*height). Optional. In text-to-image mode, omitting it lets the model pick a resolution that suits the prompt; in edit mode it matches the input image's resolution. Pricing: 1 credit per image at every size, including auto. Total pixels stay between 512² and 2048²; the model rounds to the nearest multiple of 16.
    - `n` integer: Number of images to generate (1-6). Credit cost is per image.
    - `negative_prompt` string: What to avoid in the output.
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact edit instruction is followed. Turn on to auto-enhance short prompts.
    - `watermark` boolean: Adds a "Qwen-Image" watermark to the bottom-right corner.
    - `seed` integer: Random seed (0–2147483647). Same seed + same inputs yields similar (not identical) outputs. Omit for random.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Fast generation with excellent quality
    - `prompt` string, required: Text description of the image to generate.
    - `generation_model` 'qwen-image-plus' | 'qwen-image-plus-2026-01-09' | 'qwen-image-max' | 'qwen-image-max-2025-12-30' | 'qwen-image': DashScope model variant. Rolling: qwen-image-plus, qwen-image-max. Dated snapshots for pinning: qwen-image-plus-2026-01-09, qwen-image-max-2025-12-30. Legacy: qwen-image. Ignored when lora_weights is set (LoRA path uses Replicate).
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '21:9': Image aspect ratio. The qwen-image-plus / qwen-image-max series ship five recommended aspect ratios; 21:9 is only available on the LoRA Replicate path.
    - `negative_prompt` string: What to avoid in the output (max 500 characters).
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `watermark` boolean: Adds a "Qwen-Image" watermark to the bottom-right corner.
    - `num_inference_steps` number: LoRA path only — number of inference steps (28-50).
    - `guidance` number: LoRA path only — guidance scale (2-4).
    - `go_fast` boolean: LoRA path only — enable faster generation.
    - `numberOfImages` number: Number of images to generate. The DashScope path (qwen-image-plus / qwen-image-max) is fixed at 1 per upstream contract; the LoRA Replicate path supports 1-4.
    - `seed` integer: Random seed for reproducibility (0–2147483647).
    - `lora_weights` string: URL or HuggingFace path to a Qwen Image LoRA. Supplying this routes the request through the Replicate LoRA remix variant and unlocks numberOfImages > 1 + LoRA-specific params.
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Highest quality output
    - `prompt` string, required: Text description of the image to generate.
    - `generation_model` 'qwen-image-plus' | 'qwen-image-plus-2026-01-09' | 'qwen-image-max' | 'qwen-image-max-2025-12-30' | 'qwen-image': DashScope model variant. Rolling: qwen-image-plus, qwen-image-max. Dated snapshots for pinning: qwen-image-plus-2026-01-09, qwen-image-max-2025-12-30. Legacy: qwen-image. Ignored when lora_weights is set (LoRA path uses Replicate).
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '21:9': Image aspect ratio. The qwen-image-plus / qwen-image-max series ship five recommended aspect ratios; 21:9 is only available on the LoRA Replicate path.
    - `negative_prompt` string: What to avoid in the output (max 500 characters).
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `watermark` boolean: Adds a "Qwen-Image" watermark to the bottom-right corner.
    - `num_inference_steps` number: LoRA path only — number of inference steps (28-50).
    - `guidance` number: LoRA path only — guidance scale (2-4).
    - `go_fast` boolean: LoRA path only — enable faster generation.
    - `numberOfImages` number: Number of images to generate. The DashScope path (qwen-image-plus / qwen-image-max) is fixed at 1 per upstream contract; the LoRA Replicate path supports 1-4.
    - `seed` integer: Random seed for reproducibility (0–2147483647).
    - `lora_weights` string: URL or HuggingFace path to a Qwen Image LoRA. Supplying this routes the request through the Replicate LoRA remix variant and unlocks numberOfImages > 1 + LoRA-specific params.
    - `lora_scale` number: Strength of the LoRA effect (typical 0–2).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Fast, balanced image generation and editing
    - `prompt` string, required: Text description of the image to generate or editing instruction
    - `model` 'qwen-image-2.0' | 'qwen-image-2.0-2026-03-03' | 'qwen-image-2.0-pro' | 'qwen-image-2.0-pro-2026-04-22' | 'qwen-image-2.0-pro-2026-03-03': Model variant to use. Use the rolling names (qwen-image-2.0, qwen-image-2.0-pro) for the latest behavior, or pin to a dated snapshot variant for reproducibility.
    - `negative_prompt` string: What to avoid in the image
    - `size` '1024*1024' | '768*1152' | '1152*768' | '960*1280' | '1280*960' | '720*1280' | '1280*720' | '1344*576' | '1536*1536' | '1024*1536' | '1536*1024' | '1080*1440' | '1440*1080' | '1080*1920' | '1920*1080' | '2048*872' | '2048*2048' | '2688*1536' | '1536*2688' | '2368*1728' | '1728*2368': Output image dimensions (width*height). The qwen-image-2.0 series accepts any size where total pixels are between 512² and 2048², aspect ratio 1:8 to 8:1. The docs default to 2048*2048; we expose three tiers (1k / 2k / max) per aspect ratio.
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `n` number: Number of images to generate (1-6)
    - `seed` integer: Random seed for reproducibility (0-2147483647)
    - `reference_images` string[]: Optional reference image URLs (up to 3). Supplying any value turns this into an image-to-image call — the request is internally equivalent to /api/v1/models/qwen-image-2-edit/run with the same model. For new code, prefer that endpoint directly; the parameter is kept here for backwards compatibility with Creator Studio.
    - `watermark` boolean: Add a watermark to the bottom-right of the output.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Enhanced text rendering, realistic textures, and semantic adherence
    - `prompt` string, required: Text description of the image to generate or editing instruction
    - `model` 'qwen-image-2.0' | 'qwen-image-2.0-2026-03-03' | 'qwen-image-2.0-pro' | 'qwen-image-2.0-pro-2026-04-22' | 'qwen-image-2.0-pro-2026-03-03': Model variant to use. Use the rolling names (qwen-image-2.0, qwen-image-2.0-pro) for the latest behavior, or pin to a dated snapshot variant for reproducibility.
    - `negative_prompt` string: What to avoid in the image
    - `size` '1024*1024' | '768*1152' | '1152*768' | '960*1280' | '1280*960' | '720*1280' | '1280*720' | '1344*576' | '1536*1536' | '1024*1536' | '1536*1024' | '1080*1440' | '1440*1080' | '1080*1920' | '1920*1080' | '2048*872' | '2048*2048' | '2688*1536' | '1536*2688' | '2368*1728' | '1728*2368': Output image dimensions (width*height). The qwen-image-2.0 series accepts any size where total pixels are between 512² and 2048², aspect ratio 1:8 to 8:1. The docs default to 2048*2048; we expose three tiers (1k / 2k / max) per aspect ratio.
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `n` number: Number of images to generate (1-6)
    - `seed` integer: Random seed for reproducibility (0-2147483647)
    - `reference_images` string[]: Optional reference image URLs (up to 3). Supplying any value turns this into an image-to-image call — the request is internally equivalent to /api/v1/models/qwen-image-2-edit/run with the same model. For new code, prefer that endpoint directly; the parameter is kept here for backwards compatibility with Creator Studio.
    - `watermark` boolean: Add a watermark to the bottom-right of the output.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: 8-step distilled checkpoint: fast native-2K images and edits
    - `prompt` string, required: What to generate, or the edit to make to the reference images
    - `model` 'turbo' | 'base': turbo (8 steps, fast) or base (40 steps, highest detail)
    - `aspect_ratio` '1:1' | '4:3' | '3:4' | '3:2' | '2:3' | '16:9' | '9:16': Output aspect ratio
    - `resolution` '1k' | '2k': 1k (about 1 megapixel) or 2k (about 4 megapixels, the model native size)
    - `num_images` integer: Images to generate (1-4)
    - `reference_images` string[]: Up to 10 image URLs to edit or compose from (people, products, scenes)
    - `negative_prompt` string: What to avoid (base model only)
    - `seed` integer: Random seed for reproducibility
    - `output_format` 'jpeg' | 'png' | 'webp': jpeg, png (keeps transparency) or webp
    - `lora_weights` string: URL or array of up to 3 Qwen Image 2.1 LoRA .safetensors URLs
    - `lora_scales` number: Strength of each LoRA (0-2), a number or an array matching lora_weights
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Full 40-step checkpoint: the most detail and the best typography
    - `prompt` string, required: What to generate, or the edit to make to the reference images
    - `model` 'turbo' | 'base': turbo (8 steps, fast) or base (40 steps, highest detail)
    - `aspect_ratio` '1:1' | '4:3' | '3:4' | '3:2' | '2:3' | '16:9' | '9:16': Output aspect ratio
    - `resolution` '1k' | '2k': 1k (about 1 megapixel) or 2k (about 4 megapixels, the model native size)
    - `num_images` integer: Images to generate (1-4)
    - `reference_images` string[]: Up to 10 image URLs to edit or compose from (people, products, scenes)
    - `negative_prompt` string: What to avoid (base model only)
    - `seed` integer: Random seed for reproducibility
    - `output_format` 'jpeg' | 'png' | 'webp': jpeg, png (keeps transparency) or webp
    - `lora_weights` string: URL or array of up to 3 Qwen Image 2.1 LoRA .safetensors URLs
    - `lora_scales` number: Strength of each LoRA (0-2), a number or an array matching lora_weights
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba DashScope Qwen Image 2 edit — supply 1-3 reference images plus an edit instruction. Standard and Pro variants.
    - `prompt` string, required: Edit instruction or composition prompt.
    - `image` string[], required: One to three input images. Accepts a single URL string or an array of URLs. Image order defines the array sequence; the output aspect ratio matches the last image when size is omitted. Accepted formats: JPG / JPEG / PNG / BMP / TIFF / WEBP / GIF; max 10 MB each.
    - `model` 'qwen-image-2.0' | 'qwen-image-2.0-2026-03-03' | 'qwen-image-2.0-pro' | 'qwen-image-2.0-pro-2026-04-22' | 'qwen-image-2.0-pro-2026-03-03': Model variant to use. Use the rolling names (qwen-image-2.0, qwen-image-2.0-pro) for the latest behavior, or pin to a dated snapshot variant for reproducibility.
    - `size` '1024*1024' | '768*1152' | '1152*768' | '960*1280' | '1280*960' | '720*1280' | '1280*720' | '1344*576' | '1536*1536' | '1024*1536' | '1536*1024' | '1080*1440' | '1440*1080' | '1080*1920' | '1920*1080' | '2048*872' | '2048*2048' | '2688*1536' | '1536*2688' | '2368*1728' | '1728*2368': Output image dimensions (width*height). Optional — when omitted, the model matches the input image's aspect ratio. Total pixels 512² to 2048². When provided, the model rounds to the nearest multiple of 16.
    - `n` integer: Number of images to generate (1-6).
    - `negative_prompt` string: What to avoid in the output (max 500 characters).
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact edit instruction is followed. Turn on to auto-enhance short prompts.
    - `watermark` boolean: Adds a "Qwen-Image" watermark to the bottom-right corner.
    - `seed` integer: Random seed (0–2147483647). Same seed + same inputs yields similar (not identical) outputs. Omit for random.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba DashScope Qwen Image edit — supply 1-3 reference images plus an edit instruction. Plus and Max model variants.
    - `prompt` string, required: Edit instruction.
    - `image` string[], required: One to three input images. Accepts a single URL string or an array of URLs. Image order defines the array sequence; the output aspect ratio matches the last image when size is omitted. Accepted formats: JPG / JPEG / PNG / BMP / TIFF / WEBP / GIF; max 10 MB each.
    - `model` 'qwen-image-edit-plus' | 'qwen-image-edit-plus-2025-12-15' | 'qwen-image-edit-plus-2025-10-30' | 'qwen-image-edit-max' | 'qwen-image-edit-max-2026-01-16' | 'qwen-image-edit': Edit-model variant. Use the rolling names (qwen-image-edit-plus, qwen-image-edit-max) for the latest behavior, or pin to a dated snapshot for reproducibility. The legacy `qwen-image-edit` fixes n=1 and ignores size / prompt_extend.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '21:9': Output aspect ratio. Omit to match the input image's aspect ratio. Used to derive `size` when an explicit `size` value is not supplied.
    - `size` '1024*1024' | '1536*1536' | '768*1152' | '1024*1536' | '1152*768' | '1536*1024' | '960*1280' | '1080*1440' | '1280*960' | '1440*1080' | '720*1280' | '1080*1920' | '1280*720' | '1920*1080' | '1344*576' | '2048*872': Output dimensions (width*height). Optional — when omitted, the model matches the input image's aspect ratio. Width / height each between 512 and 2048; the model rounds to the nearest multiple of 16.
    - `n` integer: Number of images to generate (1-6 on edit-plus / edit-max; fixed at 1 on qwen-image-edit).
    - `negative_prompt` string: What to avoid in the output (max 500 characters).
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact edit instruction is followed. Not supported on qwen-image-edit (legacy).
    - `watermark` boolean: Adds a "Qwen-Image" watermark to the bottom-right corner.
    - `seed` integer: Random seed (0–2147483647). Same seed + same inputs yields similar (not identical) outputs. Omit for random.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Qwen Image Edit, Realistic mode. Add, remove, or modify elements in an existing image with text guidance.
    - `prompt` string, required: Edit instruction — describe what to add, remove, or change
    - `image_url` string, uri, required: Source image — public HTTPS URL (JPEG/PNG/BMP/WEBP).
    - `seed` integer: Random seed (0–2,147,483,647); null/0 = random
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Recraft's latest image model. Better photorealism, smoother gradients, and improved text rendering vs V4. ~1024px output.
    - `prompt` string: Text prompt for image generation (up to 10,000 characters)
    - `tier` 'standard' | 'pro': Output resolution tier. Standard ≈1024px (1 credit), Pro ≈2048px (5 credits).
    - `variant` 'raster' | 'svg' | 'utility': Output type. "raster" = standard PNG/WebP image. "svg" = editable SVG vector. "utility" = product-mockup-optimized raster (flat, front-facing).
    - `svg` boolean: Legacy. Set true to get SVG output (equivalent to variant="svg"). Prefer `variant` going forward.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3' | '4:5' | '5:4' | '2:1' | '1:2' | '14:10' | '10:14' | '6:10': Output aspect ratio. V4.1 supports 15 ratios. Set "Not set" to use the explicit `size` field instead.
    - `size` string: Explicit WIDTHxHEIGHT. Only used when aspect_ratio is "Not set". Standard tier ≈1024px family; Pro tier ≈2048px family.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: V4.1 at ~2048px resolution. Print-ready and large-scale work with the same prompt accuracy and design taste as standard.
    - `prompt` string: Text prompt for image generation (up to 10,000 characters)
    - `tier` 'standard' | 'pro': Output resolution tier. Standard ≈1024px (1 credit), Pro ≈2048px (5 credits).
    - `variant` 'raster' | 'svg' | 'utility': Output type. "raster" = standard PNG/WebP image. "svg" = editable SVG vector. "utility" = product-mockup-optimized raster (flat, front-facing).
    - `svg` boolean: Legacy. Set true to get SVG output (equivalent to variant="svg"). Prefer `variant` going forward.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3' | '4:5' | '5:4' | '2:1' | '1:2' | '14:10' | '10:14' | '6:10': Output aspect ratio. V4.1 supports 15 ratios. Set "Not set" to use the explicit `size` field instead.
    - `size` string: Explicit WIDTHxHEIGHT. Only used when aspect_ratio is "Not set". Standard tier ≈1024px family; Pro tier ≈2048px family.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Production-ready SVG vector output. Clean geometry, structured layers, editable paths — V4.1's design taste applied to vector.
    - `prompt` string: Text prompt for image generation (up to 10,000 characters)
    - `tier` 'standard' | 'pro': Output resolution tier. Standard ≈1024px (1 credit), Pro ≈2048px (5 credits).
    - `variant` 'raster' | 'svg' | 'utility': Output type. "raster" = standard PNG/WebP image. "svg" = editable SVG vector. "utility" = product-mockup-optimized raster (flat, front-facing).
    - `svg` boolean: Legacy. Set true to get SVG output (equivalent to variant="svg"). Prefer `variant` going forward.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3' | '4:5' | '5:4' | '2:1' | '1:2' | '14:10' | '10:14' | '6:10': Output aspect ratio. V4.1 supports 15 ratios. Set "Not set" to use the explicit `size` field instead.
    - `size` string: Explicit WIDTHxHEIGHT. Only used when aspect_ratio is "Not set". Standard tier ≈1024px family; Pro tier ≈2048px family.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Detailed SVG vector graphics with finer paths and more geometric detail than standard SVG.
    - `prompt` string: Text prompt for image generation (up to 10,000 characters)
    - `tier` 'standard' | 'pro': Output resolution tier. Standard ≈1024px (1 credit), Pro ≈2048px (5 credits).
    - `variant` 'raster' | 'svg' | 'utility': Output type. "raster" = standard PNG/WebP image. "svg" = editable SVG vector. "utility" = product-mockup-optimized raster (flat, front-facing).
    - `svg` boolean: Legacy. Set true to get SVG output (equivalent to variant="svg"). Prefer `variant` going forward.
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3' | '4:5' | '5:4' | '2:1' | '1:2' | '14:10' | '10:14' | '6:10': Output aspect ratio. V4.1 supports 15 ratios. Set "Not set" to use the explicit `size` field instead.
    - `size` string: Explicit WIDTHxHEIGHT. Only used when aspect_ratio is "Not set". Standard tier ≈1024px family; Pro tier ≈2048px family.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Black Forest Labs Flux Redux image variations — feed a source image, get stylistic riffs.
    - `model` 'Flux Redux Schnell' | 'Flux Redux Dev': Model variant to use.
    - `redux_image` string, uri, required: Reference image URL — Flux Redux generates variations / re-imaginings of this image.
    - `seed` number: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `num_outputs` integer: Number of output images.
    - `aspect_ratio` '1:1' | '16:9' | '21:9' | '3:2' | '2:3' | '4:5' | '5:4' | '3:4' | '4:3' | '9:16' | '9:21': Output aspect ratio.
    - `output_format` 'webp' | 'jpg' | 'png': Output file format.
    - `output_quality` integer: JPEG/WEBP encoding quality (0–100).
    - `num_inference_steps` integer: Number of denoising steps. More steps = higher fidelity, slower.
    - `megapixels` '1' | '0.25': Output size in megapixels.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Sourceful Riverflow 2.0 (Fast + Pro) via Runware. Text-to-image with optional reference image guidance — references steer style and composition, the model generates a fresh frame from your prompt. Two quality tiers.
    - `prompt` string, required: Text description of the image to generate or edit.
    - `model` 'fast' | 'pro': Riverflow Fast (1 credit, 1K/2K) or Riverflow Pro (3 credits 1K/2K, 7 credits 4K).
    - `aspect_ratio` '1:1' | '4:3' | '3:4' | '16:9' | '9:16' | '3:2' | '2:3' | '5:4' | '4:5' | '7:3': Output aspect ratio. Combined with resolution to resolve width/height.
    - `resolution` '1k' | '2k' | '4k': 1K, 2K (Fast + Pro), or 4K (Pro only).
    - `num_outputs` integer: How many variations to generate. 1-4.
    - `reference_images` string[]: Up to 10 image URLs that guide style and composition. Riverflow generates a fresh image from the prompt — references are not modified.
    - `seed` integer: Integer seed for reproducible outputs.
    - `size` string: Output image dimensions (width*height).
    - `width` integer: Output width in pixels.
    - `height` integer: Output height in pixels.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Hyper3D Rodin. Turn up to 5 reference images into production-ready 3D models, with fast and standard quality modes.
    - `mode` 'fast' | 'standard': fast = quick prototyping; standard = production quality.
    - `image_urls` string[], required: 1–5 reference image URLs. Rodin is image-to-3D — at least one image is required.
    - `prompt` string: Optional text prompt to guide the generation. Auto-derived from the images when empty.
    - `tier` 'Gen-2.5-Minimum' | 'Gen-2.5-Extreme-Low' | 'Gen-2.5-Low' | 'Gen-2.5-Medium' | 'Gen-2.5-High' | 'Gen-2.5-Extreme-High': Generation tier. Fast mode supports Minimum, Extreme-Low, Low only. Gen-2.5-Extreme-High costs 16 credits; every other tier costs 12.
    - `high_pack` boolean: HighPack add-on: 4K textures (and ~16x faces in Quad mode). Adds 16 credits.
    - `material` 'PBR' | 'Shaded' | 'All' | 'None': Material output: PBR, Shaded, All, or None.
    - `geometry_file_format` 'glb' | 'usdz' | 'fbx' | 'obj' | 'stl': Mesh file format. glb renders in the in-app viewer.
    - `quality_mesh_option` 'Auto' | '1K Quad' | '4K Quad' | '8K Quad' | '18K Quad' | '20K Quad' | '50K Quad' | '100K Quad' | '200K Quad' | '2K Triangle' | '4K Triangle' | '8K Triangle' | '10K Triangle' | '20K Triangle' | '50K Triangle' | '150K Triangle' | '500K Triangle' | '1M Triangle' | '2M Triangle': Mesh density. Auto picks the advised mesh for the selected tier.
    - `texture_mode` 'legacy' | 'extreme-low' | 'low' | 'medium' | 'high': Texture generation quality. Defaults per tier when unset.
    - `use_original_alpha` boolean: Preserve input image transparency.
    - `enable_creative_mode` boolean: Enhanced generative robustness.
    - `hd_texture` boolean: Enhanced texture post-processing.
    - `texture_delight` boolean: Remove baked lighting/highlights from textures.
    - `is_micro` boolean: Finer micro-scale geometry (Gen-2.5-Extreme-High only).
    - `tapose` boolean: Generate in T-pose / A-pose for easier rigging.
    - `seed` integer: Seed (0–65535) for reproducible output.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: ByteDance Seed Audio 1.0. Generate speech, voice clones, and full audio scenes (radio dramas, podcasts, narration) from a prompt.
    - `prompt` string, required: Text to speak, or an instruction like "Generate a short suspense radio drama". Reference uploaded audio clips inline as @Audio1, @Audio2, @Audio3.
    - `voice` string: Accepted for backwards compatibility but no longer applied — the model has no preset-voice control. Describe the voice you want in the prompt, or clone one with audio_urls.
    - `audio_urls` string[]: Up to 3 reference audio URLs for voice cloning, referenced in the prompt as @Audio1–@Audio3. Each clip up to 30s / 10MB (wav, mp3, pcm, or ogg_opus). Cannot be combined with image_url.
    - `image_url` string, uri: Single reference image URL (jpeg/png/webp, up to 10MB) to guide the audio. Cannot be combined with audio_urls.
    - `output_format` 'mp3' | 'wav' | 'pcm' | 'ogg_opus': Output audio format.
    - `sample_rate` integer: Output sample rate in Hz (8000, 16000, 24000, 32000, 44100, or 48000).
    - `speed` number: Speech speed multiplier (0.5–2).
    - `volume` number: Volume multiplier (0.5–2).
    - `pitch` integer: Pitch shift in semitones (-12 to +12).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: ByteDance Seedance 1 video generation. Text-to-video or image-to-video with optional end frame.
    - `prompt` string, required: Text description of the video to generate
    - `image_url` string, uri: Starting image for image-to-video generation
    - `end_image_url` string, uri: Ending frame for video interpolation (requires start image)
    - `duration` '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12': Video duration in seconds (4-12)
    - `resolution` '480p' | '720p': Video output resolution
    - `aspect_ratio` '21:9' | '16:9' | '4:3' | '1:1' | '3:4' | '9:16': Video aspect ratio
    - `camera_fixed` boolean: Keep camera stationary during generation
    - `generate_audio` boolean: Generate synchronized audio
    - `seed` integer: Random seed for reproducibility (-1 for random)
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Higher-quality Seedance 2.0 video generation (supports 1080p)
    - `prompt` string, required: Text description of the video or motion to generate
    - `image_url` string, uri: Reference image for image-to-video mode (the first frame)
    - `last_frame_url` string, uri: Optional end frame for first-and-last-frame image-to-video. Requires image_url (the start frame); the clip animates from the first frame to this one.
    - `mode` 'text-to-video' | 'image-to-video': text-to-video or image-to-video
    - `resolution` '480p' | '720p' | '1080p' | '4k': Video resolution
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '21:9' | 'adaptive': Output aspect ratio
    - `duration` '5' | '10' | '15': Video duration in seconds (5, 10, or 15)
    - `quality` 'fast' | 'high' | 'mini': Generation quality tier. Higher tiers cost more credits.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Cost-effective Seedance 2.0 Mini — same creation flow at roughly half the credits (480p / 720p)
    - `prompt` string, required: Text description of the video or motion to generate
    - `image_url` string, uri: Reference image for image-to-video mode (the first frame)
    - `last_frame_url` string, uri: Optional end frame for first-and-last-frame image-to-video. Requires image_url (the start frame); the clip animates from the first frame to this one.
    - `mode` 'text-to-video' | 'image-to-video': text-to-video or image-to-video
    - `resolution` '480p' | '720p' | '1080p' | '4k': Video resolution
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '21:9' | 'adaptive': Output aspect ratio
    - `duration` '5' | '10' | '15': Video duration in seconds (5, 10, or 15)
    - `quality` 'fast' | 'high' | 'mini': Generation quality tier. Higher tiers cost more credits.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Seedance 2.5 — text-to-video, first/last frame, and multimodal reference-to-video. Up to 30 seconds in one request with native audio in 11 languages.
    - `prompt` string: Text description of the video. Tag reference assets as @Image1, @Video1, @Audio1 and say what each one contributes. Required.
    - `first_frame_url` string, uri: Starting frame. Forces the output aspect ratio to match this image. Cannot be combined with reference assets.
    - `last_frame_url` string, uri: Ending frame. Requires first_frame_url.
    - `reference_images` string[]: Up to 30 reference images. Cannot be combined with first/last frames.
    - `reference_videos` string[]: Up to 10 reference videos, 30s combined.
    - `reference_video_seconds` number: Combined length of reference_videos, in seconds. Seedance meters input video as well as output, so this is billed on top of duration. An ESTIMATE only — it is refined from the provider's own meter at settlement and the difference is refunded. Omit it and reference-video runs reserve the full 30s budget.
    - `reference_audios` string[]: Up to 10 reference audio tracks, 30s combined. Seedance 2.5 accepts audio-only references.
    - `resolution` '480p' | '720p' | '1080p': Output resolution. Seedance 2.5 supports 480p, 720p, and 1080p.
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '21:9' | 'adaptive': Output aspect ratio. Ignored (forced to "adaptive") when a first frame or a reference video is supplied, because the model matches that input.
    - `duration` integer: Clip length in seconds (4-30), or -1 to let the model choose. -1 is billed at 30s and refunded down on settle.
    - `generate_audio` boolean: Generate a native audio track (11 languages supported).
    - `thinking` boolean: Let the model reason about the prompt before generating. Most useful on long multi-beat prompts. Costs no extra credits. Off by default.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Edit or extend an existing video with Seedance 2.5. Replace a subject, add or remove objects, or continue a clip forward or backward, with up to 50 reference materials.
    - `mode` 'edit' | 'extend': edit changes what happens inside the clip and keeps its length. extend adds new footage before or after it.
    - `prompt` string, required: The change you want. Do not write the trigger wording yourself — the server prefixes the canonical phrase for your mode. Tag extra materials as @Image1, @Video2, @Audio1 (the source clip is always @Video1).
    - `video_url` string, uri, required: The clip to edit or extend. Must be 4-30 seconds. Becomes @Video1.
    - `direction` 'forward' | 'backward': extend only: whether the new footage comes after the clip or before it.
    - `duration` integer: extend only: length of the result in seconds (4-30), or -1 to let the model choose. Ignored in edit mode, where the provider requires -1 and matches the source length.
    - `reference_images` string[]: Up to 30 extra images, e.g. the face or product to paste into the shot.
    - `reference_videos` string[]: Up to 9 extra clips alongside the source (10 videos total, 30s combined).
    - `reference_video_seconds` number: Combined length of reference_videos in seconds (up to 30). The provider meters reference video on top of the source, so send this to be billed the real length. Omitted with reference videos attached, the full 30s is reserved and settlement refunds the difference.
    - `reference_audios` string[]: Up to 10 audio tracks, e.g. a voice to match.
    - `resolution` '480p' | '720p' | '1080p': Output resolution. Seedance 2.5 supports 480p, 720p, and 1080p.
    - `generate_audio` boolean: Generate a native audio track.
    - `thinking` boolean: Let the model reason about the prompt before generating. Costs no extra credits. Off by default.
    - `source_duration_seconds` number
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Seedance 2.0 multimodal reference-to-video. Combine up to 9 images, 3 video clips, and 3 audio tracks to guide characters, motion, and sound.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `reference_images` string[]: Optional reference image URLs to bias style or subject.
    - `reference_videos` string[]: Optional reference video URLs (up to 3). Combined duration across all clips must be 15 seconds or less.
    - `reference_audios` string[]: Optional reference audio URLs (up to MAX_REFERENCE_AUDIOS). At least one reference image or video must also be supplied.
    - `quality` 'fast' | 'high' | 'mini': Generation quality tier. Higher tiers cost more credits.
    - `duration` integer: Output duration in seconds.
    - `resolution` '480p' | '720p' | '1080p' | '4k': Output resolution.
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '21:9' | 'adaptive': Output aspect ratio.
    - `generate_audio` boolean: Generate a soundtrack alongside the video.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Edit source videos with Seedance 2.0 using prompted changes, optional reference images, and 480p, 720p, or 1080p output.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `video_url` string, uri, required: Reference video URL.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `resolution` '480p' | '720p' | '1080p' | '4k': Output resolution.
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '21:9' | 'adaptive': Output aspect ratio.
    - `quality` 'fast' | 'standard' | 'basic' | 'high': Generation quality tier. Higher tiers cost more credits.
    - `generate_audio` boolean: Generate a soundtrack alongside the video.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `image_urls` string[]: Reference image URLs.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: ByteDance Seedream 4.5 — new-generation image creation with superior aesthetics, text rendering, and up to 4K resolution.
    - `prompt` string, required: Text description of the image to generate
    - `image_size` 'auto_2K' | 'auto_4K' | 'square_1_1' | 'landscape_16_9' | 'portrait_9_16' | 'landscape_4_3' | 'portrait_3_4' | 'landscape_3_2' | 'portrait_2_3' | 'landscape_21_9': Output size preset or resolution
    - `customWidth` number: Custom width in pixels (1296-4096)
    - `customHeight` number: Custom height in pixels (1296-4096)
    - `seed` number: Random seed for reproducibility
    - `num_images` integer: Number of images to generate (1-4)
    - `image_urls` string[]: Reference image URLs.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Seedream 5 Pro — the flagship Seedream image model with sharper realism, stronger prompt adherence, and best-in-class text rendering.
    - `prompt` string, required: Text description of the image to generate
    - `image_size` 'auto_1K' | 'auto_2K' | 'square_1_1' | 'landscape_16_9' | 'portrait_9_16' | 'landscape_4_3' | 'portrait_3_4' | 'landscape_3_2' | 'portrait_2_3' | 'landscape_21_9': Output size preset or resolution. 1K-class output (auto_1K) is 1.25 credits per image; 2K-class output is 2.5 credits. auto_1K and auto_2K pick the shape themselves (square from a text prompt), so for a set aspect ratio use a landscape_/portrait_ preset, or custom with customWidth and customHeight (e.g. 2048x1152 for 16:9).
    - `customWidth` number: Custom width in pixels. Snapped to a multiple of 16; total pixels must be between 921,600 (1280×720) and 4,194,304 (2048×2048).
    - `customHeight` number: Custom height in pixels. Snapped to a multiple of 16; total pixels must be between 921,600 (1280×720) and 4,194,304 (2048×2048).
    - `seed` number: Random seed for reproducibility
    - `num_images` integer: Number of images to generate (1-4)
    - `image_urls` string[]: Reference image URLs.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Seedream 5 Flash: the fast, low-cost Seedream 5 model for quick drafts and high-volume image generation and editing.
    - `prompt` string, required: Text description of the image to generate
    - `image_size` 'auto_1K' | 'auto_2K' | 'square_1_1' | 'landscape_16_9' | 'portrait_9_16' | 'landscape_4_3' | 'portrait_3_4' | 'landscape_3_2' | 'portrait_2_3' | 'landscape_21_9': Output size preset or resolution. 0.5 credits per image at any size.
    - `customWidth` number: Custom width in pixels. Snapped to a multiple of 16; total pixels must be between 921,600 (1280×720) and 4,194,304 (2048×2048).
    - `customHeight` number: Custom height in pixels. Snapped to a multiple of 16; total pixels must be between 921,600 (1280×720) and 4,194,304 (2048×2048).
    - `seed` number: Random seed for reproducibility
    - `num_images` integer: Number of images to generate (1-4)
    - `image_urls` string[]: Reference image URLs.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: ByteDance Seedream 5.0 Lite — fast, high-quality image generation and editing with strong aesthetics and text rendering.
    - `prompt` string, required: Text description of the image to generate
    - `image_size` 'auto_2K' | 'auto_3K' | 'square_1_1' | 'landscape_16_9' | 'portrait_9_16' | 'landscape_4_3' | 'portrait_3_4' | 'landscape_3_2' | 'portrait_2_3' | 'landscape_21_9': Output size preset or resolution
    - `customWidth` number: Custom width in pixels (1296-4096)
    - `customHeight` number: Custom height in pixels (1296-4096)
    - `seed` number: Random seed for reproducibility
    - `num_images` integer: Number of images to generate (1-4)
    - `image_urls` string[]: Reference image URLs.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: ACE-Step v1.5. Generate instrumental beds or full songs from a prompt, 30 seconds to 5 minutes.
    - `prompt` string: Text description of the music. Required unless composition_plan is provided.
    - `music_length_ms` integer: Length of the generated music in milliseconds, 30 seconds to 5 minutes. Must be a multiple of 5,000 (5s). Ignored when composition_plan is provided (the section total decides).
    - `force_instrumental` boolean: Force purely instrumental output (no vocals). Leave true unless you are supplying lyrics — this model sings only the words you give it. Ignored with composition_plan, where the section lines decide.
    - `lyrics` string: Words to sing. Only applied when force_instrumental is false. Use [verse] / [chorus] tags on their own lines to mark structure. Without lyrics the track is instrumental.
    - `respect_sections_durations` boolean: Accepted for backwards compatibility but no longer applied — section boundaries cannot be pinned on this model.
    - `output_format` 'mp3_standard' | 'mp3_high_quality' | 'wav_16khz' | 'wav_22khz' | 'wav_24khz' | 'wav_cd_quality': Output file format.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: MiniMax Speech 2.8 Turbo via Replicate. Convert text into natural-sounding speech.
    - `text` string, required: Text to synthesize into speech (1–10,000 characters). Billed per character: 2 credits per 1,000 characters, rounded up to 0.1 credit, 0.5 credit minimum.
    - `voice_id` string: Voice preset (e.g. Wise_Woman, Calm_Woman, Friendly_Person).
    - `speed` number: Speech speed multiplier (0.5–2).
    - `volume` number: Output volume (0–10).
    - `pitch` integer: Pitch shift in semitones (-12 to +12).
    - `emotion` 'auto' | 'happy' | 'sad' | 'angry' | 'fearful' | 'disgusted' | 'surprised' | 'calm' | 'fluent' | 'neutral': Emotional tone for the synthesized speech.
    - `english_normalization` boolean: Normalize numbers, abbreviations, and acronyms in English text.
    - `sample_rate` integer: Output sample rate in Hz (8000, 16000, 22050, 24000, 32000, or 44100).
    - `bitrate` integer: Output bitrate in bps (32000, 64000, 128000, or 256000).
    - `audio_format` 'mp3' | 'wav' | 'flac' | 'pcm': Output container format.
    - `channel` 'mono' | 'stereo': Mono or stereo output.
    - `subtitle_enable` boolean: Return word-aligned subtitles alongside the audio.
    - `language_boost` string: Language tag to bias pronunciation (default "None").
    - `async` boolean: Submit asynchronously and return a job id instead of waiting for the audio inline.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Faster generation at 4.5 credits per second with native audio (3 with generate_audio false)
    - `prompt` string: Text description of the video to generate
    - `image` string, uri: Starting image for image-to-video generation
    - `last_frame` string, uri: Ending frame for video interpolation
    - `reference_images` string[]: Up to 3 reference images for style guidance
    - `aspect_ratio` '16:9' | '9:16': Video aspect ratio
    - `duration` '4' | '6' | '8': Video duration in seconds
    - `resolution` '720p' | '1080p': Video output resolution
    - `negative_prompt` string: What to avoid in the video
    - `generate_audio` boolean: Generate synchronized native audio. On by default: Standard 12 credits/second (8 with audio off), Fast 4.5 (3 with audio off). Lite is unaffected.
    - `seed` integer: Random seed for reproducibility
    - `model` 'fast' | 'standard' | 'lite': Model variant to use.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Higher quality at 12 credits per second with native audio (8 with generate_audio false)
    - `prompt` string: Text description of the video to generate
    - `image` string, uri: Starting image for image-to-video generation
    - `last_frame` string, uri: Ending frame for video interpolation
    - `reference_images` string[]: Up to 3 reference images for style guidance
    - `aspect_ratio` '16:9' | '9:16': Video aspect ratio
    - `duration` '4' | '6' | '8': Video duration in seconds
    - `resolution` '720p' | '1080p': Video output resolution
    - `negative_prompt` string: What to avoid in the video
    - `generate_audio` boolean: Generate synchronized native audio. On by default: Standard 12 credits/second (8 with audio off), Fast 4.5 (3 with audio off). Lite is unaffected.
    - `seed` integer: Random seed for reproducibility
    - `model` 'fast' | 'standard' | 'lite': Model variant to use.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Runware-powered Lite variant at 1.5 credits/sec for 720p and 2 credits/sec for 1080p. No reference images, no audio generation, no 1:1 aspect ratio.
    - `prompt` string: Text description of the video to generate
    - `image` string, uri: Starting image for image-to-video generation
    - `last_frame` string, uri: Ending frame for video interpolation
    - `aspect_ratio` '16:9' | '9:16': Video aspect ratio (1:1 not supported for Lite)
    - `duration` '4' | '6' | '8': Video duration in seconds (1080p supports 8s only)
    - `resolution` '720p' | '1080p': Video output resolution
    - `negative_prompt` string: What to avoid in the video
    - `seed` integer: Random seed for reproducibility
    - `reference_images` string[]: Optional reference image URLs to bias style or subject.
    - `model` 'fast' | 'standard' | 'lite': Model variant to use.
    - `generate_audio` boolean: Generate synchronized native audio. On by default: Standard 12 credits/second (8 with audio off), Fast 4.5 (3 with audio off). Lite is unaffected.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Animated word-by-word captions, placed clear of the TikTok, Reels and Shorts buttons.
    - `video` string, uri, required: Reference video URL.
    - `highlight_color` string: Hex color for word-highlight emphasis on the burned-in captions (e.g. "#FFCC00").
    - `caption_style` 'pop' | 'highlighter' | 'clean': pop (default): bold uppercase, the spoken word lit and growing. highlighter: the spoken word on a block of the color. clean: sentence case on a dark box.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Luma Reframe Video via Replicate. Change a video's aspect ratio intelligently.
    - `video` string, uri, required: Reference video URL.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4' | '21:9' | '9:21': Output aspect ratio.
    - `prompt` string: Text instruction describing what to generate or edit.
    - `grid_position_x` number: Horizontal grid offset for the source frame inside the reframed output (0 = left edge).
    - `grid_position_y` number: Vertical grid offset for the source frame inside the reframed output (0 = top edge).
    - `x_start` number: Left edge of the source crop region (pixels from the left of the input frame).
    - `x_end` number: Right edge of the source crop region (pixels from the left of the input frame).
    - `y_start` number: Top edge of the source crop region (pixels from the top of the input frame).
    - `y_end` number: Bottom edge of the source crop region (pixels from the top of the input frame).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Runway Aleph 2.0 via Replicate. Transform up to 30 seconds of video with a prompt.
    - `video` string, uri, required: Reference video URL.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `video_duration` number, required: Length of the source video in seconds (2-30). Billed 10 credits per second, rounded up. A value under the clip's real length is refused.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `keyframe_images` string[]: Up to 5 optional keyframe images for image-level control over the edit. Each is paired with a position in keyframe_positions.
    - `keyframe_positions` string[]: Position of each keyframe image, one entry per image: 'first', 'last', or a timestamp in seconds (e.g. '1.67').
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: FlashVSR video upscaling. Enhance video resolution up to 4K.
    - `video` string, uri, required: Source video — public HTTPS URL. MP4 only, max 500 MB.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `target_resolution` '720p' | '1080p' | '2k' | '4k': Target output resolution. 4k is the highest tier; 1080p is the default.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Vidu Q3 — text-to-video and image-to-video at 360p, 540p, 720p, or 1080p with optional synchronized audio.
    - `prompt` string, required: Text description of the video or motion to generate
    - `image_url` string, uri: First-frame reference image for image-to-video mode
    - `mode` 'text-to-video' | 'image-to-video': text-to-video or image-to-video
    - `resolution` '360p' | '540p' | '720p' | '1080p': Video resolution
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '9:16' | '3:4': Output aspect ratio
    - `duration` integer: Video duration in seconds (1-16)
    - `generate_audio` boolean: Generate synchronized audio (off by default)
    - `seed` integer: Random seed for reproducibility
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: WAN 2.1 (14B) text & image to video with LoRA support. 480p/720p, 1-5 second clips.
    - `prompt` string, required: Text description of the video to generate
    - `image_url` string, uri: Optional starting-frame image (public HTTPS URL). When set, the tool runs image-to-video; when omitted, text-to-video.
    - `negative_prompt` string: What to avoid in the video
    - `resolution` '480p' | '720p': Output resolution. 480p bills 2.5 credits/sec, 720p bills 8 credits/sec (Balanced or Fast speed).
    - `aspect_ratio` '16:9' | '9:16' | '1:1': Aspect ratio of the output video
    - `duration` integer: Video length in seconds (1-5, clips render at 16fps). Billed on at least 3 seconds, so 1-2s clips cost the same as 3s.
    - `fast_mode` 'Off' | 'Balanced' | 'Fast': Acceleration level — faster modes may reduce quality slightly. Off (best quality) bills 4 credits/sec at 480p and 14 at 720p; Balanced and Fast bill the resolution rate.
    - `lora_url` string, uri: HuggingFace, CivitAI, or .safetensors URL for a custom LoRA
    - `lora_strength` number: How strongly the LoRA is applied (0 disables it)
    - `sample_steps` integer: Number of inference steps. Above 30, the price scales proportionally (40 steps costs 4/3 as much).
    - `sample_guide_scale` number: Higher values follow the prompt more closely
    - `sample_shift` number: Flow shift parameter for video generation
    - `seed` integer: Random seed for reproducibility
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Premium quality with enhanced detail
    - `prompt` string, required: Text description of the video to generate
    - `image_url` string, uri: Starting image for image-to-video mode
    - `last_image_url` string, uri: Ending frame for video interpolation
    - `resolution` '480p' | '720p' | '1080p': Output video resolution. Credits per generation: standard 480p 3, 720p 4.5; plus 480p 3, 1080p 11.
    - `aspect_ratio` '16:9' | '9:16': Video aspect ratio
    - `duration` integer: Video duration in seconds
    - `num_frames` integer: Number of frames to generate (81-100)
    - `sample_shift` number: Sampling shift value (0-20)
    - `sample_steps` integer: Number of sampling steps (10-50)
    - `frames_per_second` integer: Frames per second (8-24)
    - `interpolate_output` boolean: Interpolate output to 30 FPS
    - `seed` number: Random seed for reproducibility
    - `lora_weights_transformer` string: URL or path to a LoRA. Standard quality mode only — maps to the high-noise transformer.
    - `lora_scale_transformer` number: Strength for LoRA 1 (0–4).
    - `lora_weights_transformer_2` string: URL or path to a second LoRA. Standard quality mode only — maps to the low-noise transformer (dual-LoRA).
    - `lora_scale_transformer_2` number: Strength for LoRA 2 (0–4).
    - `mode` 'text-to-video' | 'image-to-video', required: Generation mode.
    - `quality_mode` 'standard' | 'plus'
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `optimize_prompt` boolean
    - `lora_weights_transformer_3` string
    - `lora_scale_transformer_3` number
    - `lora_weights_transformer_4` string
    - `lora_scale_transformer_4` number
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Official Alibaba model with 1080p support
    - `prompt` string, required: Text description of the video to generate
    - `image_url` string, uri: Starting image for image-to-video mode
    - `last_image_url` string, uri: Ending frame for video interpolation
    - `resolution` '480p' | '720p' | '1080p': Output video resolution. Credits per generation: standard 480p 3, 720p 4.5; plus 480p 3, 1080p 11.
    - `aspect_ratio` '16:9' | '9:16': Video aspect ratio
    - `duration` integer: Video duration in seconds
    - `num_frames` integer: Number of frames to generate (81-100)
    - `sample_shift` number: Sampling shift value (0-20)
    - `sample_steps` integer: Number of sampling steps (10-50)
    - `frames_per_second` integer: Frames per second (8-24)
    - `interpolate_output` boolean: Interpolate output to 30 FPS
    - `seed` number: Random seed for reproducibility
    - `lora_weights_transformer` string: URL or path to a LoRA. Standard quality mode only — maps to the high-noise transformer.
    - `lora_scale_transformer` number: Strength for LoRA 1 (0–4).
    - `lora_weights_transformer_2` string: URL or path to a second LoRA. Standard quality mode only — maps to the low-noise transformer (dual-LoRA).
    - `lora_scale_transformer_2` number: Strength for LoRA 2 (0–4).
    - `mode` 'text-to-video' | 'image-to-video', required: Generation mode.
    - `quality_mode` 'standard' | 'plus'
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `optimize_prompt` boolean
    - `lora_weights_transformer_3` string
    - `lora_scale_transformer_3` number
    - `lora_weights_transformer_4` string
    - `lora_scale_transformer_4` number
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: WAN 2.2 video animation. Drive a character image with a motion reference video.
    - `video` string, uri, required: Reference video URL.
    - `character_image` string, uri, required: Reference image of the target character to swap or animate.
    - `video_duration` number: Source or target video duration in seconds.
    - `resolution` '480' | '720': Output resolution.
    - `refert_num` number: Reference-frame sampling stride. Lower = more reference frames pulled from the source, higher = more model freedom.
    - `frames_per_second` number: Output framerate in frames per second.
    - `go_fast` boolean: Trade detail for shorter generation time.
    - `seed` number: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `merge_audio` boolean: Merge the source video's audio track into the animated output.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Image-to-video with WAN 2.2. Animate a starting image. 480p or 720p, 5s or 8s clips.
    - `prompt` string, required: Text description of the motion or scene
    - `image_url` string, uri, required: Source image — public HTTPS URL. JPEG/PNG/BMP/WEBP.
    - `last_image_url` string, uri: Optional last-frame image; the model interpolates from image_url to it
    - `negative_prompt` string: What to avoid in the video
    - `resolution` '480p' | '720p': Output resolution tier
    - `duration` integer: Output length in seconds (5 or 8)
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` integer: Random seed (0–2,147,483,647); null/0 = random
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: WAN 2.2 character replacement. Swap a character in a source video while preserving scene and motion.
    - `video` string, uri, required: URL of the source video whose character you want to replace.
    - `character_image` string, uri, required: URL of the replacement character image. Face/body that will be swapped into the source video.
    - `video_duration` number: Duration of the output video in seconds. Must match or be less than the source video length.
    - `resolution` '480' | '720': Output resolution tier.
    - `refert_num` number: Number of reference frames to use from the character image (advanced).
    - `frames_per_second` number: Target frames per second for the output video.
    - `go_fast` boolean: Trade some quality for faster generation.
    - `merge_audio` boolean: Keep the audio track from the source video.
    - `seed` number: Random seed for reproducibility.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Higher quality, 720p/1080p support
    - `prompt` string: Text description of the video to generate
    - `negative_prompt` string: What to avoid in the video
    - `image_url` string, uri: Source image for image-to-video mode
    - `mode` 'text-to-video' | 'image-to-video': Generation mode
    - `resolution` '720p' | '1080p': Video resolution
    - `duration` integer: Video duration in seconds (5-15)
    - `enable_prompt_expansion` boolean: Automatically enhance the prompt
    - `seed` integer: Random seed for reproducibility
    - `variant` 'standard' | 'flash': Model variant to use.
    - `size` string: Output image dimensions (width*height).
    - `multi_shots` boolean: Generate a multi-shot sequence instead of a single clip.
    - `audio_url` string, uri: Reference audio track URL.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Fast and affordable image-to-video
    - `prompt` string: Text description of the video to generate
    - `negative_prompt` string: What to avoid in the video
    - `image_url` string, uri: Source image for image-to-video mode
    - `resolution` '720p' | '1080p': Video resolution
    - `duration` integer: Video duration in seconds (5-15)
    - `enable_prompt_expansion` boolean: Automatically enhance the prompt
    - `seed` integer: Random seed for reproducibility
    - `mode` 'text-to-video' | 'image-to-video': Generation mode.
    - `variant` 'standard' | 'flash': Model variant to use.
    - `size` string: Output image dimensions (width*height).
    - `multi_shots` boolean: Generate a multi-shot sequence instead of a single clip.
    - `audio_url` string, uri: Reference audio track URL.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba WAN 2.6 text-to-image with prompt enhancement and multi-image output.
    - `prompt` string, required: Text description of the image to generate
    - `negative_prompt` string: What to avoid in the image
    - `size` '1280*1280' | '1280*960' | '960*1280' | '1280*720' | '720*1280' | '1200*800' | '800*1200' | '1344*576': Output image dimensions (width*height).
    - `n` integer: Number of images to generate (1-4)
    - `seed` integer: Random seed for reproducible results (0–2147483647). Omit for random.
    - `prompt_extend` boolean: Enable smart prompt rewriting. The model expands short prompts for richer detail.
    - `watermark` boolean: Add a watermark to the bottom-right of the output.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba WAN 2.6 image editing. Up to 4 reference images.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `image_urls` string[], required: Reference image URLs.
    - `size` '1K' | '2K' | '1280*1280' | '1280*960' | '960*1280' | '1280*720' | '720*1280' | '1200*800' | '800*1200' | '1344*576': Output image dimensions (width*height).
    - `negative_prompt` string: What to avoid in the output.
    - `prompt_extend` boolean: Enable smart prompt rewriting. The model expands short prompts for richer detail.
    - `watermark` boolean: Add a watermark to the bottom-right of the output.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Image-to-video with WAN 2.7. Animate a starting image with optional driving audio. 720p or 1080p, 2–15 second clips.
    - `prompt` string, required: Text description of the motion or scene
    - `image_url` string, uri, required: Source image — public HTTPS URL. JPEG/PNG/BMP/WEBP, 240–8000px, aspect 1:8 to 8:1, max 20MB.
    - `negative_prompt` string: What to avoid in the video
    - `audio_url` string, uri: Optional HTTPS audio (WAV/MP3, 2–30s, max 15MB) to drive lip-sync / motion
    - `resolution` '720p' | '1080p': Output resolution tier
    - `duration` integer: Output length in seconds (2–15)
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` integer: Random seed for reproducibility (0–2,147,483,647)
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Faster Wan 2.7 image generation and editing
    - `prompt` string, required: Text description of the image to generate
    - `size` '1K' | '2K' | '4K' | '1280*1280' | '1024*1024' | '2048*2048' | '4096*4096' | '1280*720' | '720*1280' | '1024*768' | '768*1024' | '1280*960' | '960*1280' | '1280*1024' | '1024*1280' | '1920*1080' | '1080*1920' | '2048*1536' | '1536*2048' | '2048*1638' | '1638*2048' | '3840*2160' | '2160*3840' | '4096*3072' | '3072*4096' | '4096*3276' | '3276*4096': Output resolution. Use a tier (1K/2K/4K — recommended) or an explicit width*height. 4K (and 4K-tier dimensions like 3840*2160) is supported by the Pro model for text-to-image only; 1K and 2K are supported by both models in all modes.
    - `thinking_mode` boolean: Improves text-to-image quality at the cost of slower generation
    - `n` integer: Number of images to generate. Default mode: 1-4. Image-set mode (enable_sequential=true): up to 12; the model picks the actual count, capped at n.
    - `enable_sequential` boolean: When true, generates a coherent set of related images instead of independent variants. Disables thinking_mode and color_palette and lets n go up to 12.
    - `seed` integer: Random seed (0–2147483647). Same seed + same inputs yields similar (but not identical) outputs. Omit for random.
    - `color_palette` string[]: Custom color theme. Array of 3–10 (8 recommended) objects with `hex` (#RRGGBB) and `ratio` (e.g. "25.00%"); ratios must sum to 100.00%. Only effective when enable_sequential=false.
    - `model` 'wan-2.7-standard' | 'wan-2.7-pro': Model variant to use.
    - `watermark` boolean: Add a watermark to the bottom-right of the output.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Higher quality Wan 2.7 tier with 4K support for text-to-image
    - `prompt` string, required: Text description of the image to generate
    - `size` '1K' | '2K' | '4K' | '1280*1280' | '1024*1024' | '2048*2048' | '4096*4096' | '1280*720' | '720*1280' | '1024*768' | '768*1024' | '1280*960' | '960*1280' | '1280*1024' | '1024*1280' | '1920*1080' | '1080*1920' | '2048*1536' | '1536*2048' | '2048*1638' | '1638*2048' | '3840*2160' | '2160*3840' | '4096*3072' | '3072*4096' | '4096*3276' | '3276*4096': Output resolution. Use a tier (1K/2K/4K — recommended) or an explicit width*height. 4K (and 4K-tier dimensions like 3840*2160) is supported by the Pro model for text-to-image only; 1K and 2K are supported by both models in all modes.
    - `thinking_mode` boolean: Improves text-to-image quality at the cost of slower generation
    - `n` integer: Number of images to generate. Default mode: 1-4. Image-set mode (enable_sequential=true): up to 12; the model picks the actual count, capped at n.
    - `enable_sequential` boolean: When true, generates a coherent set of related images instead of independent variants. Disables thinking_mode and color_palette and lets n go up to 12.
    - `seed` integer: Random seed (0–2147483647). Same seed + same inputs yields similar (but not identical) outputs. Omit for random.
    - `color_palette` string[]: Custom color theme. Array of 3–10 (8 recommended) objects with `hex` (#RRGGBB) and `ratio` (e.g. "25.00%"); ratios must sum to 100.00%. Only effective when enable_sequential=false.
    - `model` 'wan-2.7-standard' | 'wan-2.7-pro': Model variant to use.
    - `watermark` boolean: Add a watermark to the bottom-right of the output.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba WAN 2.7 image editing. Standard and Pro tiers, supports up to 9 input images for fusion edits.
    - `prompt` string, required: Edit instruction or composition prompt (max 5,000 characters).
    - `image_urls` string[], required: Up to 9 input images. Each image: JPEG/JPG/PNG (no alpha) / BMP / WEBP, 240–8000px on each side, aspect ratio between 1:8 and 8:1, max 20 MB.
    - `size` '1K' | '2K' | '1280*1280' | '1024*1024' | '2048*2048' | '1280*720' | '720*1280' | '1024*768' | '768*1024' | '1280*960' | '960*1280' | '1280*1024' | '1024*1280' | '1920*1080' | '1080*1920' | '2048*1536' | '1536*2048' | '2048*1638' | '1638*2048': Output resolution. Use a tier (1K/2K — recommended; 2K default) or an explicit width*height. Edit and multi-image flows cap at 2K on both models.
    - `seed` integer: Random seed (0–2147483647). Same seed + same inputs yields similar (but not identical) outputs. Omit for random.
    - `bbox_list` string[]: Optional per-image bounding boxes for interactive editing. Outer length must match image_urls; each inner list holds up to 2 boxes of [x1, y1, x2, y2] in pixels. Pass [] for images that don't need a box.
    - `model` 'wan-2.7-standard' | 'wan-2.7-pro': Model variant to use.
    - `watermark` boolean: Add a watermark to the bottom-right of the output.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Text-to-video with audio sync, 720p/1080p output, and 2-15 second durations
    - `prompt` string, required: Text description of the video to generate (max 8000 characters)
    - `negative_prompt` string: What to avoid in the video (max 500 characters)
    - `mode` 'text-to-video': Generation mode
    - `resolution` '720p' | '1080p': Video resolution tier
    - `duration` integer: Video duration in seconds (2-15)
    - `enable_prompt_expansion` boolean: Automatically enhance the prompt
    - `seed` integer: Random seed for reproducibility
    - `image_url` string, uri: Reference image URL.
    - `video_url` string, uri: Reference video URL.
    - `source_video_duration` number
    - `last_frame_url` string, uri: Last-frame anchor image URL for video generation.
    - `aspectRatio` string: Output aspect ratio.
    - `audio_url` string, uri: Reference audio track URL.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Image-to-video and video continuation with optional last-frame control and audio sync
    - `prompt` string, required: Text description of the video to generate (max 8000 characters)
    - `negative_prompt` string: What to avoid in the video (max 500 characters)
    - `image_url` string, uri: First-frame image for image-to-video mode
    - `video_url` string, uri: Source clip for video continuation mode
    - `last_frame_url` string, uri: Optional last-frame image for first-and-last-frame-to-video
    - `mode` 'image-to-video' | 'video-extend': Generation mode
    - `resolution` '720p' | '1080p': Video resolution tier
    - `duration` integer: Video duration in seconds (2-15)
    - `enable_prompt_expansion` boolean: Automatically enhance the prompt
    - `seed` integer: Random seed for reproducibility
    - `source_video_duration` number
    - `aspectRatio` string: Output aspect ratio.
    - `audio_url` string, uri: Reference audio track URL.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba WAN 3.0 video. Text-to-video with optional reference images or first/last frame control, native audio, up to 30 seconds.
    - `prompt` string, required: Text description of the video to generate
    - `reference_image_urls` string[]: Up to 10 reference images. Cannot be combined with first/last frame.
    - `reference_video_urls` string[]: Up to 5 reference videos (15 seconds combined). Copy motion, camera moves, or temporal style. Cannot be combined with first/last frame. Input length counts against the 30 second total, and is billed at the same per-second rate as the output: the server measures the clips before the charge, rounding the combined length up to whole seconds. A clip that cannot be downloaded or read (MP4 or MOV, up to 100MB) is refused with a 400 and not charged.
    - `reference_audio_urls` string[]: Up to 5 reference audio clips (15 seconds combined). Drive voice timbre for dialogue. Cannot be combined with first/last frame.
    - `first_frame_url` string, uri: Starting frame. Cannot be combined with reference images.
    - `last_frame_url` string, uri: Ending frame. Cannot be combined with reference images.
    - `resolution` '480P' | '720P' | '1080P' | '2K' | '4K': Output resolution tier. 2K and 4K run on the Pro model.
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | 'adaptive': Output aspect ratio ("adaptive" matches the input media)
    - `duration` integer: Clip length in seconds (2-30), or -1 to let the model choose. -1 charges the 30 second price up front and refunds the unused seconds once the clip is ready. Not available with reference videos.
    - `audio` boolean: Generate a native audio track
    - `fast` boolean: Same output quality with a shorter queue. Costs more per second (2 / 3.5 / 7 / 7 / 8 credits at 480P / 720P / 1080P / 2K / 4K vs 1.5 / 2.5 / 5 / 5 / 6).
    - `prompt_extend` boolean: Off by default, so the model follows your prompt literally. Turn on to let the model expand the prompt before generating.
    - `seed` integer: Random seed for reproducibility. Accepted, not currently honored by this backbone.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Fast cinematic image generation (3-6 seconds) with up to 2MP output and optional LoRA support.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4': Image aspect ratio
    - `megapixels` integer: Output resolution in megapixels (1 or 2)
    - `numberOfImages` integer: Number of images to generate (1-4)
    - `seed` number: Random seed for reproducibility
    - `model` 'replicate': Model variant to use.
    - `juiced` boolean: Apply quality boost (slower).
    - `output_format` string: Output file format.
    - `output_quality` number: JPEG/WEBP encoding quality (0–100).
    - `lora_weights_transformer` string: URL or HuggingFace path to a transformer LoRA weights file.
    - `lora_scale_transformer` number: Strength of the transformer LoRA (typical 0–2).
    - `lora_weights_transformer_2` string
    - `lora_scale_transformer_2` number
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba WAN reference-to-video. Up to 5 image/video references with multi-shot support.
    - `prompt` string, required: Text description of the video to generate
    - `reference_urls` string[], required: Reference image or video URLs (1-5, up to 3 videos of 1-30s each). Alibaba bills every second of every reference video like an output second, so each one adds its length to the billed seconds. A video on PixelDojo storage (upload it with POST /api/v1/upload first) is measured before the charge; a video hosted anywhere else bills 30s. A reference is read as an image when its link ends in .jpg, .jpeg, .png, .bmp or .webp and as a video when it ends in .mp4, .mov, .avi or .m4v; a link hosted elsewhere that ends in neither is refused (400, nothing charged), so upload it first.
    - `model` 'wan2.7-r2v' | 'wan2.6-r2v' | 'wan2.6-r2v-flash': WAN reference-to-video variant. wan2.7-r2v and wan2.6-r2v bill 2 credits per second at 720p and 4.5 at 1080p; wan2.6-r2v-flash bills 1.75 and 2.25. Reference-video seconds bill at the same rate as output seconds.
    - `duration` integer, required: Video duration in seconds (2-10).
    - `resolution` '720' | '1080': Output resolution (720p or 1080p; trailing "p" optional).
    - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4': Output aspect ratio.
    - `shot_type` 'single' | 'multi': Single shot or multi-shot composition.
    - `negative_prompt` string: What to avoid in the video.
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact prompt is followed (kept on for multi-shot, which relies on it). Turn on to auto-enhance short prompts.
    - `watermark` boolean: Whether to render a provider watermark.
    - `seed` integer: Random seed for reproducibility (0–2147483647).
    - `size` '1280*720' | '720*1280' | '960*960' | '1088*832' | '832*1088' | '1920*1080' | '1080*1920' | '1440*1440' | '1632*1248' | '1248*1632': Output image dimensions (width*height).
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba WAN character swap. Combine a character image with a reference video to produce a new clip.
    - `image_url` string, uri, required: Reference image URL.
    - `video_url` string, uri, required: Reference video URL.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `mode` 'wan-std' | 'wan-pro': wan-std bills 3.4 credits per second of the reference video (rounded up), wan-pro 4.9.
    - `check_image` boolean: Run face / character validation on the input image before submitting. Recommended; turn off only when you know the image is clean.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Alibaba WAN 2.7 video editing. Modify an existing clip via prompt with optional reference images.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `video_url` string, uri, required: Reference video URL.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `resolution` '720P' | '1080P': Output resolution.
    - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4': Output aspect ratio.
    - `audio_setting` 'auto' | 'origin': Audio handling: keep, mute, or generate.
    - `watermark` boolean: Add a watermark to the bottom-right of the output.
    - `seed` integer: Random seed for reproducibility. Same seed + inputs yields similar results.
    - `duration_override` integer: Force a specific output duration in seconds. Defaults to the source video's duration; supply this only to truncate or extend.
    - `image_urls` string[]: Reference image URLs.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: xAI Grok Imagine. Fast tier for quick iteration, Quality tier for higher fidelity at 1k or 2k.
    - `prompt` string, required: Text prompt for image generation or editing
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '3:2' | '2:3': Aspect ratio for generated images (ignored for edits)
    - `quality` 'fast' | 'quality' | 'imagine-2': fast (1 credit, default), quality (1.5 credits at 1k, 2 credits at 2k) or imagine-2 (2 credits, Grok Imagine 2). Quality has sharper detail and stronger text rendering.
    - `resolution` '1k' | '2k': 1k (1024px long edge) or 2k (2048px long edge). Only applies to the quality and imagine-2 tiers.
    - `num_outputs` integer: Number of output images.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: xAI Grok image editing. Sync response (no polling). Provide an image URL and a text edit instruction. Optional quality tier for 1k/2k high-fidelity edits.
    - `prompt` string, required: Text instruction describing the edit to apply
    - `image_url` string, uri, required: URL of the image to edit (jpg, jpeg, png, webp)
    - `quality` 'fast' | 'quality' | 'imagine-2': fast (1 credit, default), quality (1.5 credits at 1k, 2 credits at 2k) or imagine-2 (2 credits, Grok Imagine 2). Quality has sharper detail and stronger text rendering.
    - `resolution` '1k' | '2k': 1k or 2k output. Only applies to the quality tier — imagine-2 edits keep the source image size.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: xAI Grok Imagine video. Text-to-video or image-to-video, 1-15 seconds at 480p or 720p. Image-to-video can use the Grok Imagine 1.5 backbone for natively-synchronized audio.
    - `prompt` string, required: Text description of the video to generate
    - `image_url` string, uri: Source image for image-to-video mode
    - `mode` 'text-to-video' | 'image-to-video': Generation mode
    - `model_version` 'standard' | '1.5': Grok Imagine backbone. "standard" costs 1.5 credits/second. "1.5" adds natively-synchronized audio, costs 2.5 credits/second at 480p and 720p, and is image-to-video only (requires image_url).
    - `resolution` '720p' | '480p': Video resolution
    - `aspect_ratio` '16:9' | '4:3' | '1:1' | '9:16' | '3:4' | '3:2' | '2:3': Video aspect ratio
    - `duration` integer: Video duration in seconds (1-15)
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: xAI Grok Imagine Video edit. Transform short clips via Replicate.
    - `prompt` string, required: Text instruction describing what to generate or edit.
    - `video_url` string, uri, required: Reference video URL.
    - `video_duration` number, required: Source or target video duration in seconds.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Z Image text-to-image, Realistic mode. Square / portrait / landscape compositions, 256–1536px on each side.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4': Convenience preset that maps to width × height
    - `width` integer: Output width in pixels (256–1536). Overrides aspect_ratio when set.
    - `height` integer: Output height in pixels (256–1536). Overrides aspect_ratio when set.
    - `prompt_extend` boolean: Server-side LLM prompt rewriting. Off by default so your exact prompt is followed. Turn on to auto-enhance short prompts.
    - `seed` integer: Random seed (0–2,147,483,647); null/0 = random
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.
  - object: Super-fast 6B parameter text-to-image with great text rendering and LoRA support.
    - `prompt` string, required: Text description of the image to generate
    - `aspect_ratio` '1:1' | '16:9' | '9:16' | '4:3' | '3:4': Image aspect ratio
    - `num_inference_steps` number: Number of inference steps (1-8)
    - `seed` number: Random seed for reproducibility
    - `lora_weights` string: URL (or array of URLs) to LoRA weights. Accepts a single URL string or a JSON array of URLs.
    - `lora_scales` number: Strength of the LoRA(s). Accepts a single number or a JSON array of numbers matching lora_weights.
    - `webhook_url` string, uri: Optional webhook callback for terminal job events.

## Response `202`

Job accepted

- SubmitJobResponse
  - `jobId` string, required
  - `status` 'pending' | 'processing', required
  - `statusUrl` string, required
  - `creditCost` number, required
  - `creditsRemaining` number, required
  - `expiresAt` string, date-time, required
  - `webhookUrl` string

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `402`: Insufficient credits
- `404`: Not found

---

[API](https://skmtc.dev/pixeldojo/apis/pixeldojo-api.md) · [All operations](https://skmtc.dev/pixeldojo/apis/pixeldojo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pixeldojo/apis/pixeldojo-api/revisions/a079cd502a93?raw)
