Models API
List all video and image generation models, inspect their capabilities and supported parameters, and run one-off playground generations. Use model details to configure jobs correctly via the Jobs API.
Model Families
U-Gen uses Kling 3.0 for video generation and NanoBanana 2 for image generation. Each model has unique capabilities, aspect ratios, and billing.
Kling 3.0
Kuaishou
kling3_stdkling3_prokling3_4kNanoBanana 2
Google DeepMind
nano_banana_2UGC Studio vs Playground
kling3_std, kling3_pro and kling3_4k. NanoBanana models are available through the Playground API (POST /models/{id}/try) for one-off generations.List Models
Retrieve all video and image generation models with their capabilities. Returns models that are currently available or in beta.
/api/v1/models• Returns a bare array (not paginated). Currently 11 models across 5 families.
• Models with status "coming_soon" are excluded from the response.
• The capabilities object describes what each model supports: aspect ratios, durations, keyframes, sound, and resolution upgrades.
• The default_variant field maps to the pricing table for credit estimation.
Request Example
curl -X GET https://api.u-gen.ai/api/v1/models \
-H "X-API-Key: YOUR_API_KEY"Get Model Details
Retrieve full details for a single model by its ID.
/api/v1/models/{model_id}• Returns 404 if the model ID is not found in the registry.
• Same schema as a single entry in the List Models response.
Path
| Parameter | Type |
|---|---|
model_idREQ | string |
Request Example
curl -X GET https://api.u-gen.ai/api/v1/models/kling3_std \
-H "X-API-Key: YOUR_API_KEY"Capability Fields
capabilities.supported_aspect_ratios and capabilities.supported_durations to populate your UI dropdowns dynamically. Kling models support supports_sound and supports_elements for built-in audio and character references.Try Model (Playground)
Start a one-off generation using any available model. Returns a task ID immediately — poll the task status endpoint for results.
/api/v1/models/{model_id}/try• Returns immediately with a task_id. Poll GET /models/tasks/{task_id} for status.
• Task state is stored in memory and lost on server restart (playground use only).
• Aspect ratio is validated against the model’s capabilities.supported_aspect_ratios.
• Kling 3.0 prompt limit is 2,500 characters.
• For native 4K output, use the kling3_4k model (kling_mode "4K").
Path
| Parameter | Type |
|---|---|
model_idREQ | string |
Body
| Parameter | Type |
|---|---|
model_idREQ | string |
generation_type | string |
prompt | string |
aspect_ratio | string Default: 9:16 |
start_image_url | string |
end_image_url | string |
duration | integer |
Body (Kling)
| Parameter | Type |
|---|---|
kling_mode | string |
sound | boolean |
kling_elements | object[] |
Body (Image Gen)
| Parameter | Type |
|---|---|
resolution | string |
output_format | string |
Request Example
curl -X POST https://api.u-gen.ai/api/v1/models/kling3_std/try \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model_id": "kling3_std",
"generation_type": "image_to_video",
"start_image_url": "https://example.com/product.jpg",
"prompt": "A woman holds the product in a sunlit studio, examining it closely",
"aspect_ratio": "9:16"
}'Poll Task Status
Check the status of a playground generation or upscale task. Poll until status is completed or failed.
/api/v1/models/tasks/{task_id}• Status values: queued, processing, completed, failed.
• output_url is populated only when status is "completed".
• error_message is populated only when status is "failed".
• Recommended polling interval: every 3–5 seconds.
Path
| Parameter | Type |
|---|---|
task_idREQ | string |
Request Example
curl -X GET https://api.u-gen.ai/api/v1/models/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "X-API-Key: YOUR_API_KEY"Kling Language Support