|
2112 | 2112 | "ContentCreateAudioResponse": { |
2113 | 2113 | "type": "object", |
2114 | 2114 | "required": [ |
2115 | | - "songUrl", |
| 2115 | + "audioUrl", |
2116 | 2116 | "fullLyrics", |
2117 | 2117 | "segments", |
2118 | 2118 | "segmentCount" |
2119 | 2119 | ], |
2120 | 2120 | "properties": { |
2121 | | - "songUrl": { |
| 2121 | + "audioUrl": { |
2122 | 2122 | "type": "string", |
2123 | | - "description": "URL of the transcribed song" |
| 2123 | + "description": "URL of the transcribed audio" |
2124 | 2124 | }, |
2125 | 2125 | "fullLyrics": { |
2126 | 2126 | "type": "string", |
|
2163 | 2163 | }, |
2164 | 2164 | "ContentCreateEditRequest": { |
2165 | 2165 | "type": "object", |
2166 | | - "description": "Must provide at least one input (video_url, image_url, or audio_url)", |
| 2166 | + "description": "Must provide at least one input (video_url or audio_url)", |
2167 | 2167 | "properties": { |
2168 | 2168 | "video_url": { |
2169 | 2169 | "type": "string", |
2170 | 2170 | "format": "uri", |
2171 | 2171 | "description": "Input video URL" |
2172 | 2172 | }, |
2173 | | - "image_url": { |
2174 | | - "type": "string", |
2175 | | - "format": "uri", |
2176 | | - "description": "Input image URL" |
2177 | | - }, |
2178 | 2173 | "audio_url": { |
2179 | 2174 | "type": "string", |
2180 | 2175 | "format": "uri", |
|
2359 | 2354 | }, |
2360 | 2355 | "description": "Optional reference image URLs to guide generation" |
2361 | 2356 | }, |
| 2357 | + "num_images": { |
| 2358 | + "type": "integer", |
| 2359 | + "minimum": 1, |
| 2360 | + "maximum": 4, |
| 2361 | + "default": 1, |
| 2362 | + "description": "Number of images to generate (1-4)" |
| 2363 | + }, |
| 2364 | + "aspect_ratio": { |
| 2365 | + "type": "string", |
| 2366 | + "enum": ["auto", "21:9", "16:9", "3:2", "4:3", "5:4", "1:1", "4:5", "3:4", "2:3", "9:16", "4:1", "1:4", "8:1", "1:8"], |
| 2367 | + "default": "auto", |
| 2368 | + "description": "Aspect ratio of the generated image" |
| 2369 | + }, |
| 2370 | + "resolution": { |
| 2371 | + "type": "string", |
| 2372 | + "enum": ["0.5K", "1K", "2K", "4K"], |
| 2373 | + "default": "1K", |
| 2374 | + "description": "Output resolution" |
| 2375 | + }, |
2362 | 2376 | "model": { |
2363 | 2377 | "type": "string", |
2364 | | - "description": "fal.ai model ID. Defaults to fal-ai/nano-banana-pro/edit" |
| 2378 | + "description": "fal.ai model ID. Defaults to fal-ai/nano-banana-2" |
2365 | 2379 | } |
2366 | 2380 | } |
2367 | 2381 | }, |
2368 | 2382 | "ContentCreateImageResponse": { |
2369 | 2383 | "type": "object", |
2370 | 2384 | "required": [ |
2371 | | - "imageUrl" |
| 2385 | + "imageUrl", |
| 2386 | + "images" |
2372 | 2387 | ], |
2373 | 2388 | "properties": { |
2374 | 2389 | "imageUrl": { |
2375 | 2390 | "type": "string", |
2376 | 2391 | "format": "uri", |
2377 | | - "description": "URL of the generated image" |
| 2392 | + "description": "URL of the first generated image" |
| 2393 | + }, |
| 2394 | + "images": { |
| 2395 | + "type": "array", |
| 2396 | + "items": { |
| 2397 | + "type": "string", |
| 2398 | + "format": "uri" |
| 2399 | + }, |
| 2400 | + "description": "URLs of all generated images. Contains one element when num_images is 1." |
2378 | 2401 | } |
2379 | 2402 | } |
2380 | 2403 | }, |
|
2584 | 2607 | "video" |
2585 | 2608 | ], |
2586 | 2609 | "description": "Whether the input is an image or video" |
| 2610 | + }, |
| 2611 | + "upscale_factor": { |
| 2612 | + "type": "number", |
| 2613 | + "minimum": 1, |
| 2614 | + "maximum": 4, |
| 2615 | + "default": 2, |
| 2616 | + "description": "Upscale multiplier (1-4x). Defaults to 2x." |
| 2617 | + }, |
| 2618 | + "target_resolution": { |
| 2619 | + "type": "string", |
| 2620 | + "enum": [ |
| 2621 | + "720p", |
| 2622 | + "1080p", |
| 2623 | + "1440p", |
| 2624 | + "2160p" |
| 2625 | + ], |
| 2626 | + "description": "Target output resolution. When provided, overrides upscale_factor with a resolution-based upscale." |
2587 | 2627 | } |
2588 | 2628 | } |
2589 | 2629 | }, |
|
2602 | 2642 | }, |
2603 | 2643 | "ContentCreateVideoRequest": { |
2604 | 2644 | "type": "object", |
| 2645 | + "required": [ |
| 2646 | + "image_url" |
| 2647 | + ], |
2605 | 2648 | "properties": { |
2606 | 2649 | "template": { |
2607 | 2650 | "type": "string", |
|
2626 | 2669 | "image_url": { |
2627 | 2670 | "type": "string", |
2628 | 2671 | "format": "uri", |
2629 | | - "description": "Image URL. Used as the first frame (animate), style reference (reference), start frame (first-last), or face source (lipsync)" |
| 2672 | + "description": "Required. Image URL used as the input frame. The underlying model (fal-ai/veo3.1/fast/image-to-video) requires an image — text-only prompt mode is not supported. Generate an image first via POST /api/content/image if needed." |
2630 | 2673 | }, |
2631 | 2674 | "end_image_url": { |
2632 | 2675 | "type": "string", |
|
0 commit comments