{"servers":[{"url":"https://api.modellix.ai/api/v1/kling/kling-image-expansion"}],"post":{"description":"[Core Function] Kling Image Expansion is an outpainting model. [Strengths] It intelligently extends the borders of an image (horizontal, vertical, or asymmetric) while matching the original style and context. [Best For] Highly recommended for: changing aspect ratios, extending landscapes, and filling out cropped photos. [Limitations] Do NOT use this model for inpainting or style transfer. [Routing] Use this specifically when the user asks to 'expand', 'extend', or 'uncrop' an image.","operationId":"klingImageExpansionAsync","requestBody":{"content":{"application/json":{"examples":{"asymmetric_expansion":{"summary":"Asymmetric expansion","value":{"down_expansion_ratio":0.2,"image":"https://example.com/building.jpg","left_expansion_ratio":0.3,"right_expansion_ratio":0.7,"up_expansion_ratio":1.5}},"base64_format":{"summary":"Base64 image format","value":{"down_expansion_ratio":0.5,"image":"iVBORw0KGgoAAAANSUhEUgAAAAUA...","left_expansion_ratio":0.5,"right_expansion_ratio":0.5,"up_expansion_ratio":0.5}},"horizontal_panorama":{"summary":"Horizontal panorama expansion","value":{"down_expansion_ratio":0,"image":"https://example.com/city-center.jpg","left_expansion_ratio":1,"n":2,"prompt":"Extend cityscape with more buildings","right_expansion_ratio":1,"up_expansion_ratio":0}},"uniform_expansion":{"summary":"Uniform expansion on all sides","value":{"down_expansion_ratio":0.5,"image":"https://example.com/portrait.jpg","left_expansion_ratio":0.5,"n":4,"prompt":"Expand background consistently","right_expansion_ratio":0.5,"up_expansion_ratio":0.5}},"vertical_sky_ground":{"summary":"Vertical expansion (sky and ground)","value":{"down_expansion_ratio":0.6,"image":"https://example.com/mountain.jpg","left_expansion_ratio":0,"prompt":"Add dramatic sky above and valley below","right_expansion_ratio":0,"up_expansion_ratio":0.8}}},"schema":{"description":"Note: All four expansion ratio parameters are required. Set to 0.0 for directions that do not need expansion. This model does NOT support: negative_prompt, aspect_ratio, resolution, image_fidelity, image_reference, or human_fidelity parameters.","properties":{"down_expansion_ratio":{"description":"Downward expansion ratio, based on original image height. Range: 0.0-2.0","example":0.5,"format":"float","maximum":2,"minimum":0,"type":"number"},"image":{"description":"Original image (URL or Base64 encoded, do not include 'data:' prefix for Base64). Supported formats: .jpg, .jpeg, .png. Maximum size: 10MB. Minimum dimensions: 300x300px","example":"https://example.com/original.jpg","minLength":1,"type":"string"},"left_expansion_ratio":{"description":"Leftward expansion ratio, based on original image width. Range: 0.0-2.0","example":0.5,"format":"float","maximum":2,"minimum":0,"type":"number"},"n":{"default":1,"description":"Number of images to generate per request","example":1,"maximum":9,"minimum":1,"type":"integer"},"prompt":{"description":"Positive prompt to guide content generation in expanded areas","example":"Extend with natural landscape elements","maxLength":2500,"type":"string"},"right_expansion_ratio":{"description":"Rightward expansion ratio, based on original image width. Range: 0.0-2.0","example":0.5,"format":"float","maximum":2,"minimum":0,"type":"number"},"up_expansion_ratio":{"description":"Upward expansion ratio, based on original image height. Range: 0.0-2.0","example":0.5,"format":"float","maximum":2,"minimum":0,"type":"number"}},"required":["image","up_expansion_ratio","down_expansion_ratio","left_expansion_ratio","right_expansion_ratio"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"code":0,"data":{"get_result":{"method":"GET","url":"https://api.modellix.ai/api/v1/tasks/task-expansion-xyz789"},"model_id":"model-123","status":"pending","task_id":"task-expansion-xyz789"},"message":"success"},"schema":{"properties":{"code":{"description":"Response code, 0 indicates success","example":0,"type":"integer"},"data":{"description":"Detailed data about the submitted asynchronous task.","properties":{"get_result":{"description":"API information to query the task result","properties":{"method":{"description":"HTTP method","example":"GET","type":"string"},"url":{"description":"Full URL to query the task result","example":"https://api.modellix.ai/api/v1/tasks/task-abc123","type":"string"}},"type":"object"},"model_id":{"description":"Model ID","example":"model-123","type":"string"},"status":{"description":"Task status","enum":["pending","processing"],"example":"pending","type":"string"},"task_id":{"description":"Unique task identifier","example":"task-abc123","type":"string"}},"required":["status","task_id","model_id"],"type":"object"},"message":{"description":"Response message","example":"success","type":"string"}},"required":["code","message","data"],"type":"object"}}},"description":"Task submitted successfully"},"400":{"content":{"application/json":{"example":{"code":400,"message":"Invalid parameters: parameter 'image' is required"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'image' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Invalid request parameters"},"401":{"content":{"application/json":{"example":{"code":401,"message":"Authentication failed: invalid API key"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'image' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Unauthorized - Invalid or missing API Key"},"429":{"content":{"application/json":{"example":{"code":429,"message":"Rate limit exceeded: 100 requests per minute, retry after 60 seconds"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'image' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Too many requests - Rate limit exceeded","headers":{"X-RateLimit-Limit":{"description":"Maximum requests per minute","schema":{"example":100,"type":"integer"}},"X-RateLimit-Remaining":{"description":"Remaining quota in current window","schema":{"example":0,"type":"integer"}},"X-RateLimit-Reset":{"description":"Rate limit window reset time (Unix timestamp)","schema":{"example":1704067260,"type":"integer"}}}},"500":{"content":{"application/json":{"example":{"code":500,"message":"Internal server error"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'image' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Internal server error"}},"summary":"Kling Image Expansion","x-mint":{"href":"kling/kling-image-expansion"}}}