{"data":[{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Tencent","outputPrice":"1.6"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"hy-image-v3.5-preview","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"seed":{"type":"integer","minimum":0,"description":"Generation seed as int64. Valid range is [0, 2^63-1]. When omitted or set to 0, the server assigns a random seed. Negative values are rejected."},"size":{"type":"string","description":"Generated image size in WIDTHxHEIGHT format. Width and height must be positive integers in [256, 8192], and total area must not exceed 16,777,216 pixels. If omitted or empty, the model chooses the size based on prompt semantics and generate_max_pixels. For 4K output, pass 4096x4096."},"model":{"enum":["hy-image-v3.5-preview"],"type":"string","default":"hy-image-v3.5-preview","description":"Model ID used for image generation."},"session":{"type":"string","description":"Session ID used for consistent hash scheduling. Keeping the same session across multi-turn requests can improve KV-cache hit rate."},"footnote":{"type":"string","description":"Custom business watermark text rendered in the bottom-right corner of the image. Maximum length is 16 Unicode characters."},"messages":{"type":"array","items":{"type":"object","required":["role"],"properties":{"role":{"enum":["user","assistant","tool"],"type":"string","description":"Message role. Supported values are user, assistant, and tool. The tool role is used when feeding previous generation results back into the next turn."},"content":{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string","description":"Text content used when type is text."},"type":{"enum":["text","image_url"],"type":"string","description":"Content part type. Supported values are text and image_url."},"image_url":{"type":"object","properties":{"url":{"type":"string","description":"Public image URL or data:image/...;base64,... image payload."}},"description":"Image input used when type is image_url. Structure: {\"url\":\"...\"}. Supports public HTTP(S) URLs and data:image/...;base64,... URLs. Each image must be no larger than 20 MB, and up to 20 images are supported before server-side truncation."},"is_generate":{"type":"boolean","description":"Tool-only field. Set to true for image content produced by a previous generate tool result. Do not send in other scenarios."}}},"description":"Message content parts. Can be omitted for assistant messages that only trigger tool calls without text."},"reasoning":{"type":"string","description":"Assistant-only field for multi-turn replay. Passes through the raw reasoning text from the previous response."},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tool call ID. Must match the related tool_call_id when a tool message returns the result."},"type":{"enum":["function"],"type":"string","description":"Tool call type. The supported value is function."},"function":{"type":"object","properties":{"name":{"type":"string","description":"Function name for the tool call."},"arguments":{"type":"string","description":"Function arguments as a JSON string."}},"description":"Function tool call payload."}}},"description":"Assistant-only field for multi-turn replay. Standard OpenAI tool calls, where each item contains id, type:function, and function{name, arguments}."},"tool_call_id":{"type":"string","description":"Tool-only field for multi-turn replay. Must exactly match the previous assistant.tool_calls item ID."}}},"description":"Multi-turn conversation messages ordered from oldest to newest. The server uses the last user message as the current image generation instruction, while earlier messages are passed as context for multi-turn editing."},"use_search_tool":{"type":"object","properties":{"value":{"type":"boolean","default":false,"description":"Whether to enable external search enhancement."}},"description":"External search enhancement switch. Fixed structure: {\"value\": true} or {\"value\": false}. Disabled by default."},"resize_max_pixels":{"type":"integer","default":1048576,"description":"Maximum input reference image area in pixels. Images at or below this threshold are passed through unchanged; larger images are proportionally downscaled near the threshold before being sent to the model."},"generate_max_pixels":{"enum":[1048576,2359296,4194304],"type":"integer","default":2359296,"description":"Target generated image area in pixels. Only effective when size is not provided. Supported tiers are 1048576 for 1K, 2359296 for 1.5K, and 4194304 for 2K. Non-enum intermediate values are rounded to the nearest tier."}}},"id":"archived-0","model":"Hy-Image-3.5-Preview","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":[{"text":"A small river flowing","type":"text"}],"role":"user"}],"model":"Hy-Image-3.5-Preview","route":{"provider":"Tencent"},"route_mode":"balanced","size":"4096x4096"},"parameterSchema":[{"name":"footnote","label":"footnote","description":"Custom business watermark text rendered in the bottom-right corner of the image. Maximum length is 16 Unicode characters.","type":"string","valueType":"string","path":"/footnote","required":false,"omitEmpty":true},{"name":"generate_max_pixels","label":"generate_max_pixels","description":"Target generated image area in pixels. Only effective when size is not provided. Supported tiers are 1048576 for 1K, 2359296 for 1.5K, and 4194304 for 2K. Non-enum intermediate values are rounded to the nearest tier.","type":"number","valueType":"integer","path":"/generate_max_pixels","required":false,"defaultValue":2359296,"allowedValues":[1048576,2359296,4194304],"omitEmpty":true},{"name":"messages","label":"messages","description":"Multi-turn conversation messages ordered from oldest to newest. The server uses the last user message as the current image generation instruction, while earlier messages are passed as context for multi-turn editing.","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"Model ID used for image generation.","type":"string","valueType":"string","path":"/model","required":true,"defaultValue":"hy-image-v3.5-preview","allowedValues":["hy-image-v3.5-preview"]},{"name":"resize_max_pixels","label":"resize_max_pixels","description":"Maximum input reference image area in pixels. Images at or below this threshold are passed through unchanged; larger images are proportionally downscaled near the threshold before being sent to the model.","type":"number","valueType":"integer","path":"/resize_max_pixels","required":false,"defaultValue":1048576,"omitEmpty":true},{"name":"seed","label":"seed","description":"Generation seed as int64. Valid range is [0, 2^63-1]. When omitted or set to 0, the server assigns a random seed. Negative values are rejected.","type":"number","valueType":"integer","path":"/seed","required":false,"min":0,"omitEmpty":true},{"name":"session","label":"session","description":"Session ID used for consistent hash scheduling. Keeping the same session across multi-turn requests can improve KV-cache hit rate.","type":"string","valueType":"string","path":"/session","required":false,"omitEmpty":true},{"name":"size","label":"size","description":"Generated image size in WIDTHxHEIGHT format. Width and height must be positive integers in [256, 8192], and total area must not exceed 16,777,216 pixels. If omitted or empty, the model chooses the size based on prompt semantics and generate_max_pixels. For 4K output, pass 4096x4096.","type":"string","valueType":"string","path":"/size","required":false,"omitEmpty":true},{"name":"use_search_tool","label":"use_search_tool","description":"External search enhancement switch. Fixed structure: {\"value\": true} or {\"value\": false}. Disabled by default.","type":"json","valueType":"object","path":"/use_search_tool","required":false,"omitEmpty":true}],"responseBody":{"id":"1435304360-WandImage-af4a80501b6e402085e18031e24310a0","model":"HY-Image-3.5-Preview-4090-Tob-v1.1","round":0,"object":"image.chat.completion.chunk","choices":[{"delta":{"type":"image","image":{"url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F23%2F932a3929-c3b8-49e9-8c77-eedbd60ead55.png","width":4096,"height":4096,"source":"generate","tool_call_id":"generate@call_0"}},"index":0,"finish_reason":null}],"created":1790135140,"request_id":"b847d79d-f8f4-4fae-bea2-f4f7c55082f6","tokenhub_usage":{"total_tokens":20000},"openmodels_cost":29624,"assembled_history":[{"role":"assistant","content":[{"text":"","type":"text"}],"reasoning":"The input prompt 'A small river flowing' is extremely minimal, so the primary task is to construct a complete environmental narrative around this core action. To emphasize the sense of movement and vitality, the camera perspective should be positioned close to the water's surface, allowing for a detailed view of the current and submerged elements. The environment surrounding the river needs to be fleshed out to provide context and scale; adding a textured riverbed with rocks and patches of vegetation, along with a framing structure like a bridge in the background, creates depth and guides the viewer's eye. Lighting plays a crucial role in revealing these details, so bright, direct sunlight is appropriate to cast sharp shadows and highlight the water's surface and the surrounding foliage. The style should aim for photorealism to capture the crispness of natural textures, with a color palette that balances the cool tones of the water against the warm greens of the land. Finally, defining the composition to include these natural and structural elements ensures the image feels like a cohesive, serene landscape rather than an isolated water feature.","tool_calls":[{"id":"generate@call_0","type":"function","function":{"name":"generate","arguments":"{\"source_image_indices_list\":\"[]\",\"recaption\":\"Captured from an eye-level perspective, this close-up presents a detailed view of a small river flowing through what appears to be a park or garden. The immediate foreground is dominated by the river itself, its surface a mix of clear water revealing the rocky bed beneath and areas of white foam created by the current. The water's movement creates dynamic ripples that catch the bright sunlight, resulting in shimmering highlights across its expanse. Submerged within the shallower parts of the riverbed are numerous smooth, rounded stones of varying sizes, colored in shades of brown, tan, and grey. A few patches of dark green aquatic plants cling to some of the rocks, adding texture to the underwater view.\\n\\nThe midground transitions into the far bank of the river. This area features more large, weathered boulders forming a rugged shoreline. Interspersed among these rocks are several young trees with thin trunks and vibrant green leaves, suggesting a well-tended environment. These trees cast distinct, dark shadows onto the ground below them, indicating the presence of strong overhead lighting. Behind this cluster of trees stands a prominent concrete structure, likely part of a bridge abutment or retaining wall. It has a rough, textured surface and rises vertically behind the foliage. Above it, a flat-topped concrete slab forms the top of the structure. Further back, another section of the concrete bridge pier can be seen.\\n\\nThe entire scene is bathed in bright, direct daylight, which contributes to the high-contrast look and the vividness of the colors. The atmosphere is one of tranquility and serenity, evoking a sense of peaceful solitude. The composition employs framing, using the overhanging branches at the top right and the rocky banks on either side to enclose the central subject—the flowing river—and draw attention inward along its path. The color palette is predominantly natural, with the cool blues and whites of the water contrasting sharply with the warm browns of the earth and wood, and the lively greens of the plant life. A realistic photographic style featuring natural light and shadow with clear details.\",\"image_width\":\"\u003c｜img_tw_th_93｜\u003e\",\"image_height\":\"\u003c｜img_tw_th_162｜\u003e\"}"}}]},{"role":"tool","content":[{"type":"image_url","image_url":{"url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F23%2F932a3929-c3b8-49e9-8c77-eedbd60ead55.png"}}],"tool_call_id":"generate@call_0"},{"role":"assistant","content":[{"text":"","type":"text"}]}]},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"746ae906-c3b9-4a8e-a85a-e1b93f5c28bb","routeId":"e970166c-bd65-4e3c-b6df-2212c602b181","model":"Hy-Image-3.5-Preview","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/wand/hunyuan-image/v35-generation","method":"POST"}],"curlExample":"curl https://api.getopenmodels.com/v1/images \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -d '{\n  \"model\": \"Hy-Image-3.5-Preview\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"size\": \"4096x4096\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": [\n        { \"type\": \"text\", \"text\": \"画一只在沙滩上奔跑的金毛犬，傍晚的暖色光\" }\n      ]\n    }\n  ]\n}'\n\n# 参考生图\ncurl https://api.getopenmodels.com/v1/images \\\n -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"model\": \"\",\n  \"session\": \"demo-session-001\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": [\n        { \"type\": \"text\", \"text\": \"参考这张图的风格，画一只猫\" },\n        { \"type\": \"image_url\", \"image_url\": { \"url\": \"https://your-domain/dog.png\" } }\n      ]\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":0,"completion":1379310,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":0,"partnerCompletion":1448276,"promptSource":0,"completionSource":10000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["image"],"description":"","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":2690,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"Hy-Image-3.5-Preview","operations":[],"availableModes":[]},"createdAt":"2026-09-23T03:42:56Z","updatedAt":"2026-11-02T06:58:39Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"custom-model-md-v8.1","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","prompt"],"properties":{"--bs":{"enum":[1,2,4],"type":"integer","default":4,"maximum":4,"minimum":1,"description":"Video batch size parameter. Controls the number of videos generated from each video prompt. Supported values are 1, 2, and 4. Default is 4."},"--hd":{"type":"boolean","default":false,"description":"HD image parameter. Generates higher resolution 2K images in V8.1/V8.2 when supported."},"--iw":{"type":"number","default":1,"maximum":3,"minimum":0,"description":"Image weight parameter. Controls how strongly image prompts affect the final image. V8.1 and V7 support 0 to 3;"},"--no":{"type":"string","description":"Negative prompt parameter. Tells Midjourney what should not appear in the image. Multiple items can be separated with commas."},"--sd":{"type":"boolean","default":false,"description":"SD image parameter. Generates standard resolution 1024px images in V8.1/V8.2 when supported."},"--sv":{"enum":[1,2,3,4,5,6],"type":"integer","default":6,"maximum":6,"minimum":1,"description":"Style reference version parameter. V7 supports six style reference versions and defaults to 6. V6 supports 1, 2, 3, and 4, with 4 as default."},"--sw":{"type":"integer","default":100,"maximum":1000,"minimum":0,"description":"Style weight parameter. Controls the strength of style references. Supported range is 0 to 1000."},"--end":{"type":"string","description":"Video end-frame parameter. Provide an image URL to use as the ending frame."},"--raw":{"type":"boolean","default":false,"description":"Raw mode parameter. Reduces Midjourney's default styling. Compatible with versions 5.1 and later."},"model":{"type":"string","description":"Model name."},"--edit":{"type":"boolean","default":false,"description":"Edit Model parameter. Creates or modifies images using written instructions and up to four reference images. Compatible with V8.1 and V8.2."},"--fast":{"type":"boolean","default":false,"description":"Fast mode parameter. Uses Fast GPU time."},"--loop":{"type":"boolean","default":false,"description":"Video loop parameter. Reuses the starting frame as the ending frame to create a looping video."},"--oref":{"type":"array","items":{"type":"string"},"description":"Omni reference parameter. Use image URLs. Compatible with V7 only; replaced by Edit Model in V8.x. Only one Omni Reference image is supported."},"--seed":{"type":"integer","maximum":4294967295,"minimum":0,"description":"Seed parameter. Uses a whole number from 0 to 4294967295."},"--sref":{"type":"array","items":{"type":"string"},"description":"Style reference parameter. Use image URLs, style reference codes, or random. Multiple references are supported."},"--tile":{"type":"boolean","default":false,"description":"Tile parameter. Creates seamless repeating patterns."},"prompt":{"type":"string","description":"Text prompt for image generation. Aspect ratio, quality, style, and other Midjourney-style parameters should be defined inside the prompt, such as --ar 16:9, --q 2, and --style raw."},"--chaos":{"type":"integer","default":0,"maximum":100,"minimum":0,"description":"Chaos or variety parameter. Alias: --c. Higher values produce more varied results. Supported range is 0 to 100."},"--draft":{"type":"boolean","default":false,"description":"Draft parameter. Generates draft images at reduced GPU cost. Compatible with V7, V8.1, and V8.2, with different behavior by version."},"--relax":{"type":"boolean","default":false,"description":"Relax mode parameter. Available depending on subscription plan. Repeat, permutations, HD videos, and some legacy upscale behavior are not available in Relax mode."},"--turbo":{"type":"boolean","default":false,"description":"Turbo mode parameter. Generates faster and uses more Fast GPU time. Not currently supported in V8.1."},"--video":{"type":"boolean","default":false,"description":"Video generation parameter. Video generations are compatible only with video-specific parameters: --motion low, --motion high, --raw, --loop, --end, and --bs."},"--weird":{"type":"integer","default":0,"maximum":3000,"minimum":0,"description":"Weird parameter. Alias: --w. Adds unusual or experimental qualities. Supported range is 0 to 3000."},"--aspect":{"type":"string","default":"1:1","description":"Aspect ratio parameter. Alias: --ar. Default is 1:1. Common values include 1:1, 4:3, 2:3, 16:9, and 9:16. Custom integer ratios are supported; decimals are not supported. Current versions support up to 14:1, or 4:1 for HD images."},"--motion":{"enum":["low","high"],"type":"string","default":"low","description":"Video motion parameter. Use low or high. Low is the default and produces subtler motion; high produces larger camera or character motion."},"--public":{"type":"boolean","default":false,"description":"Public mode parameter. Makes creations public on the Midjourney website."},"--repeat":{"type":"integer","maximum":40,"minimum":2,"description":"Repeat parameter. Alias: --r. Generates multiple image sets from one prompt. Basic plan supports 2-4, Standard supports 2-10, Pro and Mega support 2-40. Works only in Fast and Turbo modes."},"--profile":{"type":"string","description":"Personalization profile parameter. Alias: --p. Use without a value to apply the default profile, or provide a profile ID/code."},"--stealth":{"type":"boolean","default":false,"description":"Stealth mode parameter. Makes creations private on the Midjourney website when available for the account plan. Available only to Pro and Mega plans."},"--stylize":{"type":"integer","default":100,"maximum":1000,"minimum":0,"description":"Stylize parameter. Alias: --s. Controls how strongly Midjourney applies its artistic style. Supported range is 0 to 1000."}}},"id":"archived-0","model":"Midjourney-v8.1","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"Midjourney-v8.1","prompt":"An elegant commercial product photograph of a transparent glass tumbler with ice and lemon slices.  --ar 16:9","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"--aspect","label":"--aspect","description":"Aspect ratio parameter. Alias: --ar. Default is 1:1. Common values include 1:1, 4:3, 2:3, 16:9, and 9:16. Custom integer ratios are supported; decimals are not supported. Current versions support up to 14:1, or 4:1 for HD images.","type":"string","valueType":"string","path":"/--aspect","required":false,"defaultValue":"1:1","omitEmpty":true},{"name":"--bs","label":"--bs","description":"Video batch size parameter. Controls the number of videos generated from each video prompt. Supported values are 1, 2, and 4. Default is 4.","type":"number","valueType":"integer","path":"/--bs","required":false,"defaultValue":4,"min":1,"max":4,"allowedValues":[1,2,4],"omitEmpty":true},{"name":"--chaos","label":"--chaos","description":"Chaos or variety parameter. Alias: --c. Higher values produce more varied results. Supported range is 0 to 100.","type":"number","valueType":"integer","path":"/--chaos","required":false,"defaultValue":0,"min":0,"max":100,"omitEmpty":true},{"name":"--draft","label":"--draft","description":"Draft parameter. Generates draft images at reduced GPU cost. Compatible with V7, V8.1, and V8.2, with different behavior by version.","type":"boolean","valueType":"boolean","path":"/--draft","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--edit","label":"--edit","description":"Edit Model parameter. Creates or modifies images using written instructions and up to four reference images. Compatible with V8.1 and V8.2.","type":"boolean","valueType":"boolean","path":"/--edit","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--end","label":"--end","description":"Video end-frame parameter. Provide an image URL to use as the ending frame.","type":"string","valueType":"string","path":"/--end","required":false,"omitEmpty":true},{"name":"--fast","label":"--fast","description":"Fast mode parameter. Uses Fast GPU time.","type":"boolean","valueType":"boolean","path":"/--fast","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--hd","label":"--hd","description":"HD image parameter. Generates higher resolution 2K images in V8.1/V8.2 when supported.","type":"boolean","valueType":"boolean","path":"/--hd","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--iw","label":"--iw","description":"Image weight parameter. Controls how strongly image prompts affect the final image. V8.1 and V7 support 0 to 3;","type":"number","valueType":"number","path":"/--iw","required":false,"defaultValue":1,"min":0,"max":3,"omitEmpty":true},{"name":"--loop","label":"--loop","description":"Video loop parameter. Reuses the starting frame as the ending frame to create a looping video.","type":"boolean","valueType":"boolean","path":"/--loop","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--motion","label":"--motion","description":"Video motion parameter. Use low or high. Low is the default and produces subtler motion; high produces larger camera or character motion.","type":"string","valueType":"string","path":"/--motion","required":false,"defaultValue":"low","allowedValues":["low","high"],"omitEmpty":true},{"name":"--no","label":"--no","description":"Negative prompt parameter. Tells Midjourney what should not appear in the image. Multiple items can be separated with commas.","type":"string","valueType":"string","path":"/--no","required":false,"omitEmpty":true},{"name":"--oref","label":"--oref","description":"Omni reference parameter. Use image URLs. Compatible with V7 only; replaced by Edit Model in V8.x. Only one Omni Reference image is supported.","type":"json","valueType":"array","path":"/--oref","required":false,"omitEmpty":true},{"name":"--profile","label":"--profile","description":"Personalization profile parameter. Alias: --p. Use without a value to apply the default profile, or provide a profile ID/code.","type":"string","valueType":"string","path":"/--profile","required":false,"omitEmpty":true},{"name":"--public","label":"--public","description":"Public mode parameter. Makes creations public on the Midjourney website.","type":"boolean","valueType":"boolean","path":"/--public","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--raw","label":"--raw","description":"Raw mode parameter. Reduces Midjourney's default styling. Compatible with versions 5.1 and later.","type":"boolean","valueType":"boolean","path":"/--raw","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--relax","label":"--relax","description":"Relax mode parameter. Available depending on subscription plan. Repeat, permutations, HD videos, and some legacy upscale behavior are not available in Relax mode.","type":"boolean","valueType":"boolean","path":"/--relax","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--repeat","label":"--repeat","description":"Repeat parameter. Alias: --r. Generates multiple image sets from one prompt. Basic plan supports 2-4, Standard supports 2-10, Pro and Mega support 2-40. Works only in Fast and Turbo modes.","type":"number","valueType":"integer","path":"/--repeat","required":false,"min":2,"max":40,"omitEmpty":true},{"name":"--sd","label":"--sd","description":"SD image parameter. Generates standard resolution 1024px images in V8.1/V8.2 when supported.","type":"boolean","valueType":"boolean","path":"/--sd","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--seed","label":"--seed","description":"Seed parameter. Uses a whole number from 0 to 4294967295.","type":"number","valueType":"integer","path":"/--seed","required":false,"min":0,"max":4294967295,"omitEmpty":true},{"name":"--sref","label":"--sref","description":"Style reference parameter. Use image URLs, style reference codes, or random. Multiple references are supported.","type":"json","valueType":"array","path":"/--sref","required":false,"omitEmpty":true},{"name":"--stealth","label":"--stealth","description":"Stealth mode parameter. Makes creations private on the Midjourney website when available for the account plan. Available only to Pro and Mega plans.","type":"boolean","valueType":"boolean","path":"/--stealth","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--stylize","label":"--stylize","description":"Stylize parameter. Alias: --s. Controls how strongly Midjourney applies its artistic style. Supported range is 0 to 1000.","type":"number","valueType":"integer","path":"/--stylize","required":false,"defaultValue":100,"min":0,"max":1000,"omitEmpty":true},{"name":"--sv","label":"--sv","description":"Style reference version parameter. V7 supports six style reference versions and defaults to 6. V6 supports 1, 2, 3, and 4, with 4 as default.","type":"number","valueType":"integer","path":"/--sv","required":false,"defaultValue":6,"min":1,"max":6,"allowedValues":[1,2,3,4,5,6],"omitEmpty":true},{"name":"--sw","label":"--sw","description":"Style weight parameter. Controls the strength of style references. Supported range is 0 to 1000.","type":"number","valueType":"integer","path":"/--sw","required":false,"defaultValue":100,"min":0,"max":1000,"omitEmpty":true},{"name":"--tile","label":"--tile","description":"Tile parameter. Creates seamless repeating patterns.","type":"boolean","valueType":"boolean","path":"/--tile","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--turbo","label":"--turbo","description":"Turbo mode parameter. Generates faster and uses more Fast GPU time. Not currently supported in V8.1.","type":"boolean","valueType":"boolean","path":"/--turbo","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--video","label":"--video","description":"Video generation parameter. Video generations are compatible only with video-specific parameters: --motion low, --motion high, --raw, --loop, --end, and --bs.","type":"boolean","valueType":"boolean","path":"/--video","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--weird","label":"--weird","description":"Weird parameter. Alias: --w. Adds unusual or experimental qualities. Supported range is 0 to 3000.","type":"number","valueType":"integer","path":"/--weird","required":false,"defaultValue":0,"min":0,"max":3000,"omitEmpty":true},{"name":"model","label":"model","description":"Model name.","type":"string","valueType":"string","path":"/model","required":true},{"name":"prompt","label":"prompt","description":"Text prompt for image generation. Aspect ratio, quality, style, and other Midjourney-style parameters should be defined inside the prompt, such as --ar 16:9, --q 2, and --style raw.","type":"string","valueType":"string","path":"/prompt","required":true}],"responseBody":{"id":"1435304360-WandImage-89b449540c9649ce9771b75ba63f70ba","data":[{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F14%2F0ddecd93-365d-401e-a086-0b3aeae0894f.png"},{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F14%2F0ddecd93-365d-401e-a086-0b3aeae0894f.png"},{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F14%2F0ddecd93-365d-401e-a086-0b3aeae0894f.png"},{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F14%2F0ddecd93-365d-401e-a086-0b3aeae0894f.png"}],"model":"Midjourney-v7","object":"image.task","status":"succeeded","created":1789393017,"tokenhub_usage":{"total_tokens":120000},"openmodels_cost":177744},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"eb1d3319-3ddc-49ea-bb6f-8dcdb0058a9a","routeId":"184be6f3-93d1-4c29-840e-f93300904910","model":"Midjourney-v8.1","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/wand/md-image/generation","method":"POST"},{"type":"get","path":"/v1/wand/md-image/tasks/{task_id}","method":"GET"}],"curlExample":"curl https://api.openany.si/v1/images \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -d '{\n  \"model\": \"Midjourney-v8.1\",\n  \"route\": {\n    \"provider\": \"Tencent\"\n  },\n  \"route_mode\": \"balanced\",\n  \"prompt\": \"An elegant commercial product photograph of a transparent glass tumbler with ice and lemon slices.  --ar 16:9\"\n}'\n\n// Text prompt for image generation. Aspect ratio, quality, style, and other Midjourney-style parameters should be defined inside the prompt, such as --ar 16:9, --q 2, and --style raw.\n\n\n\ncurl https://api.openany.si/v1/images/{task_id} \\\n--header 'Authorization: Bearer $OM_API_KEY' \\\n--header 'Content-Type: application/json'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":0,"completion":1379310,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":0,"partnerCompletion":1448276,"promptSource":0,"completionSource":10000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["image"],"description":"","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":6,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"Midjourney-v8.1","operations":[],"availableModes":[]},"createdAt":"2026-09-12T14:34:20Z","updatedAt":"2026-10-28T07:47:42Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"minimax-m3","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"model":{"type":"string","description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","parameters"],"properties":{"name":{"type":"string"},"parameters":{"type":"object"}}}}}},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"enum":["text","image_url","video_url"],"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"detail":{"enum":["low","default","high"],"type":"string"},"max_long_side_pixel":{"type":"integer","minimum":1}}},"video_url":{"type":"object","required":["url"],"properties":{"fps":{"type":"number","maximum":5,"minimum":0.2},"url":{"type":"string"},"detail":{"enum":["low","default","high"],"type":"string"},"max_long_side_pixel":{"type":"integer","minimum":1}}}}}}]},"tool_calls":{"type":"array","items":{"type":"object","required":["id","type","function"],"properties":{"id":{"type":"string"},"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","arguments"],"properties":{"name":{"type":"string"},"arguments":{"type":"string"}}}}}},"tool_call_id":{"type":"string"}}},"description":"Messages in conversation order."},"thinking":{"type":"object","required":[],"properties":{"type":{"enum":["disabled","adaptive"],"type":"string"}},"description":"Thinking mode for the model."},"max_tokens":{"type":"integer","minimum":1,"deprecated":true},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"service_tier":{"enum":["standard","priority"],"type":"string"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"reasoning_split":{"type":"boolean"},"max_completion_tokens":{"type":"integer","maximum":524288,"minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"MiniMax-M3","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"MiniMax-M3","route":{"provider":"Tencent-Intl"}},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"max":524288,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_split","label":"reasoning_split","type":"boolean","valueType":"boolean","path":"/reasoning_split","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"service_tier","label":"service_tier","type":"string","valueType":"string","path":"/service_tier","required":false,"allowedValues":["standard","priority"],"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking mode for the model.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true}],"responseBody":{"id":"0c4780e1-9046-4b2b-8b38-0e8c590dc844","model":"MiniMax-M3","usage":{"total_tokens":79,"prompt_tokens":42,"completion_tokens":37,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":28}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user has simply said \"hello\" - this is a greeting. I should respond in a friendly and welcoming manner."},"finish_reason":"stop"}],"created":1784615368,"openmodels_cost":50},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"e8e47fca-b738-4ed6-95cf-b9dd05fbb5a8","routeId":"91053e52-4f23-4f56-a4bf-4d300225e882","model":"MiniMax-M3","provider":"Tencent-Intl","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":3,"prompt":289655,"completion":1158621,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":289655,"partnerCompletion":1158621,"promptSource":2100000,"completionSource":8400000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning","coding"],"outModalities":["chat","reasoning","coding"],"description":"MiniMax-M3 is MiniMax's latest model, delivering frontier-level capabilities in professional tasks such as programming and agent workflows.","descriptionTranslations":{"ar":"MiniMax-M3 هو أحدث نموذج من MiniMax، ويقدم قدرات رائدة في المهام الاحترافية مثل البرمجة ومسارات عمل الوكلاء.","ja":"MiniMax-M3はMiniMaxの最新モデルで、プログラミングやエージェントワークフローなどの専門タスクにおいて最先端レベルの能力を発揮します。新たなMSAアーキテクチャであるMiniMax Sparse Attentionを採用し、最大1M tokenのコンテキストウィンドウをサポートしています。また、画像と動画の入力に対応するネイティブマルチモーダルモデルです。","zh":"MiniMax-M3 是 MiniMax 的最新模型，在编程和智能体工作流等专业任务中具备前沿水平的能力。它采用全新的 MSA 架构，即 MiniMax Sparse Attention，支持最长 1M token 的上下文窗口，并且是一款原生多模态模型，支持图像和视频输入。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["tool_calling","content_caching"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"pricingTiers":[{"actualCompletion":8400000,"actualPrompt":2100000,"cacheReadPrompt":57931,"completion":1158621,"label":"\u003c=512k","partnerCacheReadPrompt":57931,"partnerCompletion":1158621,"partnerPrompt":289655,"prompt":289655,"rangeEnd":512000,"rangeStart":0},{"actualCompletion":16800000,"actualPrompt":4200000,"cacheReadPrompt":115862,"completion":2317241,"label":"\u003e512K","partnerCacheReadPrompt":115862,"partnerCompletion":2317241,"partnerPrompt":579310,"prompt":579310,"rangeStart":512000}],"timePricingRules":[],"latency":1824,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"MiniMax-M3","operations":[],"availableModes":[]},"createdAt":"2026-07-06T06:28:51Z","updatedAt":"2026-07-29T02:03:27Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"minimax-m3","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"model":{"type":"string","description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","parameters"],"properties":{"name":{"type":"string"},"parameters":{"type":"object"}}}}}},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"enum":["text","image_url","video_url"],"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"detail":{"enum":["low","default","high"],"type":"string"},"max_long_side_pixel":{"type":"integer","minimum":1}}},"video_url":{"type":"object","required":["url"],"properties":{"fps":{"type":"number","maximum":5,"minimum":0.2},"url":{"type":"string"},"detail":{"enum":["low","default","high"],"type":"string"},"max_long_side_pixel":{"type":"integer","minimum":1}}}}}}]},"tool_calls":{"type":"array","items":{"type":"object","required":["id","type","function"],"properties":{"id":{"type":"string"},"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","arguments"],"properties":{"name":{"type":"string"},"arguments":{"type":"string"}}}}}},"tool_call_id":{"type":"string"}}},"description":"Messages in conversation order."},"thinking":{"type":"object","required":[],"properties":{"type":{"enum":["disabled","adaptive"],"type":"string"}},"description":"Thinking mode for the model."},"max_tokens":{"type":"integer","minimum":1,"deprecated":true},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"service_tier":{"enum":["standard","priority"],"type":"string"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"reasoning_split":{"type":"boolean"},"max_completion_tokens":{"type":"integer","maximum":524288,"minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"MiniMax-M3","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"MiniMax-M3","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"max":524288,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_split","label":"reasoning_split","type":"boolean","valueType":"boolean","path":"/reasoning_split","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"service_tier","label":"service_tier","type":"string","valueType":"string","path":"/service_tier","required":false,"allowedValues":["standard","priority"],"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking mode for the model.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true}],"responseBody":{"id":"0c4780e1-9046-4b2b-8b38-0e8c590dc844","model":"MiniMax-M3","usage":{"total_tokens":79,"prompt_tokens":42,"completion_tokens":37,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":28}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user has simply said \"hello\" - this is a greeting. I should respond in a friendly and welcoming manner."},"finish_reason":"stop"}],"created":1784615368,"openmodels_cost":50},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"eb490e70-4998-4646-8762-a0ddd406eb5f","routeId":"fbabea8d-2f04-4e82-8c63-d1798382c8d3","model":"MiniMax-M3","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":3,"prompt":289655,"completion":1158621,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":289655,"partnerCompletion":1158621,"promptSource":2100000,"completionSource":8400000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat","reasoning"],"description":"MiniMax-M3 is MiniMax's latest model, delivering frontier-level capabilities in professional tasks such as programming and agent workflows.","descriptionTranslations":{"ar":"MiniMax-M3 هو أحدث نموذج من MiniMax، ويقدم قدرات بمستوى النماذج المتقدمة في المهام الاحترافية مثل البرمجة وسير عمل الوكلاء.","ja":"MiniMax-M3はMiniMaxの最新モデルで、プログラミングやエージェントワークフローなどの専門タスクにおいてフロンティア水準の能力を発揮します。新しいMSAアーキテクチャであるMiniMax Sparse Attentionを採用し、最大1Mのコンテキストウィンドウに対応します。また、画像と動画の入力をサポートするネイティブマルチモーダルモデルです。","zh":"MiniMax-M3 是 MiniMax 最新推出的模型，在编程、智能体工作流等专业任务上具备前沿水平的能力。它采用全新的 MSA 架构 MiniMax Sparse Attention，支持最长 1M 的上下文窗口，并以原生多模态架构支持图像和视频输入。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["tool_calling","content_caching","reasoning","structured_outputs"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"pricingTiers":[{"actualCompletion":8400000,"actualPrompt":2100000,"cacheReadPrompt":57931,"completion":1158621,"label":"\u003c=512k","partnerCacheReadPrompt":57931,"partnerCompletion":1158621,"partnerPrompt":289655,"prompt":289655,"rangeEnd":512000,"rangeStart":0},{"actualCompletion":16800000,"actualPrompt":4200000,"cacheReadPrompt":115862,"completion":2317241,"label":"\u003e512K","partnerCacheReadPrompt":115862,"partnerCompletion":2317241,"partnerPrompt":579310,"prompt":579310,"rangeStart":512000}],"timePricingRules":[],"latency":3386,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"MiniMax-M3","operations":[],"availableModes":[]},"createdAt":"2026-07-06T06:26:56Z","updatedAt":"2026-07-29T02:03:10Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"claude","inputPrice":"10.00","outputPrice":"50.00"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"cl-fa-5-1","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"beta":{"type":"array","items":{"type":"string"},"description":"Anthropic beta header values to enable beta features."},"speed":{"enum":["standard","fast"],"type":"string","description":"Inference speed mode. fast enables higher output tokens per second."},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Tool name."},"description":{"type":"string","description":"Tool description. Strongly recommended to help the model decide when and how to call the tool."},"input_schema":{"type":"object","description":"JSON Schema describing the tool input shape that the model should produce."}}}},"system":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","description":"System instruction text."},"type":{"enum":["text"],"type":"string","description":"System content block type."}}},"description":"System prompt. Can be a string or an array of text blocks used to provide context, role, goals, or constraints."},"fallback":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string","description":"Fallback model name."},"max_tokens":{"type":"integer","description":"Maximum tokens for the fallback attempt."},"output_config":{"type":"object","description":"Output configuration for the fallback attempt."}}},"description":"Server-side fallback models to try when the requested model declines for policy reasons."},"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user","assistant"],"type":"string","description":"Message role. The Messages API does not support a system role inside messages; use the top-level system parameter instead."},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string"}}}}],"description":"Message content. Can be a string or an array of typed content blocks such as text, image, tool_result, or document blocks."}}}},"metadata":{"type":"object","properties":{"user_id":{"type":"string","description":"External user identifier associated with the request."}},"description":"Request metadata."},"thinking":{"type":"object","properties":{"type":{"enum":["enabled","disabled","adaptive"],"type":"string","description":"Thinking mode type."},"display":{"type":"object","description":"Display configuration for thinking output when supported."},"budget_tokens":{"type":"integer","minimum":1024,"description":"Token budget for extended thinking when thinking is enabled."}}},"container":{"type":"object","properties":{"id":{"type":"string","description":"Container ID to reuse."},"skills":{"type":"array","items":{"type":"object"},"description":"Skills to load in the container."}},"description":"Container identifier or container parameters for reuse across requests, especially for code execution and skills."},"diagnostics":{"type":"object","properties":{"previous_message_id":{"type":"string","description":"Previous response ID for prompt-cache divergence reporting."}},"description":"Request-level diagnostics."},"mcp_servers":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","description":"MCP server URL."},"name":{"type":"string","description":"MCP server name."},"type":{"type":"string","description":"MCP server definition type."}}},"description":"MCP servers to use in this request."},"tool_choice":{"type":"object","properties":{"name":{"type":"string","description":"Specific tool name when tool_choice.type is tool."},"type":{"enum":["auto","any","tool","none"],"type":"string","description":"Tool choice mode."},"disable_parallel_tool_use":{"type":"boolean","description":"Whether to disable parallel tool use for applicable tool choice modes."}}},"cache_control":{"type":"object","properties":{"ttl":{"type":"string","description":"Cache time-to-live when supported."},"type":{"type":"string","description":"Cache control type."}},"description":"Top-level cache control. Automatically applies a cache_control marker to the last cacheable block in the request."},"inference_geo":{"type":"string","description":"Geographic region for inference processing. If omitted, the workspace default inference geo is used."},"output_config":{"type":"object","properties":{"effort":{"type":"string","description":"Output effort configuration when supported."},"format":{"type":"object","description":"Structured output format configuration."},"task_budget":{"type":"integer","description":"Task budget configuration when supported."}},"description":"Output configuration, including output format and effort settings."},"user_profile_id":{"type":"string","description":"User profile ID for attributing requests when acting on behalf of another party. Requires the user-profiles beta header."},"context_management":{"type":"object","properties":{"edits":{"type":"array","items":{"type":"object"},"description":"Context management edits to apply."}},"description":"Controls how Claude manages context across requests, such as whether to clear tool results."},"fallback_credit_token":{"type":"string","description":"Fallback credit token from a prior refusal stop_details. Must be redeemed under the documented constraints."}}},"id":"archived-0","model":"claude-fable-5.1","provider":"Anthropic","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"claude-fable-5.1","route":{"provider":"Anthropic"},"route_mode":"balanced"},"parameterSchema":[{"name":"beta","label":"beta","description":"Anthropic beta header values to enable beta features.","type":"json","valueType":"array","path":"/beta","required":false,"omitEmpty":true},{"name":"cache_control","label":"cache_control","description":"Top-level cache control. Automatically applies a cache_control marker to the last cacheable block in the request.","type":"json","valueType":"object","path":"/cache_control","required":false,"omitEmpty":true},{"name":"container","label":"container","description":"Container identifier or container parameters for reuse across requests, especially for code execution and skills.","type":"json","valueType":"object","path":"/container","required":false,"omitEmpty":true},{"name":"context_management","label":"context_management","description":"Controls how Claude manages context across requests, such as whether to clear tool results.","type":"json","valueType":"object","path":"/context_management","required":false,"omitEmpty":true},{"name":"diagnostics","label":"diagnostics","description":"Request-level diagnostics.","type":"json","valueType":"object","path":"/diagnostics","required":false,"omitEmpty":true},{"name":"fallback","label":"fallback","description":"Server-side fallback models to try when the requested model declines for policy reasons.","type":"json","valueType":"array","path":"/fallback","required":false,"omitEmpty":true},{"name":"fallback_credit_token","label":"fallback_credit_token","description":"Fallback credit token from a prior refusal stop_details. Must be redeemed under the documented constraints.","type":"string","valueType":"string","path":"/fallback_credit_token","required":false,"omitEmpty":true},{"name":"inference_geo","label":"inference_geo","description":"Geographic region for inference processing. If omitted, the workspace default inference geo is used.","type":"string","valueType":"string","path":"/inference_geo","required":false,"omitEmpty":true},{"name":"mcp_servers","label":"mcp_servers","description":"MCP servers to use in this request.","type":"json","valueType":"array","path":"/mcp_servers","required":false,"omitEmpty":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":false,"omitEmpty":true},{"name":"metadata","label":"metadata","description":"Request metadata.","type":"json","valueType":"object","path":"/metadata","required":false,"omitEmpty":true},{"name":"output_config","label":"output_config","description":"Output configuration, including output format and effort settings.","type":"json","valueType":"object","path":"/output_config","required":false,"omitEmpty":true},{"name":"speed","label":"speed","description":"Inference speed mode. fast enables higher output tokens per second.","type":"string","valueType":"string","path":"/speed","required":false,"allowedValues":["standard","fast"],"omitEmpty":true},{"name":"system","label":"system","description":"System prompt. Can be a string or an array of text blocks used to provide context, role, goals, or constraints.","type":"json","valueType":"array","path":"/system","required":false,"omitEmpty":true},{"name":"thinking","label":"thinking","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"user_profile_id","label":"user_profile_id","description":"User profile ID for attributing requests when acting on behalf of another party. Requires the user-profiles beta header.","type":"string","valueType":"string","path":"/user_profile_id","required":false,"omitEmpty":true}],"responseBody":{"id":"msg_gwhb_mu29o1sv-1b487562fef5","model":"claude-fable-5-1","usage":{"input_tokens":0,"total_tokens":2,"output_tokens":0,"prompt_tokens":1,"completion_tokens":1,"input_tokens_details":null,"prompt_tokens_details":{"text_tokens":0,"audio_tokens":0,"image_tokens":0,"cached_tokens":0},"completion_tokens_details":{"text_tokens":0,"audio_tokens":0,"image_tokens":0,"reasoning_tokens":0},"claude_cache_creation_1_h_tokens":0,"claude_cache_creation_5_m_tokens":0},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"OK","reasoning_content":""},"finish_reason":"stop"}],"created":1789452252,"openmodels_cost":63},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"f8647152-0955-411c-8a72-6866dfe9e642","routeId":"5c4cc2e3-2cb6-402b-9b75-931bd2a47789","model":"claude-fable-5.1","provider":"Anthropic","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/Anthropic.svg","upstreamPath":[{"type":"generations","path":"/v1/messages","method":"POST"}],"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":9655172,"completion":48275862,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":10137931,"partnerCompletion":50689655,"partnerCacheCreationPrompt":12672414,"partnerCacheReadPrompt":253448,"promptSource":70000000,"completionSource":350000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"","descriptionTranslations":{},"supportedFeatures":["reasoning","content_caching","tool_calling"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheCreationPrompt":12068966,"cacheReadPrompt":241379,"pricingTiers":[],"timePricingRules":[],"latency":2777,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"claude-fable-5.1","operations":[],"availableModes":[]},"createdAt":"2026-09-15T05:58:39Z","updatedAt":"2026-11-02T12:36:37Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-03","publisher":"DeepSeek","inputPrice":"0.142857","outputPrice":"0.571428"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/deepseek-v4.1-flash/","upstreamModel":"deepseek-v4.1-flash","formats":[{"jsonSchema":{"type":"object","allOf":[{"if":{"required":["top_logprobs"],"properties":{"top_logprobs":{"type":"integer"}}},"then":{"required":["logprobs"],"properties":{"logprobs":{"const":true}}}}],"$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"maxItems":16,"minItems":1}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"user_id":{"type":"string"},"logprobs":{"type":"boolean"},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"thinking":{"type":"object","required":["type"],"properties":{"type":{"enum":["enabled","disabled"],"type":"string"}},"description":"Thinking mode for the model."},"max_tokens":{"type":"integer","maximum":393216,"minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","maximum":2,"minimum":0},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"top_logprobs":{"type":"integer","maximum":20,"minimum":0},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string"}}},"reasoning_effort":{"enum":["none","minimal","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."}}},"id":"archived-0","model":"deepseek-v4.1-flash","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"deepseek-v4.1-flash","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"logprobs","label":"logprobs","type":"boolean","valueType":"boolean","path":"/logprobs","required":false,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":393216,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","minimal","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking mode for the model.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_logprobs","label":"top_logprobs","type":"number","valueType":"integer","path":"/top_logprobs","required":false,"min":0,"max":20,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-0bda71b2-52a7-97e6-a047-fdf6936ceb1b","model":"deepseek-v4.1-flash","usage":{"total_tokens":76,"prompt_tokens":31,"completion_tokens":45,"prompt_tokens_details":{"text_tokens":31,"cached_tokens":0},"completion_tokens_details":{"text_tokens":9,"reasoning_tokens":35}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"We need answer greeting. User says hello. Need maybe respond. We need final only. But system says API, desired oververbosity 5. We can just greet."},"finish_reason":"stop"}],"created":1789456959,"openmodels_cost":57},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/deepseek-v4.1-flash/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"1210ad40-b5cf-46ab-a440-78e38d29054d","routeId":"1b2c17e9-8e68-4450-b683-fd63eb855c6b","model":"deepseek-v4.1-flash","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"curl https://api.openany.si/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -d '{\n  \"model\": \"deepseek-v4.1-flash\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":137931,"completion":551724,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":144828,"partnerCompletion":579310,"partnerCacheReadPrompt":2897,"promptSource":1000000,"completionSource":4000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"","descriptionTranslations":{"ar":"DeepSeek-V4.1-Flash هو نموذج بمستوى الإنتاج مصمم للتزامن العالي وزمن الاستجابة المنخفض.","ja":"DeepSeek-V4.1-Flashは、高い同時実行性と低レイテンシを実現するために設計された本番環境向けモデルです。シリーズ全体で1Mのコンテキストウィンドウを標準搭載し、極めて低いコストでフラッグシップに迫る推論性能と優れたエージェント応答効率を提供します。","zh":"DeepSeek-V4.1-Flash 是一款面向高并发、低延迟场景设计的生产级模型。该系列将 1M 上下文窗口作为标准能力，并以极低成本提供接近旗舰级的推理性能和出色的智能体响应效率。"},"supportedFeatures":["tool_calling","reasoning"],"cacheReadPrompt":2759,"pricingTiers":[],"timePricingRules":[{"label":"PEAK1","daysOfWeekUtc":[1,2,3,4,5],"startMinuteUtc":60,"endMinuteUtc":240,"prompt":275862,"completion":1103448,"partnerPrompt":289655,"partnerCompletion":1158621,"cacheReadPrompt":5517,"partnerCacheReadPrompt":5793},{"label":"PEAK2","daysOfWeekUtc":[1,2,3,4,5],"startMinuteUtc":360,"endMinuteUtc":600,"prompt":275862,"completion":1103448,"partnerPrompt":289655,"partnerCompletion":1158621,"cacheReadPrompt":5517,"partnerCacheReadPrompt":5793}],"latency":2999,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"deepseek-v4.1-flash","operations":[],"availableModes":[]},"createdAt":"2026-11-03T09:21:55Z","updatedAt":"2026-11-03T09:23:56Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Deepseek","inputPrice":"0.15","outputPrice":"0.60"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/deepseek-v4.1-flash/","upstreamModel":"deepseek-v4.1-flash","formats":[{"jsonSchema":{"type":"object","allOf":[{"if":{"required":["top_logprobs"],"properties":{"top_logprobs":{"type":"integer"}}},"then":{"required":["logprobs"],"properties":{"logprobs":{"const":true}}}}],"$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"maxItems":16,"minItems":1}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"user_id":{"type":"string"},"logprobs":{"type":"boolean"},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"thinking":{"type":"object","required":["type"],"properties":{"type":{"enum":["enabled","disabled"],"type":"string"}},"description":"Thinking mode for the model."},"max_tokens":{"type":"integer","maximum":393216,"minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","maximum":2,"minimum":0},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"top_logprobs":{"type":"integer","maximum":20,"minimum":0},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string"}}},"reasoning_effort":{"enum":["none","minimal","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."}}},"id":"archived-0","model":"deepseek-v4.1-flash","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"deepseek-v4.1-flash","route":{"provider":"Neolink"},"route_mode":"balanced"},"parameterSchema":[{"name":"logprobs","label":"logprobs","type":"boolean","valueType":"boolean","path":"/logprobs","required":false,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":393216,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","minimal","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking mode for the model.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_logprobs","label":"top_logprobs","type":"number","valueType":"integer","path":"/top_logprobs","required":false,"min":0,"max":20,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-0bda71b2-52a7-97e6-a047-fdf6936ceb1b","model":"deepseek-v4.1-flash","usage":{"total_tokens":76,"prompt_tokens":31,"completion_tokens":45,"prompt_tokens_details":{"text_tokens":31,"cached_tokens":0},"completion_tokens_details":{"text_tokens":9,"reasoning_tokens":35}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"We need answer greeting. User says hello. Need maybe respond. We need final only. But system says API, desired oververbosity 5. We can just greet."},"finish_reason":"stop"}],"created":1789456959,"openmodels_cost":57},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/deepseek-v4.1-flash/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"c009002a-66e9-424e-9a07-21f9a6ee438b","routeId":"f993150d-1dea-449c-b177-2d761bed6995","model":"deepseek-v4.1-flash","provider":"Neolink","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"curl https://api.openany.si/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -d '{\n  \"model\": \"deepseek-v4.1-flash\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":116414,"completion":465655,"imageCompletion":0,"partnerPriceMultiplierBps":11875,"partnerPrompt":131034,"partnerCompletion":524138,"promptSource":844000,"completionSource":3376000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat"],"description":"","descriptionTranslations":{"ar":"DeepSeek-V4.1-Flash هو نموذج بمستوى الإنتاج مصمم للتزامن العالي وزمن الاستجابة المنخفض.","ja":"DeepSeek-V4.1-Flashは、高い同時実行性と低レイテンシを実現するために設計された本番環境向けモデルです。シリーズ全体で1Mのコンテキストウィンドウを標準搭載し、極めて低いコストでフラッグシップに迫る推論性能と優れたエージェント応答効率を提供します。","zh":"DeepSeek-V4.1-Flash 是一款面向高并发、低延迟场景设计的生产级模型。该系列将 1M 上下文窗口作为标准能力，并以极低成本提供接近旗舰级的推理性能和出色的智能体响应效率。"},"supportedFeatures":["tool_calling","content_caching","reasoning"],"pricingTiers":[],"timePricingRules":[{"label":"PEAK1","daysOfWeekUtc":[1,2,3,4,5,6,7],"startMinuteUtc":0,"endMinuteUtc":840,"prompt":232828,"completion":931310,"partnerPrompt":262069,"partnerCompletion":1048276,"cacheReadPrompt":2759,"partnerCacheReadPrompt":3276}],"latency":227,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"deepseek-v4.1-flash","operations":[],"availableModes":[]},"createdAt":"2026-09-15T07:16:47Z","updatedAt":"2026-11-03T09:24:31Z"},{"id":"8624b71f-e922-4dc0-a9f3-ecf0eb71cd02","routeId":"2b0cdc9a-86ed-4790-8f32-bf5c7bc5cb1b","model":"deepseek-v4.1-flash-1017","provider":"registration-98c39b3f-3193-47b7-bc88-e5c33db29a34","modelSource":"provider","providerKind":"community","providerLogoUrl":"https://www.abhigya.ai/logo","upstreamPath":[{"type":"generations","path":"/v1/chat/completions","method":"POST"}],"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  --data-raw '{\n  \"model\": \"abhigya-deepseek-v4.1-flash-1017\",\n  \"route\": {\n    \"provider\": \"abhigya\"\n  },\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":120000,"completion":800000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":126000,"partnerCompletion":840000,"partnerCacheCreationPrompt":126000,"partnerCacheReadPrompt":126000,"promptSource":120000,"completionSource":800000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat"],"description":"DeepSeek V4.1 Flash","descriptionTranslations":{},"supportedFeatures":["tool_calling"],"cacheCreationPrompt":120000,"cacheReadPrompt":120000,"pricingTiers":[],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"deepseek-v4.1-flash-1017","operations":[],"availableModes":[]},"createdAt":"2026-11-02T16:34:01Z","updatedAt":"2026-11-03T09:21:18Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"doubao-seed-2-1-pro-260628","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"route":{"type":"object","properties":{"provider":{"type":"string"}}},"content":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string"}}}},"duration":{"type":"integer"},"watermark":{"type":"boolean"},"resolution":{"type":"string"},"route_mode":{"type":"string"},"generate_audio":{"type":"boolean"}}},"id":"archived-0","model":"doubao-seed-2-1-pro","provider":"ByteDance","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"content":[{"text":"In a neon-lit Tokyo neighborhood during a downpour, a young female delivery rider wearing a yellow functional rain jacket speeds through a crowded intersection on a black motorcycle. The camera begins with a close-up, low-angle shot following the front wheel as the tire races through puddles, sending water splashing toward the lens; the camera then quickly swings to the side of the motorcycle, moving parallel to her; she leans forward to avoid an autonomous taxi crossing the intersection, and finally speeds into a narrow alleyway lit by flashing red lights. The fast-paced yet crisp action, realistic rain effects, and fluid, continuous camerawork—with the character and motorcycle’s appearance remaining consistent throughout—create a cinematic action-movie feel.","type":"text"}],"duration":5,"generate_audio":true,"model":"doubao-seed-2-1-pro","ratio":"16:9","resolution":"720p","route":{"provider":"ByteDance"},"route_mode":"balanced","watermark":false},"parameterSchema":[{"name":"content","label":"content","type":"json","valueType":"array","path":"/content","required":false,"omitEmpty":true},{"name":"duration","label":"duration","type":"number","valueType":"integer","path":"/duration","required":false,"omitEmpty":true},{"name":"generate_audio","label":"generate_audio","type":"boolean","valueType":"boolean","path":"/generate_audio","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true},{"name":"resolution","label":"resolution","type":"string","valueType":"string","path":"/resolution","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"watermark","label":"watermark","type":"boolean","valueType":"boolean","path":"/watermark","required":false,"omitEmpty":true}],"responseBody":{"id":"yy-cgt-190928547529883717c4896a303531456abec02c308ac335eb","seed":61102,"media":[{"key":"key-market/playgrounds/2026/08/10/2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","name":"cgt-20260810114447-knqp7.mp4","type":"video","mimeType":"video/mp4"}],"model":"doubao-seedance-2-0","ratio":"16:9","tools":[],"usage":{"total_tokens":108900,"completion_tokens":108900},"status":"succeeded","content":{"video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","kz_video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","last_frame_url":""},"duration":5,"video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","created_at":1786333487,"resolution":"720p","updated_at":1786333802,"generate_audio":true,"framespersecond":24,"openmodels_cost":1129116,"execution_expires_after":172800},"responseOrigin":"shared_playground_example","responseContainsPlaceholders":false,"requestOrigin":"configured_playground_with_supplier_binding","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"60ef92a3-7931-44f3-82f4-f2595fd6083e","routeId":"2b514d47-8bf5-4ff3-a23d-fdcf138f0a71","model":"doubao-seed-2-1-pro","provider":"ByteDance","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/doubao-color.svg","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/videos' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"doubao-seed-2-1-pro\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Generate a video of a carp leaping over the Dragon Gate.\"\n    }\n  ],\n  \"generate_audio\": true,\n  \"resolution\": \"720p\",\n  \"ratio\": \"16:9\",\n  \"duration\": 5,\n  \"watermark\": false\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":827586,"completion":4137931,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":827586,"partnerCompletion":4137931,"partnerCacheCreationPrompt":2345,"partnerCacheReadPrompt":165517,"promptSource":6000000,"completionSource":30000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding"],"outModalities":["video"],"description":"A new generation of large models advancing toward production-grade intelligence, comprehensively upgraded in coding, agent, and multimodal capabilities, enabling stronger autonomous planning, end-to-end execution, and dynamic recovery to handle real-world, complex enterprise tasks.","descriptionTranslations":{},"modelReleaseDate":"2026-06-26","supportedFeatures":["tool_calling","reranking"],"contextWindowTokens":256000,"maxOutputTokens":256000,"cacheCreationPrompt":2345,"cacheReadPrompt":165517,"pricingTiers":[],"timePricingRules":[],"latency":530,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"doubao-seed-2-1-pro","operations":[],"availableModes":[]},"createdAt":"2026-06-26T14:10:40Z","updatedAt":"2026-11-02T15:19:25Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"doubao-seed-2-1-turbo-260628","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"route":{"type":"object","properties":{"provider":{"type":"string"}}},"content":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string"}}}},"duration":{"type":"integer"},"watermark":{"type":"boolean"},"resolution":{"type":"string"},"route_mode":{"type":"string"},"generate_audio":{"type":"boolean"}}},"id":"archived-0","model":"doubao-seed-2-1-turbo","provider":"ByteDance","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"content":[{"text":"In a neon-lit Tokyo neighborhood during a downpour, a young female delivery rider wearing a yellow functional rain jacket speeds through a crowded intersection on a black motorcycle. The camera begins with a close-up, low-angle shot following the front wheel as the tire races through puddles, sending water splashing toward the lens; the camera then quickly swings to the side of the motorcycle, moving parallel to her; she leans forward to avoid an autonomous taxi crossing the intersection, and finally speeds into a narrow alleyway lit by flashing red lights. The fast-paced yet crisp action, realistic rain effects, and fluid, continuous camerawork—with the character and motorcycle’s appearance remaining consistent throughout—create a cinematic action-movie feel.","type":"text"}],"duration":5,"generate_audio":true,"model":"doubao-seed-2-1-turbo","ratio":"16:9","resolution":"720p","route":{"provider":"ByteDance"},"route_mode":"balanced","watermark":false},"parameterSchema":[{"name":"content","label":"content","type":"json","valueType":"array","path":"/content","required":false,"omitEmpty":true},{"name":"duration","label":"duration","type":"number","valueType":"integer","path":"/duration","required":false,"omitEmpty":true},{"name":"generate_audio","label":"generate_audio","type":"boolean","valueType":"boolean","path":"/generate_audio","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true},{"name":"resolution","label":"resolution","type":"string","valueType":"string","path":"/resolution","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"watermark","label":"watermark","type":"boolean","valueType":"boolean","path":"/watermark","required":false,"omitEmpty":true}],"responseBody":{"id":"yy-cgt-190928547529883717c4896a303531456abec02c308ac335eb","seed":61102,"media":[{"key":"key-market/playgrounds/2026/08/10/2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","name":"cgt-20260810114447-knqp7.mp4","type":"video","mimeType":"video/mp4"}],"model":"doubao-seedance-2-0","ratio":"16:9","tools":[],"usage":{"total_tokens":108900,"completion_tokens":108900},"status":"succeeded","content":{"video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","kz_video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","last_frame_url":""},"duration":5,"video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","created_at":1786333487,"resolution":"720p","updated_at":1786333802,"generate_audio":true,"framespersecond":24,"openmodels_cost":1129116,"execution_expires_after":172800},"responseOrigin":"shared_playground_example","responseContainsPlaceholders":false,"requestOrigin":"configured_playground_with_supplier_binding","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"118a1e28-05df-4187-a999-e9c9fd800c37","routeId":"d208df2e-a5bc-4f95-a9ce-66b92e0adad8","model":"doubao-seed-2-1-turbo","provider":"ByteDance","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/doubao-color.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":413793,"completion":2068966,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":413793,"partnerCompletion":2068966,"partnerCacheCreationPrompt":2345,"partnerCacheReadPrompt":82759,"promptSource":3000000,"completionSource":15000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["video"],"description":"Balancing performance and cost, we have comprehensively upgraded Coding, Agent, and multimodal capabilities, enabling stronger autonomous planning, end-to-end execution, and dynamic recovery to handle real-world, complex enterprise tasks.","descriptionTranslations":{},"modelReleaseDate":"2026-06-26","supportedFeatures":["tool_calling","reasoning"],"contextWindowTokens":256000,"maxOutputTokens":256000,"cacheCreationPrompt":2345,"cacheReadPrompt":82759,"pricingTiers":[],"timePricingRules":[],"latency":405,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"doubao-seed-2-1-turbo","operations":[],"availableModes":[]},"createdAt":"2026-06-26T14:13:21Z","updatedAt":"2026-07-20T11:34:50Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"doubao-seed-evolving","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"route":{"type":"object","properties":{"provider":{"type":"string"}}},"content":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string"}}}},"duration":{"type":"integer"},"watermark":{"type":"boolean"},"resolution":{"type":"string"},"route_mode":{"type":"string"},"generate_audio":{"type":"boolean"}}},"id":"archived-0","model":"doubao-seed-evolving","provider":"ByteDance","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"content":[{"text":"In a neon-lit Tokyo neighborhood during a downpour, a young female delivery rider wearing a yellow functional rain jacket speeds through a crowded intersection on a black motorcycle. The camera begins with a close-up, low-angle shot following the front wheel as the tire races through puddles, sending water splashing toward the lens; the camera then quickly swings to the side of the motorcycle, moving parallel to her; she leans forward to avoid an autonomous taxi crossing the intersection, and finally speeds into a narrow alleyway lit by flashing red lights. The fast-paced yet crisp action, realistic rain effects, and fluid, continuous camerawork—with the character and motorcycle’s appearance remaining consistent throughout—create a cinematic action-movie feel.","type":"text"}],"duration":5,"generate_audio":true,"model":"doubao-seed-evolving","ratio":"16:9","resolution":"720p","route":{"provider":"ByteDance"},"route_mode":"balanced","watermark":false},"parameterSchema":[{"name":"content","label":"content","type":"json","valueType":"array","path":"/content","required":false,"omitEmpty":true},{"name":"duration","label":"duration","type":"number","valueType":"integer","path":"/duration","required":false,"omitEmpty":true},{"name":"generate_audio","label":"generate_audio","type":"boolean","valueType":"boolean","path":"/generate_audio","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true},{"name":"resolution","label":"resolution","type":"string","valueType":"string","path":"/resolution","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"watermark","label":"watermark","type":"boolean","valueType":"boolean","path":"/watermark","required":false,"omitEmpty":true}],"responseBody":{"id":"yy-cgt-190928547529883717c4896a303531456abec02c308ac335eb","seed":61102,"media":[{"key":"key-market/playgrounds/2026/08/10/2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","name":"cgt-20260810114447-knqp7.mp4","type":"video","mimeType":"video/mp4"}],"model":"doubao-seedance-2-0","ratio":"16:9","tools":[],"usage":{"total_tokens":108900,"completion_tokens":108900},"status":"succeeded","content":{"video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","kz_video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","last_frame_url":""},"duration":5,"video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","created_at":1786333487,"resolution":"720p","updated_at":1786333802,"generate_audio":true,"framespersecond":24,"openmodels_cost":1129116,"execution_expires_after":172800},"responseOrigin":"shared_playground_example","responseContainsPlaceholders":false,"requestOrigin":"configured_playground_with_supplier_binding","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"8ac26ff6-2e54-4c85-b9e8-8a677347d639","routeId":"63d0899a-254a-48ac-b8b6-778dba9816d1","model":"doubao-seed-evolving","provider":"ByteDance","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/doubao-color.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":827586,"completion":4137931,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":827586,"partnerCompletion":4137931,"partnerCacheCreationPrompt":23448,"partnerCacheReadPrompt":165517,"promptSource":6000000,"completionSource":30000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["video"],"description":"Doubao-Seed-Evolving continuously evolves on a weekly basis for coding and agent scenarios, delivering the latest capabilities through a unified model ID to efficiently enable complex tasks.","descriptionTranslations":{},"modelReleaseDate":"2026-06-26","supportedFeatures":["tool_calling","reasoning","reranking"],"contextWindowTokens":256000,"maxOutputTokens":256000,"cacheCreationPrompt":23448,"cacheReadPrompt":165517,"pricingTiers":[],"timePricingRules":[],"latency":1333,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"doubao-seed-evolving","operations":[],"availableModes":[]},"createdAt":"2026-06-27T00:56:46Z","updatedAt":"2026-07-20T11:34:59Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.37422","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.37422","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.070308","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.070308","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.7776","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 4K · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.7776","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1512","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1512","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.37422","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.37422","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.070308","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.070308","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.7776","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 4K · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.7776","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1512","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1512","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.37422","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.37422","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.070308","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.070308","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.7776","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 4K · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.7776","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1512","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1512","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ByteDance (Yir catalog estimate)"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0","upstreamModel":"bytedance/seedance-2.0","formats":[{"id":"yir:bytedance/seedance-2.0:text","model":"doubao-seedance-2-0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"doubao-seedance-2-0","parameters":{"aspect_ratio":"16:9","duration":4,"generate_audio":false,"n":1,"resolution":"480p","return_last_frame":false},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":4,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p","1080p","4K"],"allowedValues":["480p","720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16","adaptive"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16","adaptive"]},{"name":"return_last_frame","label":"Return last frame","description":"Return the final video frame as an additional image when supported by the selected supply.","type":"boolean","valueType":"boolean","path":"/parameters/return_last_frame","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bytedance/seedance-2.0:image","model":"doubao-seedance-2-0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"doubao-seedance-2-0","parameters":{"aspect_ratio":"16:9","duration":4,"generate_audio":false,"n":1,"resolution":"480p","return_last_frame":false},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":4,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p","1080p","4K"],"allowedValues":["480p","720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16","adaptive"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16","adaptive"]},{"name":"return_last_frame","label":"Return last frame","description":"Return the final video frame as an additional image when supported by the selected supply.","type":"boolean","valueType":"boolean","path":"/parameters/return_last_frame","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:bytedance/seedance-2.0:reference","model":"doubao-seedance-2-0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"doubao-seedance-2-0","parameters":{"aspect_ratio":"16:9","duration":4,"generate_audio":false,"n":1,"resolution":"480p","return_last_frame":false},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":4,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p","1080p","4K"],"allowedValues":["480p","720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16","adaptive"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16","adaptive"]},{"name":"return_last_frame","label":"Return last frame","description":"Return the final video frame as an additional image when supported by the selected supply.","type":"boolean","valueType":"boolean","path":"/parameters/return_last_frame","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":15,"referenceUrlOnly":true,"referenceConstraints":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"required_any_reference_roles":["reference_image","reference_video"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"6f6f840d-1a69-4178-8aa2-05d40182a1ea","routeId":"bb589a25-74a3-4b6b-ba97-117846f343a5","model":"doubao-seedance-2-0","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bytedance.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image","reference"]}}},"model":{"const":"bytedance/seedance-2.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":4,"maximum":15,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p","1080p","4K"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["21:9","16:9","4:3","1:1","3:4","9:16","adaptive"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."},"return_last_frame":{"enum":[false,true],"type":"boolean","default":false,"description":"Return the final video frame as an additional image when supported by the selected supply."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}},"reference":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"required_any_reference_roles":["reference_image","reference_video"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":66000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":66000,"partnerCompletion":0,"promptSource":66000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"ByteDance flagship video generation model supporting text, image, and multimodal reference inputs","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":354400,"catalogReferences":[{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"4s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":354400,"prompt":354400,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":12},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":13},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":14},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":15},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":16},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":17},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":18},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":19},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":20},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":21},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":22},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":23}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":354400,"catalogReferences":[{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"4s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":354400,"prompt":354400,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":66000,"catalogReferences":[{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"4s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":66000,"prompt":66000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":66000,"catalogReferences":[{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"4s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":66000,"prompt":66000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":722000,"catalogReferences":[{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"4s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":722000,"prompt":722000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":722000,"catalogReferences":[{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"4s · 4K · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":722000,"prompt":722000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":142000,"catalogReferences":[{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"4s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":142000,"prompt":142000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":142000,"catalogReferences":[{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"4s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":142000,"prompt":142000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":354400,"catalogReferences":[{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"4s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":354400,"prompt":354400,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":354400,"catalogReferences":[{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"4s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":354400,"prompt":354400,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":66000,"catalogReferences":[{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"4s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":66000,"prompt":66000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":66000,"catalogReferences":[{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"4s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":66000,"prompt":66000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":722000,"catalogReferences":[{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"4s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":722000,"prompt":722000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":722000,"catalogReferences":[{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"4s · 4K · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":722000,"prompt":722000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":142000,"catalogReferences":[{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"4s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":142000,"prompt":142000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":142000,"catalogReferences":[{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"4s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":142000,"prompt":142000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":354400,"catalogReferences":[{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"4s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":354400,"prompt":354400,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":354400,"catalogReferences":[{"unit":"second","amount":"0.3544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"4s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":354400,"prompt":354400,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":66000,"catalogReferences":[{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"4s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":66000,"prompt":66000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":66000,"catalogReferences":[{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"4s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":66000,"prompt":66000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":722000,"catalogReferences":[{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"4s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":722000,"prompt":722000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":722000,"catalogReferences":[{"unit":"second","amount":"0.722","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 4K · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"4s · 4K · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":722000,"prompt":722000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":142000,"catalogReferences":[{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"4s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":142000,"prompt":142000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":142000,"catalogReferences":[{"unit":"second","amount":"0.142","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"4s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":142000,"prompt":142000,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"doubao-seedance-2-0","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:55Z","updatedAt":"2026-10-31T09:28:55Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.056247","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.056247","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.12096","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.12096","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.056247","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.056247","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.12096","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.12096","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.056247","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.056247","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.12096","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.12096","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ByteDance (Yir catalog estimate)"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0-fast","upstreamModel":"bytedance/seedance-2.0-fast","formats":[{"id":"yir:bytedance/seedance-2.0-fast:text","model":"doubao-seedance-2-0-fast","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"doubao-seedance-2-0-fast","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0-fast","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bytedance/seedance-2.0-fast:image","model":"doubao-seedance-2-0-fast","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"doubao-seedance-2-0-fast","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0-fast","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:bytedance/seedance-2.0-fast:reference","model":"doubao-seedance-2-0-fast","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"doubao-seedance-2-0-fast","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":15,"referenceUrlOnly":true,"referenceConstraints":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"required_any_reference_roles":["reference_image","reference_video"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0-fast","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"157fc9c7-bae0-415c-bb87-80b7b3706f42","routeId":"4bd195ff-4deb-4906-b167-bb7b95769c23","model":"doubao-seedance-2-0-fast","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bytedance.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image","reference"]}}},"model":{"const":"bytedance/seedance-2.0-fast"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}},"reference":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"required_any_reference_roles":["reference_image","reference_video"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":39840,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":39840,"partnerCompletion":0,"promptSource":39840,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"ByteDance high-speed cost-effective video model with fast turn-around","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":39840,"catalogReferences":[{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":39840,"prompt":39840,"rangeStart":0,"resolution":"480p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":39840,"catalogReferences":[{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":39840,"prompt":39840,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":85600,"catalogReferences":[{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":85600,"prompt":85600,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":85600,"catalogReferences":[{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":85600,"prompt":85600,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":39840,"catalogReferences":[{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":39840,"prompt":39840,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":39840,"catalogReferences":[{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":39840,"prompt":39840,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":85600,"catalogReferences":[{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":85600,"prompt":85600,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":85600,"catalogReferences":[{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":85600,"prompt":85600,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":39840,"catalogReferences":[{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":39840,"prompt":39840,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":39840,"catalogReferences":[{"unit":"second","amount":"0.03984","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":39840,"prompt":39840,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":85600,"catalogReferences":[{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":85600,"prompt":85600,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":85600,"catalogReferences":[{"unit":"second","amount":"0.0856","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-fast","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":85600,"prompt":85600,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"doubao-seedance-2-0-fast","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:55Z","updatedAt":"2026-10-31T09:28:55Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · auto · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 1080p · auto · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.56862","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · auto · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.1028","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · auto · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · auto · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.1028","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.2312","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · auto · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · auto · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.2312","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.56862","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.102801","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.102801","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.23112","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.23112","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.56862","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.102801","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.102801","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.23112","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.23112","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ByteDance (Yir catalog estimate)"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-5","upstreamModel":"bytedance/seedance-2.5","formats":[{"id":"yir:bytedance/seedance-2.5:text","model":"doubao-seedance-2-5","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"doubao-seedance-2-5","parameters":{"aspect_ratio":"16:9","duration":4,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":4,"min":4,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["auto","21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["auto","21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"size","label":"Exact size","description":"Exact output pixels; only explicitly compatible supplies are eligible. Conflicting resolution/aspect ratio is rejected.","type":"select","valueType":"string","path":"/parameters/size","required":false,"options":["1920x1080"],"readOnly":true,"allowedValues":["1920x1080"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-5","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bytedance/seedance-2.5:image","model":"doubao-seedance-2-5","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"doubao-seedance-2-5","parameters":{"aspect_ratio":"auto","duration":4,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":4,"min":4,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-5","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:bytedance/seedance-2.5:reference","model":"doubao-seedance-2-5","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"doubao-seedance-2-5","parameters":{"aspect_ratio":"16:9","duration":4,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds. With a reference video, \"auto\" follows the input video for edits; aspect_ratio must also be auto.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":4,"min":4,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["auto","21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["auto","21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":50,"referenceUrlOnly":true,"referenceConstraints":{"max_references":50,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":10,"minimum":0},"reference_image":{"maximum":30,"minimum":0},"reference_video":{"maximum":10,"minimum":0}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-5","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"6111709d-ca72-4573-93be-1ce6109fcf2e","routeId":"f3d9119a-030d-41ab-a8f9-0a40c3a68564","model":"doubao-seedance-2-5","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bytedance.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"bytedance/seedance-2.5"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"size":{"enum":["1920x1080"],"type":"string","description":"Exact output pixels; only explicitly compatible supplies are eligible. Conflicting resolution/aspect ratio is rejected."},"duration":{"type":"integer","default":4,"maximum":30,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto","21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"bytedance/seedance-2.5"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":4,"maximum":30,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"bytedance/seedance-2.5"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"anyOf":[{"type":"integer","maximum":30,"minimum":4,"description":"Output video duration in seconds. With a reference video, \"auto\" follows the input video for edits; aspect_ratio must also be auto."},{"enum":["auto"],"type":"string"}],"default":4},"resolution":{"enum":["480p","720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto","21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":50,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":10,"minimum":0},"reference_image":{"maximum":30,"minimum":0},"reference_video":{"maximum":10,"minimum":0}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":96080,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":96080,"partnerCompletion":0,"promptSource":96080,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"ByteDance next-gen video model supporting up to 30s duration and multimodal references","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":790000,"catalogReferences":[{"unit":"second","amount":"0.79","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 1080p · auto · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"1s · 1080p · auto · no audio","partnerCompletion":0,"partnerPrompt":790000,"prompt":790000,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":12},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":13},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":14}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.79","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 1080p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.1028","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.1028","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.2312","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.2312","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.38488","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.09608","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.09608","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.38488","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.09608","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.09608","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":102800,"catalogReferences":[{"unit":"second","amount":"0.1028","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"1s · 480p · auto · audio","partnerCompletion":0,"partnerPrompt":102800,"prompt":102800,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":102800,"catalogReferences":[{"unit":"second","amount":"0.1028","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · auto · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"1s · 480p · auto · no audio","partnerCompletion":0,"partnerPrompt":102800,"prompt":102800,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":231200,"catalogReferences":[{"unit":"second","amount":"0.2312","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"1s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":231200,"prompt":231200,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":231200,"catalogReferences":[{"unit":"second","amount":"0.2312","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · auto · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"1s · 720p · auto · no audio","partnerCompletion":0,"partnerPrompt":231200,"prompt":231200,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":384880,"catalogReferences":[{"unit":"second","amount":"0.38488","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"1s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":384880,"prompt":384880,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":96080,"catalogReferences":[{"unit":"second","amount":"0.09608","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"1s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":96080,"prompt":96080,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":96080,"catalogReferences":[{"unit":"second","amount":"0.09608","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"1s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":96080,"prompt":96080,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":216000,"catalogReferences":[{"unit":"second","amount":"0.216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"1s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":216000,"prompt":216000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":216000,"catalogReferences":[{"unit":"second","amount":"0.216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"1s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":216000,"prompt":216000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":384880,"catalogReferences":[{"unit":"second","amount":"0.38488","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"1s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":384880,"prompt":384880,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":96080,"catalogReferences":[{"unit":"second","amount":"0.09608","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"1s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":96080,"prompt":96080,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":96080,"catalogReferences":[{"unit":"second","amount":"0.09608","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"1s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":96080,"prompt":96080,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":216000,"catalogReferences":[{"unit":"second","amount":"0.216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"1s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":216000,"prompt":216000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":216000,"catalogReferences":[{"unit":"second","amount":"0.216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.5","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"1s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":216000,"prompt":216000,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"doubao-seedance-2-5","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:12Z","updatedAt":"2026-11-02T02:00:15Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"doubao-seedance-2-5-260628","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","content"],"properties":{"seed":{"type":"integer","default":-1,"maximum":4294967295,"minimum":-1,"description":"Random seed for controlling generation randomness. -1 means random. Seedance 2.0 series currently does not support this parameter."},"draft":{"type":"boolean","default":false,"description":"Whether to enable draft mode. Supported only by Seedance 1.5 Pro. Draft mode uses 480p resolution, does not support return_last_frame, and does not support offline inference."},"model":{"type":"string","description":"Model ID or Endpoint ID to call."},"ratio":{"enum":["16:9","4:3","1:1","3:4","9:16","21:9","adaptive"],"type":"string","description":"Generated video aspect ratio. Seedance 2.0 series and Seedance 1.5 Pro default to adaptive. example:16:9、4:3、1:1、3:4、9:16、21:9、adaptive"},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"enum":["web_search"],"type":"string","description":"Tool type. web_search enables online search capability."}}},"description":"Tools available to the model. Supported by Seedance 2.0 series."},"frames":{"type":"integer","maximum":289,"minimum":29,"description":"Generated video frame count. frames has higher priority than duration. Supported values are integers in [29,289] matching 25 + 4n. Seedance 2.0 series and Seedance 1.5 Pro currently do not support this parameter."},"content":{"type":"array","items":{"type":"object","required":["type"],"properties":{"role":{"enum":["first_frame","last_frame","reference_image","reference_video","reference_audio"],"type":"string","description":"Role or purpose of the media input. Use first_frame/last_frame for first/last frame image generation, reference_image for reference images, reference_video for reference videos, and reference_audio for reference audio."},"text":{"type":"string","description":"Text prompt describing the expected video. Chinese and English are supported; Seedance 2.0 also supports Japanese, Indonesian, Spanish, and Portuguese."},"type":{"enum":["text","image_url","video_url","audio_url","draft_task"],"type":"string","description":"Input content type."},"audio_url":{"type":"object","properties":{"url":{"type":"string","description":"Audio URL, base64 audio data, or asset ID. Base64 format example: data:audio/wav;base64,{base64_audio}."}},"description":"Audio input object. Audio input is supported by Seedance 2.0 series and cannot be used alone; at least one reference image or video is required."},"image_url":{"type":"object","properties":{"url":{"type":"string","description":"Image URL, base64 image data, or asset ID. Asset ID format: asset://."}},"description":"Image input object."},"video_url":{"type":"object","properties":{"url":{"type":"string","description":"Video URL or asset ID. Asset ID format: asset://."}},"description":"Video input object. Video input is supported by Seedance 2.0 series."},"draft_task":{"type":"object","properties":{"id":{"type":"string","description":"Draft video task ID."}},"description":"Draft task object. Supported by Seedance 1.5 Pro for generating final video from a draft video task."}}},"description":"Input content for video generation. Supports text, image, audio, video, and draft task ID."},"duration":{"type":"integer","default":5,"description":"Generated video duration in seconds. duration and frames are mutually optional; frames has higher priority. Seedance 2.0 supports integers in [4,15] or -1 for automatic duration."},"priority":{"type":"integer","default":0,"maximum":9,"minimum":0,"description":"Execution priority for Seedance 2.0 series. Higher values are scheduled earlier in the queue. Not supported when service_tier is flex."},"watermark":{"type":"boolean","default":false,"description":"Whether the generated video contains an AI-generated watermark."},"resolution":{"enum":["480p","720p","1080p","4k"],"type":"string","description":"Video resolution. Seedance 2.0 series and Seedance 1.5 Pro default to 720p. Seedance 1.0 Pro and Pro Fast default to 1080p. 4k is supported only by Seedance 2.0."},"callback_url":{"type":"string","description":"Callback URL for task status updates. The callback body is consistent with the query task API response."},"camera_fixed":{"type":"boolean","default":false,"description":"Whether to fix the camera. Reference image scenarios and Seedance 2.0 series currently do not support this parameter."},"service_tier":{"enum":["default","flex"],"type":"string","default":"default","description":"Service tier. default means online inference; flex means offline inference. Seedance 2.0 series only supports online inference and does not support this parameter."},"generate_audio":{"type":"boolean","default":true,"description":"Whether to generate synchronized audio. Supported by Seedance 2.0 series and Seedance 1.5 Pro. true generates voice, sound effects, and background music; false generates silent video."},"return_last_frame":{"type":"boolean","default":false,"description":"Whether to return the last frame image of the generated video. The last frame can be retrieved from the query task API."},"safety_identifier":{"type":"string","description":"Stable and unique end-user identifier for safety detection. Use an English string up to 64 characters. Avoid private user information; hashed user ID is recommended."},"execution_expires_after":{"type":"integer","default":172800,"maximum":259200,"minimum":3600,"description":"Task expiration threshold in seconds, calculated from the created_at timestamp. Default is 172800 seconds, or 48 hours."}}},"id":"archived-0","model":"doubao-seedance-2-5","provider":"Neolink","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"content":[{"text":"Generate a 5-second video of a divine dragon flying into the sky.","type":"text"}],"duration":5,"generate_audio":true,"model":"doubao-seedance-2-5","ratio":"16:9","resolution":"720p","route":{"provider":"Neolink"},"route_mode":"balanced","watermark":false},"parameterSchema":[{"name":"callback_url","label":"callback_url","description":"Callback URL for task status updates. The callback body is consistent with the query task API response.","type":"string","valueType":"string","path":"/callback_url","required":false,"omitEmpty":true},{"name":"camera_fixed","label":"camera_fixed","description":"Whether to fix the camera. Reference image scenarios and Seedance 2.0 series currently do not support this parameter.","type":"boolean","valueType":"boolean","path":"/camera_fixed","required":false,"defaultValue":false,"omitEmpty":true},{"name":"content","label":"content","description":"Input content for video generation. Supports text, image, audio, video, and draft task ID.","type":"json","valueType":"array","path":"/content","required":true},{"name":"draft","label":"draft","description":"Whether to enable draft mode. Supported only by Seedance 1.5 Pro. Draft mode uses 480p resolution, does not support return_last_frame, and does not support offline inference.","type":"boolean","valueType":"boolean","path":"/draft","required":false,"defaultValue":false,"omitEmpty":true},{"name":"duration","label":"duration","description":"Generated video duration in seconds. duration and frames are mutually optional; frames has higher priority. Seedance 2.0 supports integers in [4,15] or -1 for automatic duration.","type":"number","valueType":"integer","path":"/duration","required":false,"defaultValue":5,"omitEmpty":true},{"name":"execution_expires_after","label":"execution_expires_after","description":"Task expiration threshold in seconds, calculated from the created_at timestamp. Default is 172800 seconds, or 48 hours.","type":"number","valueType":"integer","path":"/execution_expires_after","required":false,"defaultValue":172800,"min":3600,"max":259200,"omitEmpty":true},{"name":"frames","label":"frames","description":"Generated video frame count. frames has higher priority than duration. Supported values are integers in [29,289] matching 25 + 4n. Seedance 2.0 series and Seedance 1.5 Pro currently do not support this parameter.","type":"number","valueType":"integer","path":"/frames","required":false,"min":29,"max":289,"omitEmpty":true},{"name":"generate_audio","label":"generate_audio","description":"Whether to generate synchronized audio. Supported by Seedance 2.0 series and Seedance 1.5 Pro. true generates voice, sound effects, and background music; false generates silent video.","type":"boolean","valueType":"boolean","path":"/generate_audio","required":false,"defaultValue":true,"omitEmpty":true},{"name":"model","label":"model","description":"Model ID or Endpoint ID to call.","type":"string","valueType":"string","path":"/model","required":true},{"name":"priority","label":"priority","description":"Execution priority for Seedance 2.0 series. Higher values are scheduled earlier in the queue. Not supported when service_tier is flex.","type":"number","valueType":"integer","path":"/priority","required":false,"defaultValue":0,"min":0,"max":9,"omitEmpty":true},{"name":"ratio","label":"ratio","description":"Generated video aspect ratio. Seedance 2.0 series and Seedance 1.5 Pro default to adaptive. example:16:9、4:3、1:1、3:4、9:16、21:9、adaptive","type":"string","valueType":"string","path":"/ratio","required":false,"allowedValues":["16:9","4:3","1:1","3:4","9:16","21:9","adaptive"],"omitEmpty":true},{"name":"resolution","label":"resolution","description":"Video resolution. Seedance 2.0 series and Seedance 1.5 Pro default to 720p. Seedance 1.0 Pro and Pro Fast default to 1080p. 4k is supported only by Seedance 2.0.","type":"string","valueType":"string","path":"/resolution","required":false,"allowedValues":["480p","720p","1080p","4k"],"omitEmpty":true},{"name":"return_last_frame","label":"return_last_frame","description":"Whether to return the last frame image of the generated video. The last frame can be retrieved from the query task API.","type":"boolean","valueType":"boolean","path":"/return_last_frame","required":false,"defaultValue":false,"omitEmpty":true},{"name":"safety_identifier","label":"safety_identifier","description":"Stable and unique end-user identifier for safety detection. Use an English string up to 64 characters. Avoid private user information; hashed user ID is recommended.","type":"string","valueType":"string","path":"/safety_identifier","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Random seed for controlling generation randomness. -1 means random. Seedance 2.0 series currently does not support this parameter.","type":"number","valueType":"integer","path":"/seed","required":false,"defaultValue":-1,"min":-1,"max":4294967295,"omitEmpty":true},{"name":"service_tier","label":"service_tier","description":"Service tier. default means online inference; flex means offline inference. Seedance 2.0 series only supports online inference and does not support this parameter.","type":"string","valueType":"string","path":"/service_tier","required":false,"defaultValue":"default","allowedValues":["default","flex"],"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model. Supported by Seedance 2.0 series.","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"watermark","label":"watermark","description":"Whether the generated video contains an AI-generated watermark.","type":"boolean","valueType":"boolean","path":"/watermark","required":false,"defaultValue":false,"omitEmpty":true}],"responseBody":{"id":"yy-cgt-190928547529883717c4896a303531456abec02c308ac335eb","seed":61102,"media":[{"key":"key-market/playgrounds/2026/08/10/2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","name":"cgt-20260810114447-knqp7.mp4","type":"video","mimeType":"video/mp4"}],"model":"doubao-seedance-2-5-260628","ratio":"16:9","tools":[],"usage":{"total_tokens":108900,"completion_tokens":108900},"status":"succeeded","content":{"video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","kz_video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","last_frame_url":""},"duration":5,"video_url":"/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F08%2F10%2F2ae7f003-cc95-4656-860a-12a93152f0e0.mp4","created_at":1786333487,"resolution":"720p","updated_at":1786333802,"generate_audio":true,"framespersecond":24,"openmodels_cost":1129116,"execution_expires_after":172800},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"0dd8fed8-545b-4d1a-b6f2-5e36686a01cf","routeId":"16d6b6c5-291a-4886-a455-5e8643520e0a","model":"doubao-seedance-2-5","provider":"Neolink","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/contents/generations/tasks","method":"POST"},{"type":"get","path":"/v1/contents/generations/tasks/{task_id}","method":"GET"}],"curlExample":"curl 'https://api.openany.si/v1/videos' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"doubao-seedance-2-5\",\n  \"route_mode\": \"balanced\",\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Generate a 5-second video of a divine dragon flying into the sky.\"\n    }\n  ],\n  \"generate_audio\": true,\n  \"resolution\": \"720p\",\n  \"ratio\": \"16:9\",\n  \"duration\": 5,\n  \"watermark\": false\n}'\n\n\ncurl 'https://api.openany.si/v1/videos/YOUR_TASK_ID' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":0,"completion":5213793,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":0,"partnerCompletion":4866207,"promptSource":0,"completionSource":37800000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat","image","audio","video"],"outModalities":["video"],"description":"Seedance 2.5 is a next-generation multimodal video creation model developed by the Doubao foundation model team. It marks a new, production-grade stage defined by long-form storytelling, strong reference adherence, precise editing, and multilingual support.","descriptionTranslations":{"ar":"Seedance 2.5 هو الجيل الجديد من نماذج إنشاء الفيديو متعددة الوسائط، وقد طوره فريق Doubao للنماذج الكبيرة. ويمثل مرحلة صناعية جديدة تتميز بالسرد الطويل، والالتزام القوي بالمراجع، والتحرير الدقيق، ودعم لغات متعددة.","ja":"Seedance 2.5は、Doubao大規模モデルチームが開発した次世代のマルチモーダル動画制作モデルです。「長編ナラティブ、優れた参照再現性、高精度な編集、多言語対応」を備えた、産業利用レベルの新たな段階へ進化しています。","zh":"Seedance 2.5 是豆包大模型团队推出的新一代多模态视频创作模型，已迈入兼具长叙事、强参考、高精度编辑和多语言能力的工业级新阶段。"},"modelReleaseDate":"2026-08-09","supportedFeatures":["vision"],"pricingTiers":[{"actualCompletion":56000000,"actualPrompt":0,"completion":8689655,"inputMode":"input_with_video","label":"480p/720p input without video","partnerCompletion":8110345,"partnerPrompt":0,"prompt":0,"rangeStart":0,"resolution":"480p/720p"},{"actualCompletion":33600000,"actualPrompt":0,"completion":5213793,"inputMode":"input_without_video","label":"480p/720p input with video","partnerCompletion":4866207,"partnerPrompt":0,"prompt":0,"rangeStart":0,"resolution":"480p/720p"}],"timePricingRules":[],"latency":255,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"doubao-seedance-2-5","operations":[],"availableModes":[]},"createdAt":"2026-08-10T03:14:39Z","updatedAt":"2026-10-28T08:29:12Z"},{"officialPricing":{"unit":"character","prices":[{"unit":"character","match":{"kind":"tier","label":"1000 characters","rangeEnd":null,"inputMode":"t2a","conditions":{"references":[{"unit":"character","quantity":1000,"conditions":{"operation":"generate_speech","dimensions":[{"name":"n","value":"1"},{"name":"characters","value":"1000"}],"input_mode":"text","request_model_id":"elevenlabs/eleven-v3","specification_label":"1000 characters"}}]},"rangeStart":0,"resolution":""},"price":"0.08","quantity":1000}],"currency":"USD","quantity":1000,"checkedAt":"2026-10-31","publisher":"ElevenLabs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/elevenlabs/eleven-v3","upstreamModel":"elevenlabs/eleven-v3","formats":[{"id":"yir:elevenlabs/eleven-v3:text","model":"eleven-v3","provider":"yir","endpointPath":"/v1/audios","upstreamPath":"/v1/audio/generations","queryEndpointPath":"/v1/audios/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"speech","inputMode":"text","displayName":"Speech","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"Good morning. The city is still waking up.","systemPrompt":"","resolution":"","requestTemplate":{"input":{"prompt":"Good morning. The city is still waking up.","type":"text"},"model":"eleven-v3","parameters":{"n":1,"voice":"JBFqnCBsd6RMkjVDRZzb"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"Good morning. The city is still waking up.","minLength":1,"maxLength":10000},{"name":"voice","label":"Voice","description":"Preset voice ID of this model (for example a MiniMax system voice or an ElevenLabs voice ID). The price does not depend on the voice.","type":"string","valueType":"string","path":"/parameters/voice","required":false,"defaultValue":"JBFqnCBsd6RMkjVDRZzb"},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/elevenlabs/eleven-v3","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"5eda459a-a6e1-41cb-9cfa-e818e81bdeb5","routeId":"e198898e-1f32-4634-86cc-583c134b1b9e","model":"eleven-v3","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/providers/elevenlabs.svg?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/audio/generations","method":"POST","default":true,"task_kind":"audio_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"audio_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardMusicGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"elevenlabs/eleven-v3"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"voice":{"type":"string","default":"JBFqnCBsd6RMkjVDRZzb","description":"Preset voice ID of this model (for example a MiniMax system voice or an ElevenLabs voice ID). The price does not depend on the voice."}}}},"x-yir-operation":"generate_speech","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardMusicTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"lyrics":{"type":"string","pattern":"\\S","maxLength":5000,"minLength":1,"description":"Song lyrics, lines separated by \\n; structure tags such as [Verse] and [Chorus] are allowed. Only models that accept custom lyrics take this field (per-model limit in the model contract). For vocal music send lyrics, parameters.lyrics_optimizer or parameters.instrumental as the model supports; omit it when parameters.instrumental or parameters.lyrics_optimizer is true. Sound effects take no lyrics."},"prompt":{"type":"string","pattern":"\\S","maxLength":10000,"minLength":1,"description":"Style, mood and scenario of the music, the description of a sound effect, or for text-to-speech models the exact text to read aloud (billed per character, spaces, punctuation and audio tags included). The per-model limit is in the model contract (for example 2000 for MiniMax music, 1000 for Suno, 450 for ElevenLabs sound effects, 5000 for ElevenLabs v3 and 10000 for MiniMax Speech)."}},"additionalProperties":false},"StandardMusicParameters":{"type":"object","properties":{"n":{"enum":[1,2],"type":"integer","description":"Tracks per Job. Most models make one; Suno always makes two per request."},"voice":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 _().\\-]{0,127}$","maxLength":128,"minLength":1,"description":"Text-to-speech models only: a preset voice ID of the model (for example a MiniMax system voice such as Chinese (Mandarin)_News_Anchor or an ElevenLabs voice ID). Omit for the model default; the voice does not change the price."},"duration":{"type":"integer","maximum":300,"minimum":1,"description":"Output length in seconds, only for models priced by length (ElevenLabs music and sound effects). Allowed values and the default come from the model contract; the price follows this length."},"instrumental":{"type":"boolean","default":false,"description":"Generate music without vocals. Omit input.lyrics and lyrics_optimizer."},"lyrics_optimizer":{"type":"boolean","default":false,"description":"Write the lyrics from the prompt. Omit input.lyrics. Some models add a lyrics-writing charge shown in the quote."}},"description":"Optional music, sound-effect and text-to-speech parameters; omitted fields take the model's defaults, and a model accepts only the parameters its contract declares. There is no tempo or key control; delivered audio reports its measured duration.","additionalProperties":false},"StandardMusicGenerationRequest":{"type":"object","required":["model","input"],"properties":{"input":{"$ref":"#/components/schemas/StandardMusicTextInput"},"model":{"type":"string","minLength":1,"description":"Music model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"$ref":"#/components/schemas/StandardMusicParameters"},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Music or sound-effect request: one Job delivers the tracks the model makes per request (one for most models, two for Suno) as audio files behind short-lived links.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":80,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":80,"partnerCompletion":0,"promptSource":80,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_tiered","billingUnit":"character","modalities":["tts"],"outModalities":["audio"],"description":"ElevenLabs expressive text-to-speech model with audio tags such as [whispers] for delivery control","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":80,"catalogReferences":[{"unit":"character","amount":"0.08","origin":"official","currency":"USD","quantity":1000,"checkedAt":"2026-10-30T07:30:29.040141+00:00","sourceUrl":"https://yir.ai/models/eleven-v3","conditions":{"operation":"generate_speech","dimensions":[{"name":"n","value":"1"},{"name":"characters","value":"1000"}],"input_mode":"text","request_model_id":"elevenlabs/eleven-v3","specification_label":"1000 characters"},"approximate":false}],"completion":0,"inputMode":"t2a","label":"1000 characters","partnerCompletion":0,"partnerPrompt":80,"prompt":80,"rangeStart":0,"yirPricingMapping":{"status":"mapped","reviews":[],"sourcePricing":{"mode":"reference","prices":[{"unit":"character","amount":"0.08","origin":"official","currency":"USD","quantity":1000,"checkedAt":"2026-10-30T07:30:29.040141+00:00","sourceUrl":"https://yir.ai/models/eleven-v3","conditions":{"operation":"generate_speech","dimensions":[{"name":"n","value":"1"},{"name":"characters","value":"1000"}],"input_mode":"text","request_model_id":"elevenlabs/eleven-v3","specification_label":"1000 characters"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"eleven-v3","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:11:10Z","updatedAt":"2026-10-31T09:11:10Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1 MP · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-2-flex","specification_label":"1 MP · 1:1"}}]},"rangeStart":0,"resolution":"1mp"},"price":"0.05","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Black Forest Labs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bfl/flux-2-flex","upstreamModel":"bfl/flux-2-flex","formats":[{"id":"yir:bfl/flux-2-flex:text","model":"flux-2-flex","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1MP","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"flux-2-flex","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1MP"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1MP","options":["1MP"],"readOnly":true,"allowedValues":["1MP"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16"],"allowedValues":["1:1","4:3","3:4","16:9","9:16"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-2-flex","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"11004f4e-f62e-40d4-8e0b-1a6e3d2fa64c","routeId":"b180bea5-5bc6-4ca2-a77f-9c043e0a95d9","model":"flux-2-flex","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bfl.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"bfl/flux-2-flex"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1MP"],"type":"string","default":"1MP","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":40000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":40000,"partnerCompletion":0,"promptSource":40000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"BFL high-flexibility image generation model balancing quality and speed","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":40000,"catalogReferences":[{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-2-flex","specification_label":"1 MP · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1 MP · 1:1","partnerCompletion":0,"partnerPrompt":40000,"prompt":40000,"rangeStart":0,"resolution":"1mp","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-2-flex","specification_label":"1 MP · 1:1"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"flux-2-flex","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:21:25Z","updatedAt":"2026-10-31T09:21:25Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1 MP · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-2-max","specification_label":"1 MP · 1:1"}}]},"rangeStart":0,"resolution":"1mp"},"price":"0.07","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Black Forest Labs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bfl/flux-2-max","upstreamModel":"bfl/flux-2-max","formats":[{"id":"yir:bfl/flux-2-max:text","model":"flux-2-max","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1MP","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"flux-2-max","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1MP"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1MP","options":["1MP"],"readOnly":true,"allowedValues":["1MP"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1"],"readOnly":true,"allowedValues":["1:1"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-2-max","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"3e25c59a-a03b-4cc2-bf5b-fb0604e4e629","routeId":"70fc765f-e01b-4a43-a2b1-acfd44f656f4","model":"flux-2-max","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bfl.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"bfl/flux-2-max"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1MP"],"type":"string","default":"1MP","description":"Output resolution."},"aspect_ratio":{"enum":["1:1"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":56000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":56000,"partnerCompletion":0,"promptSource":56000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"BFL maximum fidelity image model for cinematic art and commercial design","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":56000,"catalogReferences":[{"unit":"image","amount":"0.056","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-2-max","specification_label":"1 MP · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1 MP · 1:1","partnerCompletion":0,"partnerPrompt":56000,"prompt":56000,"rangeStart":0,"resolution":"1mp","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.056","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-2-max","specification_label":"1 MP · 1:1"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"flux-2-max","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:21:25Z","updatedAt":"2026-10-31T09:21:25Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1 MP · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-2-pro","specification_label":"1 MP · 1:1"}}]},"rangeStart":0,"resolution":"1mp"},"price":"0.045","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1 MP · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-2-pro","specification_label":"1 MP · 1:1"}}]},"rangeStart":0,"resolution":"1mp"},"price":"0.03","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Black Forest Labs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bfl/flux-2-pro","upstreamModel":"bfl/flux-2-pro","formats":[{"id":"yir:bfl/flux-2-pro:text","model":"flux-2-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1MP","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"flux-2-pro","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1MP"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1MP","options":["1MP"],"readOnly":true,"allowedValues":["1MP"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16"],"allowedValues":["1:1","4:3","3:4","16:9","9:16"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-2-pro","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bfl/flux-2-pro:image","model":"flux-2-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1MP","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"flux-2-pro","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1MP"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1MP","options":["1MP"],"readOnly":true,"allowedValues":["1MP"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16"],"allowedValues":["1:1","4:3","3:4","16:9","9:16"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":8,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":8,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-2-pro","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"53b3d0dd-7b65-4dd0-9747-4677c2cb8d7b","routeId":"9c2ae72b-ea5c-458a-8e14-8153298f3f67","model":"flux-2-pro","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bfl.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"bfl/flux-2-pro"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1MP"],"type":"string","default":"1MP","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":8,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":24000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":24000,"partnerCompletion":0,"promptSource":24000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Black Forest Labs flagship professional image generation model","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":36000,"catalogReferences":[{"unit":"image","amount":"0.036","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-2-pro","specification_label":"1 MP · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1 MP · 1:1","partnerCompletion":0,"partnerPrompt":36000,"prompt":36000,"rangeStart":0,"resolution":"1mp","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.036","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-2-pro","specification_label":"1 MP · 1:1"},"approximate":false},{"unit":"image","amount":"0.024","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-2-pro","specification_label":"1 MP · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":24000,"catalogReferences":[{"unit":"image","amount":"0.024","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-2-pro","specification_label":"1 MP · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1 MP · 1:1","partnerCompletion":0,"partnerPrompt":24000,"prompt":24000,"rangeStart":0,"resolution":"1mp"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"flux-2-pro","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:21:25Z","updatedAt":"2026-10-31T09:21:25Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"1s · 1080p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-max","specification_label":"5s · 1080p · auto · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.29","quantity":1},{"unit":"second","match":{"kind":"tier","label":"1s · 720p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-max","specification_label":"5s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.17","quantity":1},{"unit":"second","match":{"kind":"tier","label":"1s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-max","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.29","quantity":1},{"unit":"second","match":{"kind":"tier","label":"1s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-max","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.17","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-11-02","publisher":"Flux"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bfl/flux-3-max","upstreamModel":"bfl/flux-3-max","formats":[{"id":"yir:bfl/flux-3-max:text","model":"flux-3-max","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"flux-3-max","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":20},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-3-max","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bfl/flux-3-max:image","model":"flux-3-max","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"flux-3-max","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":20},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-3-max","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"b146a266-bda4-4ccd-ab76-26217a9c77b3","routeId":"c2443bce-ee64-4e7c-8cda-21f1f8d895d2","model":"flux-3-max","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bfl.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"bfl/flux-3-max"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":20,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"bfl/flux-3-max"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":20,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":42500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":42500,"partnerCompletion":0,"promptSource":42500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"FLUX 3 Video post-trained by fal for fast video generation with native audio","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":72500,"catalogReferences":[{"unit":"second","amount":"0.0725","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-max","specification_label":"5s · 1080p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"1s · 1080p · auto · audio","partnerCompletion":0,"partnerPrompt":72500,"prompt":72500,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.0725","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-max","specification_label":"5s · 1080p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.0425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-max","specification_label":"5s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.0725","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-max","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-max","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":42500,"catalogReferences":[{"unit":"second","amount":"0.0425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-max","specification_label":"5s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"1s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":42500,"prompt":42500,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":72500,"catalogReferences":[{"unit":"second","amount":"0.0725","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-max","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"1s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":72500,"prompt":72500,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":42500,"catalogReferences":[{"unit":"second","amount":"0.0425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-max","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"1s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":42500,"prompt":42500,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"flux-3-max","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:25Z","updatedAt":"2026-11-02T07:40:55Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 4K · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-video","specification_label":"5s · 4K · auto · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.41","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-video","specification_label":"5s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.15","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-video","specification_label":"5s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.41","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-video","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.15","quantity":1},{"unit":"second","match":{"kind":"tier","label":"1s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-video","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.150","quantity":1},{"unit":"second","match":{"kind":"tier","label":"1s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-video","specification_label":"5s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.41","quantity":1},{"unit":"second","match":{"kind":"tier","label":"1s · 720p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-video","specification_label":"5s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.150","quantity":1},{"unit":"second","match":{"kind":"tier","label":"1s · 4K · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-video","specification_label":"5s · 4K · auto · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.41","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Black Forest Labs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bfl/flux-3-video","upstreamModel":"bfl/flux-3-video","formats":[{"id":"yir:bfl/flux-3-video:text","model":"flux-3-video","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"flux-3-video","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":20},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p","2K","4K"],"allowedValues":["720p","1080p","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-3-video","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bfl/flux-3-video:image","model":"flux-3-video","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"flux-3-video","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":20},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p","2K","4K"],"allowedValues":["720p","1080p","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"first_frame","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"],"reference_counts_by_role":{"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-3-video","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"47872c02-9180-4838-8f75-899e73321167","routeId":"66480bd4-8afd-4f72-af43-cf2c90f165c3","model":"flux-3-video","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bfl.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"bfl/flux-3-video"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":20,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p","2K","4K"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"bfl/flux-3-video"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":20,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p","2K","4K"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"],"reference_counts_by_role":{"first_frame":{"maximum":1,"minimum":1}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":136000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":136000,"partnerCompletion":0,"promptSource":136000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Black Forest Labs video generation with native audio and up to 4K output","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":410000,"catalogReferences":[{"unit":"second","amount":"0.41","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-video","specification_label":"5s · 4K · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"1s · 4K · auto · audio","partnerCompletion":0,"partnerPrompt":410000,"prompt":410000,"rangeStart":0,"resolution":"4k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.41","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-video","specification_label":"5s · 4K · auto · audio"},"approximate":false},{"unit":"second","amount":"0.136","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-video","specification_label":"5s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.41","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-video","specification_label":"5s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.136","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-video","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":136000,"catalogReferences":[{"unit":"second","amount":"0.136","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-3-video","specification_label":"5s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"1s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":136000,"prompt":136000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":410000,"catalogReferences":[{"unit":"second","amount":"0.41","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-video","specification_label":"5s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"1s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":410000,"prompt":410000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":136000,"catalogReferences":[{"unit":"second","amount":"0.136","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-3-video","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"1s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":136000,"prompt":136000,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"flux-3-video","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:25Z","updatedAt":"2026-11-02T13:17:07Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"prodia/flux-fast-schnell","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.0025","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Prodia"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/prodia/flux-fast-schnell","upstreamModel":"prodia/flux-fast-schnell","formats":[{"id":"yir:prodia/flux-fast-schnell:text","model":"flux-fast-schnell","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"flux-fast-schnell","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K"],"readOnly":true,"allowedValues":["1K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1"],"readOnly":true,"allowedValues":["1:1"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/prodia/flux-fast-schnell","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"9c615aeb-ab95-471f-8e08-561b18fcfe9d","routeId":"d5f47bc1-3817-4ed2-b2ac-ddcf3bda1435","model":"flux-fast-schnell","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/prodia.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"prodia/flux-fast-schnell"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":2500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":2500,"partnerCompletion":0,"promptSource":2500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"FLUX distilled fast-inference model generating beautiful images in 4 steps","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":2500,"catalogReferences":[{"unit":"image","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:32.909506+00:00","sourceUrl":"https://yir.ai/models/flux-fast-schnell","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"prodia/flux-fast-schnell","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":2500,"prompt":2500,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:32.909506+00:00","sourceUrl":"https://yir.ai/models/flux-fast-schnell","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"prodia/flux-fast-schnell","specification_label":"1K · 1:1"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"flux-fast-schnell","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:37Z","updatedAt":"2026-10-31T09:25:37Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1 MP · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-kontext-pro","specification_label":"1 MP · 1:1"}}]},"rangeStart":0,"resolution":"1mp"},"price":"0.04","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1 MP · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-kontext-pro","specification_label":"1 MP · 1:1"}}]},"rangeStart":0,"resolution":"1mp"},"price":"0.04","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Black Forest Labs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bfl/flux-kontext-pro","upstreamModel":"bfl/flux-kontext-pro","formats":[{"id":"yir:bfl/flux-kontext-pro:text","model":"flux-kontext-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1MP","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"flux-kontext-pro","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1MP"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1MP","options":["1MP"],"readOnly":true,"allowedValues":["1MP"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9","9:21"],"allowedValues":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9","9:21"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-kontext-pro","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bfl/flux-kontext-pro:image","model":"flux-kontext-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1MP","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"flux-kontext-pro","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1MP"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1MP","options":["1MP"],"readOnly":true,"allowedValues":["1MP"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9","9:21"],"allowedValues":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9","9:21"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":4,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":4,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-kontext-pro","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"91cdf784-de7d-4ddb-96f0-9f306c0f6294","routeId":"fcf60e0c-2c77-400f-8a41-6f63c0a5facb","model":"flux-kontext-pro","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bfl.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"bfl/flux-kontext-pro"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1MP"],"type":"string","default":"1MP","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9","9:21"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":4,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":32000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":32000,"partnerCompletion":0,"promptSource":32000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"BFL professional context-aware image generation and editing model","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":32000,"catalogReferences":[{"unit":"image","amount":"0.032","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:24.897416+00:00","sourceUrl":"https://yir.ai/models/flux-kontext-pro","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-kontext-pro","specification_label":"1 MP · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1 MP · 1:1","partnerCompletion":0,"partnerPrompt":32000,"prompt":32000,"rangeStart":0,"resolution":"1mp","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.032","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:24.897416+00:00","sourceUrl":"https://yir.ai/models/flux-kontext-pro","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bfl/flux-kontext-pro","specification_label":"1 MP · 1:1"},"approximate":false},{"unit":"image","amount":"0.032","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:24.897416+00:00","sourceUrl":"https://yir.ai/models/flux-kontext-pro","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-kontext-pro","specification_label":"1 MP · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":32000,"catalogReferences":[{"unit":"image","amount":"0.032","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:24.897416+00:00","sourceUrl":"https://yir.ai/models/flux-kontext-pro","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-kontext-pro","specification_label":"1 MP · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1 MP · 1:1","partnerCompletion":0,"partnerPrompt":32000,"prompt":32000,"rangeStart":0,"resolution":"1mp"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"flux-kontext-pro","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:21:25Z","updatedAt":"2026-10-31T09:21:25Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1 MP · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-pro-1.1","specification_label":"1 MP · 1:1"}}]},"rangeStart":0,"resolution":"1mp"},"price":"0.04","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Black Forest Labs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bfl/flux-pro-1-1","upstreamModel":"bfl/flux-pro-1.1","formats":[{"id":"yir:bfl/flux-pro-1.1:text","model":"flux-pro-1.1","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1MP","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"flux-pro-1.1","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1MP"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1MP","options":["1MP"],"readOnly":true,"allowedValues":["1MP"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16"],"allowedValues":["1:1","4:3","3:4","16:9","9:16"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-pro-1-1","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"9320d2a4-2317-4229-8291-afa64721fa15","routeId":"b8aa13e6-f3a0-45bf-bfc2-4ee4b0303d09","model":"flux-pro-1.1","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bfl.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"bfl/flux-pro-1.1"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1MP"],"type":"string","default":"1MP","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":32000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":32000,"partnerCompletion":0,"promptSource":32000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Black Forest Labs high-performance professional image generation model","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":32000,"catalogReferences":[{"unit":"image","amount":"0.032","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:42.596951+00:00","sourceUrl":"https://yir.ai/models/flux-pro-1-1","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-pro-1.1","specification_label":"1 MP · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1 MP · 1:1","partnerCompletion":0,"partnerPrompt":32000,"prompt":32000,"rangeStart":0,"resolution":"1mp","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.032","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:42.596951+00:00","sourceUrl":"https://yir.ai/models/flux-pro-1-1","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1MP"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-pro-1.1","specification_label":"1 MP · 1:1"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"flux-pro-1.1","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:23:08Z","updatedAt":"2026-10-31T09:23:08Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-pro-1.1-ultra","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.06","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Black Forest Labs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bfl/flux-pro-1-1-ultra","upstreamModel":"bfl/flux-pro-1.1-ultra","formats":[{"id":"yir:bfl/flux-pro-1.1-ultra:text","model":"flux-pro-1.1-ultra","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"2K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"flux-pro-1.1-ultra","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"2K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"2K","options":["2K"],"readOnly":true,"allowedValues":["2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16"],"allowedValues":["1:1","4:3","3:4","16:9","9:16"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bfl/flux-pro-1-1-ultra","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"03ba5b2e-9ae3-4cca-a7fb-bf7d7dbad2cb","routeId":"b22454e4-7752-449e-9cee-dd7ef8f73750","model":"flux-pro-1.1-ultra","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bfl.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"bfl/flux-pro-1.1-ultra"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["2K"],"type":"string","default":"2K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":48000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":48000,"partnerCompletion":0,"promptSource":48000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Black Forest Labs ultra high-resolution image model supporting up to 2K/4MP output","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":48000,"catalogReferences":[{"unit":"image","amount":"0.048","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-pro-1.1-ultra","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":48000,"prompt":48000,"rangeStart":0,"resolution":"2k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.048","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bfl/flux-pro-1.1-ultra","specification_label":"2K · 1:1"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"flux-pro-1.1-ultra","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:23:08Z","updatedAt":"2026-10-31T09:23:08Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/gemini-2.5-flash-image","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.04","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/gemini-2.5-flash-image","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.039","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Google"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/google/gemini-2-5-flash-image","upstreamModel":"google/gemini-2.5-flash-image","formats":[{"id":"yir:google/gemini-2.5-flash-image:text","model":"gemini-2.5-flash-image","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"gemini-2.5-flash-image","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K"],"readOnly":true,"allowedValues":["1K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"allowedValues":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/gemini-2-5-flash-image","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:google/gemini-2.5-flash-image:image","model":"gemini-2.5-flash-image","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"gemini-2.5-flash-image","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K"],"readOnly":true,"allowedValues":["1K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"allowedValues":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":3,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":3,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/gemini-2-5-flash-image","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"6bbf9ec0-98c7-4357-9d1a-dae217977d96","routeId":"e057a953-5996-4350-8a52-ef9c966de19e","model":"gemini-2.5-flash-image","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/google.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"google/gemini-2.5-flash-image"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":3,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":12500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":12500,"partnerCompletion":0,"promptSource":12500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Google's original Nano Banana (Gemini 2.5 Flash Image), lightweight and fast. Google lists shutdown no earlier than 2027-03-15; Nano Banana 2 is recommended for new projects","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":12500,"catalogReferences":[{"unit":"image","amount":"0.0125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.194531+00:00","sourceUrl":"https://yir.ai/models/gemini-2-5-flash-image","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/gemini-2.5-flash-image","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":12500,"prompt":12500,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.194531+00:00","sourceUrl":"https://yir.ai/models/gemini-2-5-flash-image","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/gemini-2.5-flash-image","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.194531+00:00","sourceUrl":"https://yir.ai/models/gemini-2-5-flash-image","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/gemini-2.5-flash-image","specification_label":"1K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":12500,"catalogReferences":[{"unit":"image","amount":"0.0125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.194531+00:00","sourceUrl":"https://yir.ai/models/gemini-2-5-flash-image","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/gemini-2.5-flash-image","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":12500,"prompt":12500,"rangeStart":0,"resolution":"1k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gemini-2.5-flash-image","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:23:08Z","updatedAt":"2026-10-31T09:23:08Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Google","inputPrice":"2","outputPrice":"120"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"custom-model-gn-v3.0","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","contents"],"properties":{"model":{"type":"string","description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"contents":{"type":"array","items":{"type":"object","required":["parts"],"properties":{"role":{"enum":["user","model"],"type":"string"},"parts":{"type":"array","items":{"type":"object","anyOf":[{"required":["text"]},{"required":["inlineData"]},{"required":["fileData"]}],"properties":{"text":{"type":"string"},"fileData":{"type":"object","required":["fileUri"],"properties":{"fileUri":{"type":"string"},"mimeType":{"type":"string"}}},"inlineData":{"type":"object","required":["mimeType","data"],"properties":{"data":{"type":"string"},"mimeType":{"type":"string"}}},"thoughtSignature":{"type":"string"}}},"minItems":1}}},"minItems":1,"description":"Gemini input content. Each entry contains a parts array."},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"response_format":{"type":"object","properties":{"type":{"type":"string"},"mime_type":{"type":"string"},"aspect_ratio":{"type":"string"}}},"generationConfig":{"type":"object","properties":{"imageConfig":{"type":"object","properties":{"imageSize":{"enum":["1K","2K","4K"],"type":"string"},"aspectRatio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"type":"string"}}},"responseFormat":{"type":"object","properties":{"image":{"type":"object","properties":{"mimeType":{"type":"string"},"imageSize":{"enum":["1K","2K","4K"],"type":"string"},"aspectRatio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"type":"string"}}}}},"responseModalities":{"type":"array","items":{"enum":["TEXT","IMAGE"],"type":"string"},"minItems":1}},"description":"Output modalities and image generation settings for Gemini."}}},"id":"archived-0","model":"gemini-3-pro-image","provider":"Tencent","endpointPath":"/v1/images/generations","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images/generations","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"contents":[{"parts":[{"text":"Generate an image of a Chinese Li Hua cat in a modern studio product-photo style."}]}],"model":"gemini-3-pro-image","response_format":{"aspect_ratio":"1:1","mime_type":"image/png","type":"image"},"route":{"provider":"Tencent"}},"parameterSchema":[{"name":"contents","label":"contents","description":"Gemini input content. Each entry contains a parts array.","type":"json","valueType":"array","path":"/contents","required":true,"minItems":1},{"name":"generationConfig","label":"generationConfig","description":"Output modalities and image generation settings for Gemini.","type":"json","valueType":"object","path":"/generationConfig","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true}],"responseBody":{"candidates":[{"index":0,"content":{"role":"model","parts":[{"inlineData":{"data":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Faa082ba4-54a5-4471-a909-40b00915891e.jpg","mimeType":"image/jpeg"}}]},"finishReason":"STOP"}],"request_id":"5d5baf6e-de57-4753-b666-aceacb3010c1","modelVersion":"gemini-3-pro-image","tokenhub_usage":{"total_tokens":135098},"openmodels_cost":200107},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0},{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","contents"],"properties":{"model":{"type":"string","description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"contents":{"type":"array","items":{"type":"object","required":["parts"],"properties":{"role":{"enum":["user","model"],"type":"string"},"parts":{"type":"array","items":{"type":"object","anyOf":[{"required":["text"]},{"required":["inlineData"]},{"required":["fileData"]}],"properties":{"text":{"type":"string"},"fileData":{"type":"object","required":["fileUri"],"properties":{"fileUri":{"type":"string"},"mimeType":{"type":"string"}}},"inlineData":{"type":"object","required":["mimeType","data"],"properties":{"data":{"type":"string"},"mimeType":{"type":"string"}}},"thoughtSignature":{"type":"string"}}},"minItems":1}}},"minItems":1,"description":"Gemini input content. Each entry contains a parts array."},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"response_format":{"type":"object","properties":{"type":{"type":"string"},"mime_type":{"type":"string"},"aspect_ratio":{"type":"string"}}},"generationConfig":{"type":"object","properties":{"imageConfig":{"type":"object","properties":{"imageSize":{"enum":["1K","2K","4K"],"type":"string"},"aspectRatio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"type":"string"}}},"responseFormat":{"type":"object","properties":{"image":{"type":"object","properties":{"mimeType":{"type":"string"},"imageSize":{"enum":["1K","2K","4K"],"type":"string"},"aspectRatio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"type":"string"}}}}},"responseModalities":{"type":"array","items":{"enum":["TEXT","IMAGE"],"type":"string"},"minItems":1}},"description":"Output modalities and image generation settings for Gemini."}}},"id":"archived-1","model":"gemini-3-pro-image","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"contents":[{"parts":[{"text":"跳舞"}]}],"generationConfig":{"responseFormat":{"image":{"aspectRatio":"9:16","imageSize":"2K"}},"responseModalities":["IMAGE"]},"model":"gemini-3-pro-image","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"contents","label":"contents","description":"Gemini input content. Each entry contains a parts array.","type":"json","valueType":"array","path":"/contents","required":true,"minItems":1},{"name":"generationConfig","label":"generationConfig","description":"Output modalities and image generation settings for Gemini.","type":"json","valueType":"object","path":"/generationConfig","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true}],"responseBody":{"candidates":[{"index":0,"content":{"role":"model","parts":[{"inlineData":{"data":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Faa082ba4-54a5-4471-a909-40b00915891e.jpg","mimeType":"image/jpeg"}}]},"finishReason":"STOP"}],"request_id":"5d5baf6e-de57-4753-b666-aceacb3010c1","modelVersion":"gemini-3-pro-image","tokenhub_usage":{"total_tokens":135098},"openmodels_cost":200107},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_modelprice","sourceUrl":"","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"a38abe21-c008-4952-bad4-51876562bd98","routeId":"47b8a0b3-61c8-4ce8-a764-a1bd345732c7","model":"gemini-3-pro-image","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/wand/gn-image/generation","method":"POST"}],"curlExample":"curl https://api.getopenmodels.com/v1/images \\\n--header 'Authorization: Bearer YOUR_API_KEY' \\\n--header 'Content-Type: application/json' \\\n  -d '{\n    \"model\": \"custom-model-gn-v3.1\",\n    \"contents\": [\n        {\n            \"parts\": [\n                {\n                    \"text\": \"跳舞\"\n                }\n            ]\n        }\n    ],\n    \"generationConfig\": {\n        \"responseModalities\": [\n            \"IMAGE\"\n        ],\n        \"responseFormat\": {\n            \"image\": {\n                \"aspectRatio\": \"9:16\",\n                \"imageSize\": \"2K\"\n            }\n        }\n    }\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":0,"completion":1379310,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":0,"partnerCompletion":1448276,"promptSource":0,"completionSource":10000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["image"],"description":"","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":135,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gemini-3-pro-image","operations":[],"availableModes":[]},"createdAt":"2026-08-31T12:57:02Z","updatedAt":"2026-11-02T03:41:50Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"custom-model-gn-v3.1","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","contents"],"properties":{"model":{"type":"string","description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"contents":{"type":"array","items":{"type":"object","required":["parts"],"properties":{"role":{"enum":["user","model"],"type":"string"},"parts":{"type":"array","items":{"type":"object","anyOf":[{"required":["text"]},{"required":["inlineData"]},{"required":["fileData"]}],"properties":{"text":{"type":"string"},"fileData":{"type":"object","required":["fileUri"],"properties":{"fileUri":{"type":"string"},"mimeType":{"type":"string"}}},"inlineData":{"type":"object","required":["mimeType","data"],"properties":{"data":{"type":"string"},"mimeType":{"type":"string"}}},"thoughtSignature":{"type":"string"}}},"minItems":1}}},"minItems":1,"description":"Gemini input content. Each entry contains a parts array."},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"generationConfig":{"type":"object","properties":{"imageConfig":{"type":"object","properties":{"imageSize":{"enum":["512","1K","2K","4K"],"type":"string"},"aspectRatio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:4","4:1","1:8","8:1"],"type":"string"}}},"responseFormat":{"type":"object","properties":{"image":{"type":"object","properties":{"mimeType":{"type":"string"},"imageSize":{"enum":["512","1K","2K","4K"],"type":"string"},"aspectRatio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:4","4:1","1:8","8:1"],"type":"string"}}}}},"responseModalities":{"type":"array","items":{"enum":["TEXT","IMAGE"],"type":"string"},"minItems":1}},"description":"Output modalities and image generation settings for Gemini."}}},"id":"archived-0","model":"gemini-3.1-flash-image","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"contents":[{"parts":[{"text":"Generate an image of a Chinese Li Hua cat in a modern studio product-photo style."}]}],"generationConfig":{"responseFormat":{"image":{"aspectRatio":"9:16","imageSize":"2K"}},"responseModalities":["IMAGE"]},"model":"gemini-3.1-flash-image","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"contents","label":"contents","description":"Gemini input content. Each entry contains a parts array.","type":"json","valueType":"array","path":"/contents","required":true,"minItems":1},{"name":"generationConfig","label":"generationConfig","description":"Output modalities and image generation settings for Gemini.","type":"json","valueType":"object","path":"/generationConfig","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true}],"responseBody":{"candidates":[{"index":0,"content":{"role":"model","parts":[{"inlineData":{"data":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Faa082ba4-54a5-4471-a909-40b00915891e.jpg","mimeType":"image/jpeg"}}]},"finishReason":"STOP"}],"request_id":"bcf44ed5-7552-435b-a45a-6e3ba5887091","modelVersion":"gemini-3.1-flash-image","tokenhub_usage":{"total_tokens":67543},"openmodels_cost":100045},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"f17ad9d9-f2c5-4b37-9d4b-cd2473fe5040","routeId":"fe8da8f9-79a4-48d0-abca-0e92f486b91f","model":"gemini-3.1-flash-image","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/wand/gn-image/generation","method":"POST"}],"curlExample":"curl https://api.getopenmodels.com/v1/images \\\n--header 'Authorization: Bearer YOUR_API_KEY' \\\n--header 'Content-Type: application/json' \\\n  -d '{\n    \"model\": \"custom-model-gn-v3.1\",\n    \"contents\": [\n        {\n            \"parts\": [\n                {\n                    \"text\": \"跳舞\"\n                }\n            ]\n        }\n    ],\n    \"generationConfig\": {\n        \"responseModalities\": [\n            \"IMAGE\"\n        ],\n        \"responseFormat\": {\n            \"image\": {\n                \"aspectRatio\": \"9:16\",\n                \"imageSize\": \"2K\"\n            }\n        }\n    }\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":0,"completion":1379310,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":0,"partnerCompletion":1448276,"promptSource":0,"completionSource":10000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["image"],"description":"","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":150,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gemini-3.1-flash-image","operations":[],"availableModes":[]},"createdAt":"2026-08-31T12:54:59Z","updatedAt":"2026-09-11T13:23:55Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/gemini-3.1-flash-lite-image","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.03388","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/gemini-3.1-flash-lite-image","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.0336","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Google (Yir catalog estimate)"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/google/gemini-3-1-flash-lite-image","upstreamModel":"google/gemini-3.1-flash-lite-image","formats":[{"id":"yir:google/gemini-3.1-flash-lite-image:text","model":"gemini-3.1-flash-lite-image","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"gemini-3.1-flash-lite-image","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K"],"readOnly":true,"allowedValues":["1K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"allowedValues":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/gemini-3-1-flash-lite-image","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:google/gemini-3.1-flash-lite-image:image","model":"gemini-3.1-flash-lite-image","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"gemini-3.1-flash-lite-image","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K"],"readOnly":true,"allowedValues":["1K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"allowedValues":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":14,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/gemini-3-1-flash-lite-image","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"447f86a8-c8ec-4ec0-9676-4c15a57f7267","routeId":"2d3fb36a-3614-4392-9be0-e3bcc902abff","model":"gemini-3.1-flash-lite-image","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/google.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"google/gemini-3.1-flash-lite-image"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":12500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":12500,"partnerCompletion":0,"promptSource":12500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Google ultra-low-cost image generation model with maximum throughput","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":12500,"catalogReferences":[{"unit":"image","amount":"0.0125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/gemini-3.1-flash-lite-image","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":12500,"prompt":12500,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/gemini-3.1-flash-lite-image","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/gemini-3.1-flash-lite-image","specification_label":"1K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":12500,"catalogReferences":[{"unit":"image","amount":"0.0125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/gemini-3.1-flash-lite-image","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":12500,"prompt":12500,"rangeStart":0,"resolution":"1k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gemini-3.1-flash-lite-image","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:23:08Z","updatedAt":"2026-10-31T09:23:08Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Google","inputPrice":"1.50","outputPrice":"9.00"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"gemini-3.5-flash","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"gemini-3.5-flash","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"gemini-3.5-flash","route":{"provider":"Tencent-Intl"},"route_mode":"balanced"},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"gen-1784710177-qHFudUaHjQeWBzG0JOgZ","cost":{"usd":0,"diem":0.0019576999999999997},"model":"gemini-3-5-flash","usage":{"total_tokens":208,"prompt_tokens":1,"completion_tokens":207,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"audio_tokens":0,"image_tokens":0,"reasoning_tokens":198}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","refusal":null,"reasoning_content":"**Responding to Greetings**\n\nHello there! I'm ready to assist. What can I help you with today?\n\n","reasoning_details":[{"text":"**Responding to Greetings**\n\nHello there! I'm ready to assist. What can I help you with today?\n\n","type":"reasoning.text","index":0,"format":"google-gemini-v1"}]},"logprobs":null,"finish_reason":"stop","native_finish_reason":"STOP"}],"created":1784710177,"service_tier":"default","openmodels_cost":606,"venice_parameters":{"enable_e2ee":true,"enable_x_search":false,"disable_thinking":false,"enable_web_search":"off","enable_web_scraping":false,"enable_web_citations":false,"web_search_citations":[],"strip_thinking_response":false,"include_venice_system_prompt":false,"include_search_results_in_stream":false,"return_search_results_as_documents":false},"usage_from_consumer":{"total_tokens":38,"prompt_tokens":5,"completion_tokens":33}},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"25afb51c-4b46-4816-a7e7-da7945f0606e","routeId":"9497cfac-0eef-4cb9-b07f-53cf99a3903a","model":"gemini-3.5-flash","provider":"Tencent-Intl","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":1350000,"completion":8100000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":1575000,"partnerCompletion":9450000,"partnerCacheReadPrompt":157500,"promptSource":1350000,"completionSource":8100000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image","audio"],"outModalities":["chat"],"description":"Gemini 3.5 Flash is designed to support fast, cost-effective, and complex developer and agent workflows.","descriptionTranslations":{"ar":"صُمم Gemini 3.5 Flash لدعم سير عمل المطورين والوكلاء الذي يتسم بالسرعة والكفاءة من حيث التكلفة والتعقيد.","ja":"Gemini 3.5 Flashは、高速かつコスト効率に優れた複雑な開発者・エージェントワークフローをサポートするよう設計されています。強力なマルチステップ推論を高度に最適化された低レイテンシのフレームワークに組み込むことで、膨大な数の推論ループを大規模に極めて効率よく実行できます。","zh":"Gemini 3.5 Flash 专为支持高速、高性价比且复杂的开发者和智能体工作流而设计。它将强大的多步推理能力融入高度优化的低延迟框架中，能够高效地大规模运行海量推理循环。"},"supportedFeatures":["json_mode"],"contextWindowTokens":1000000,"maxOutputTokens":65000,"cacheReadPrompt":150000,"pricingTiers":[],"timePricingRules":[],"latency":263,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gemini-3.5-flash","operations":[],"availableModes":[]},"createdAt":"2026-07-28T14:56:48Z","updatedAt":"2026-11-02T12:43:55Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Google","inputPrice":"1.50","outputPrice":"7.50"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"ge-3.7-fl","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"gemini-3.7-flash","provider":"Google","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"gemini-3.7-flash","route":{"provider":"Google"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-20260915143600537419872MWDS76iW","model":"gemini-3.7-flash","usage":{"input_tokens":0,"total_tokens":36,"output_tokens":0,"prompt_tokens":1,"completion_tokens":35,"input_tokens_details":null,"prompt_tokens_details":{"text_tokens":1,"audio_tokens":0,"image_tokens":0,"cached_tokens":0},"completion_tokens_details":{"text_tokens":9,"audio_tokens":0,"image_tokens":0,"reasoning_tokens":26},"claude_cache_creation_1_h_tokens":0,"claude_cache_creation_5_m_tokens":0},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?"},"finish_reason":"stop"}],"created":1789454163,"openmodels_cost":124},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"32fac25a-e4ae-4a00-a460-f6251dace4ae","routeId":"842b1cdd-ad3c-4726-b0f7-104da60d9df4","model":"gemini-3.7-flash","provider":"Google","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":593793,"completion":2968966,"imageCompletion":0,"partnerPriceMultiplierBps":11874,"partnerPrompt":687873,"partnerCompletion":3439366,"partnerCacheReadPrompt":85984,"promptSource":4305000,"completionSource":21525000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat"],"description":"","descriptionTranslations":{},"supportedFeatures":["tool_calling","reasoning","content_caching"],"contextWindowTokens":1000000,"maxOutputTokens":65500,"cacheReadPrompt":72414,"pricingTiers":[],"timePricingRules":[],"latency":3174,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gemini-3.7-flash","operations":[],"availableModes":[]},"createdAt":"2026-09-15T06:32:19Z","updatedAt":"2026-11-02T12:40:54Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Google","inputPrice":"1.50","outputPrice":"7.50"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"ge-3.8-fl","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"gemini-3.8-flash","provider":"Google","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"gemini-3.8-flash","route":{"provider":"Google"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-20260915144156798034438oo3IC1e7","model":"gemini-3.8-flash","usage":{"input_tokens":0,"total_tokens":181,"output_tokens":0,"prompt_tokens":1,"completion_tokens":180,"input_tokens_details":null,"prompt_tokens_details":{"text_tokens":1,"audio_tokens":0,"image_tokens":0,"cached_tokens":0},"completion_tokens_details":{"text_tokens":9,"audio_tokens":0,"image_tokens":0,"reasoning_tokens":171},"claude_cache_creation_1_h_tokens":0,"claude_cache_creation_5_m_tokens":0},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?"},"finish_reason":"stop"}],"created":1789454519,"openmodels_cost":701},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"43cfe497-a4cf-475f-8484-8c61c235a6fe","routeId":"e08ff70a-9295-48b3-accf-269b95418cb3","model":"gemini-3.8-flash","provider":"Google","modelSource":"platform","providerKind":"direct","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":611172,"completion":3055862,"imageCompletion":0,"partnerPriceMultiplierBps":11874,"partnerPrompt":687873,"partnerCompletion":3439366,"partnerCacheReadPrompt":85984,"promptSource":4431000,"completionSource":22155000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat"],"description":"","descriptionTranslations":{},"supportedFeatures":["tool_calling","reasoning","content_caching"],"contextWindowTokens":1000000,"maxOutputTokens":65500,"cacheReadPrompt":72414,"pricingTiers":[],"timePricingRules":[],"latency":3488,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gemini-3.8-flash","operations":[],"availableModes":[]},"createdAt":"2026-09-15T06:40:40Z","updatedAt":"2026-11-02T12:41:40Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/glm-5.1/","upstreamModel":"glm-5.1","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["messages","model"],"properties":{"stop":{"type":"array","items":{"type":"string"},"maxItems":1},"model":{"type":"string"},"route":{"type":"object"},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string","default":"function"},"function":{"type":"object","required":["name","description","parameters"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64,"minLength":1},"parameters":{"type":"object","additionalProperties":true}}}},"additionalProperties":false},"maxItems":128},"top_p":{"type":"number","format":"float","default":0.95,"maximum":1,"minimum":0.01},"stream":{"type":"boolean","default":false},"user_id":{"type":"string","maxLength":128,"minLength":6},"messages":{"type":"array","items":{"oneOf":[{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user"],"type":"string","default":"user"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role","content"],"properties":{"role":{"enum":["system"],"type":"string","default":"system"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role"],"properties":{"role":{"enum":["assistant"],"type":"string","default":"assistant"},"content":{"oneOf":[{"type":"string"}]},"tool_calls":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"enum":["function","web_search","retrieval"],"type":"string"},"function":{"type":"object","required":["name","arguments"],"properties":{"name":{"type":"string"},"arguments":{"type":"string"}}}}}}}},{"type":"object","required":["role","content","tool_call_id"],"properties":{"role":{"enum":["tool"],"type":"string","default":"tool"},"content":{"oneOf":[{"type":"string"}]},"tool_call_id":{"type":"string"}}}]},"minItems":1},"thinking":{"type":"object","properties":{"type":{"enum":["enabled","disabled"],"type":"string","default":"enabled"},"clear_thinking":{"type":"boolean","default":true}}},"do_sample":{"type":"boolean","default":true},"max_tokens":{"type":"integer","maximum":131072,"minimum":1},"request_id":{"type":"string","maxLength":64,"minLength":6},"route_mode":{"type":"string"},"temperature":{"type":"number","format":"float","default":1,"maximum":1,"minimum":0},"tool_choice":{"oneOf":[{"enum":["auto"],"type":"string"}]},"tool_stream":{"type":"boolean","default":false},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string","default":"text"}}}}},"id":"archived-0","model":"glm-5.1","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"glm-5.1","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"do_sample","label":"do_sample","type":"boolean","valueType":"boolean","path":"/do_sample","required":false,"defaultValue":true,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":131072,"omitEmpty":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"request_id","label":"request_id","type":"string","valueType":"string","path":"/request_id","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"array","path":"/stop","required":false,"maxItems":1,"omitEmpty":true},{"name":"stream","label":"stream","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"thinking","label":"thinking","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"maxItems":128,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":0.95,"min":0.01,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-0758b9ab-bac7-99f3-a76c-a458c9979723","model":"glm-4.7","usage":{"total_tokens":230,"prompt_tokens":6,"completion_tokens":224,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":187}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! I'm GLM, trained by Z.ai. How can I assist you today? Whether you have questions or just want to chat, I'm happy to help.","reasoning_content":"Let me consider how to respond to this greeting effectively.\n\nThe user has started with a simple \"hello\" - this is likely the beginning of a conversation. I should respond in a way that's both welcoming and open-ended.\n\nFirst, I should acknowledge their greeting warmly. Then I should introduce myself briefly to establish context. Since this is an initial interaction, I should also express my willingness to help while inviting them to share what's on their mind.\n\nI need to make sure my response is friendly and professional, while also being concise enough not to overwhelm. The goal is to create an inviting atmosphere for further conversation.\n\nLet me craft a response that's welcoming, informative, and encourages further dialogue. I should include:\n- A warm greeting back\n- A brief introduction of who I am\n- An expression of readiness to help\n- An invitation for them to continue the conversation\n\nThis should create a good foundation for a productive interaction."},"logprobs":null,"finish_reason":"stop"}],"created":1784220767,"openmodels_cost":418,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/glm-5.1/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"83b5292d-34c0-4bed-ac90-312cbbabc3c1","routeId":"ee479b1d-09f6-4ecb-b660-d6b457781329","model":"glm-5.1","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5.1\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":1135719,"completion":3569529,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":1084095,"partnerCompletion":3407278,"partnerCacheReadPrompt":201299,"promptSource":8233962,"completionSource":25879084,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat","coding","reasoning"],"description":"GLM-5.1 is Zhipu AI's latest flagship model, featuring greatly enhanced coding capabilities and stronger long-horizon task tracking.","descriptionTranslations":{"ar":"GLM-5.1 هو أحدث نموذج رائد من Zhipu AI، ويتميز بقدرات برمجية محسنة بدرجة كبيرة وقدرة أقوى على تتبع المهام طويلة الأمد.","ja":"GLM-5.1はZhipu AIの最新フラッグシップモデルで、コーディング能力が大幅に強化され、長期タスクの追跡能力も向上しています。1つのタスクで最大8時間にわたり継続的かつ自律的に作業し、計画と実行から反復的な最適化、デリバリーまで、完全なエンジニアリングループを遂行できます。","zh":"GLM-5.1 是智谱 AI 的最新旗舰模型，代码能力大幅增强，长程任务追踪能力也更强。它可在单个任务中连续自主工作最长 8 小时，完成从规划、执行到迭代优化和交付的完整工程闭环。在通用智能和编码能力方面，GLM-5.1 与 Claude Opus 4.6 大体相当；在长程自主执行、复杂工程优化和真实开发场景中，则展现出更强的持续工作能力。它是构建自主智能体和长程编码智能体的理想基础。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["content_caching","structured_outputs","tool_calling","reasoning"],"contextWindowTokens":200000,"maxOutputTokens":128000,"cacheReadPrompt":191713,"pricingTiers":[{"actualCompletion":23526440,"actualPrompt":7485420,"cacheReadPrompt":191713,"completion":3569529,"label":"default","partnerCacheReadPrompt":201299,"partnerCompletion":3407278,"partnerPrompt":1084095,"prompt":1135719,"rangeStart":0}],"timePricingRules":[],"latency":6014,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.1","operations":[],"availableModes":[]},"createdAt":"2026-07-06T09:09:27Z","updatedAt":"2026-11-04T00:19:31Z"},{"id":"d86f7ffe-8d81-40b6-8a8d-12b71dafba48","routeId":"46cb1f69-0a6d-45c6-b5c1-fe855d927c94","model":"glm-5.2","provider":"nomad-text-api","modelSource":"p2p","providerKind":"community","providerLogoUrl":"https://inference.nomadsustaintech.com/favicon.svg","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST"}],"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5.2\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":4,"prompt":281250,"completion":900000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":295313,"partnerCompletion":945000,"promptSource":281250,"completionSource":900000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"","descriptionTranslations":{},"supportedFeatures":[],"maxOutputTokens":4096,"pricingTiers":[],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.2","operations":[],"availableModes":[]},"createdAt":"2026-10-11T00:25:42Z","updatedAt":"2026-11-03T16:26:00Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/glm-5.2/","upstreamModel":"glm-5.2","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["messages","model"],"properties":{"stop":{"type":"array","items":{"type":"string"},"maxItems":1},"model":{"type":"string"},"route":{"type":"object"},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string","default":"function"},"function":{"type":"object","required":["name","description","parameters"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64,"minLength":1},"parameters":{"type":"object","additionalProperties":true}}}},"additionalProperties":false},"maxItems":128},"top_p":{"type":"number","format":"float","default":0.95,"maximum":1,"minimum":0.01},"stream":{"type":"boolean","default":false},"user_id":{"type":"string","maxLength":128,"minLength":6},"messages":{"type":"array","items":{"oneOf":[{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user"],"type":"string","default":"user"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role","content"],"properties":{"role":{"enum":["system"],"type":"string","default":"system"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role"],"properties":{"role":{"enum":["assistant"],"type":"string","default":"assistant"},"content":{"oneOf":[{"type":"string"}]},"tool_calls":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"enum":["function","web_search","retrieval"],"type":"string"},"function":{"type":"object","required":["name","arguments"],"properties":{"name":{"type":"string"},"arguments":{"type":"string"}}}}}}}},{"type":"object","required":["role","content","tool_call_id"],"properties":{"role":{"enum":["tool"],"type":"string","default":"tool"},"content":{"oneOf":[{"type":"string"}]},"tool_call_id":{"type":"string"}}}]},"minItems":1},"thinking":{"type":"object","properties":{"type":{"enum":["enabled","disabled"],"type":"string","default":"enabled"},"clear_thinking":{"type":"boolean","default":true}}},"do_sample":{"type":"boolean","default":true},"max_tokens":{"type":"integer","maximum":131072,"minimum":1},"request_id":{"type":"string","maxLength":64,"minLength":6},"route_mode":{"type":"string"},"temperature":{"type":"number","format":"float","default":1,"maximum":1,"minimum":0},"tool_choice":{"oneOf":[{"enum":["auto"],"type":"string"}]},"tool_stream":{"type":"boolean","default":false},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string","default":"text"}}},"reasoning_effort":{"enum":["max","xhigh","high","medium","low","minimal","none"],"type":"string","default":"max"}}},"id":"archived-0","model":"glm-5.2","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"glm-5.2","route":{"provider":"Tencent-Intl"},"route_mode":"balanced"},"parameterSchema":[{"name":"do_sample","label":"do_sample","type":"boolean","valueType":"boolean","path":"/do_sample","required":false,"defaultValue":true,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":131072,"omitEmpty":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_effort","label":"reasoning_effort","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"defaultValue":"max","allowedValues":["max","xhigh","high","medium","low","minimal","none"],"omitEmpty":true},{"name":"request_id","label":"request_id","type":"string","valueType":"string","path":"/request_id","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"array","path":"/stop","required":false,"maxItems":1,"omitEmpty":true},{"name":"stream","label":"stream","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"thinking","label":"thinking","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"maxItems":128,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":0.95,"min":0.01,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-0758b9ab-bac7-99f3-a76c-a458c9979723","model":"glm-4.7","usage":{"total_tokens":230,"prompt_tokens":6,"completion_tokens":224,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":187}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! I'm GLM, trained by Z.ai. How can I assist you today? Whether you have questions or just want to chat, I'm happy to help.","reasoning_content":"Let me consider how to respond to this greeting effectively.\n\nThe user has started with a simple \"hello\" - this is likely the beginning of a conversation. I should respond in a way that's both welcoming and open-ended.\n\nFirst, I should acknowledge their greeting warmly. Then I should introduce myself briefly to establish context. Since this is an initial interaction, I should also express my willingness to help while inviting them to share what's on their mind.\n\nI need to make sure my response is friendly and professional, while also being concise enough not to overwhelm. The goal is to create an inviting atmosphere for further conversation.\n\nLet me craft a response that's welcoming, informative, and encourages further dialogue. I should include:\n- A warm greeting back\n- A brief introduction of who I am\n- An expression of readiness to help\n- An invitation for them to continue the conversation\n\nThis should create a good foundation for a productive interaction."},"logprobs":null,"finish_reason":"stop"}],"created":1784220767,"openmodels_cost":418,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"playground.curl_example","sourceUrl":"https://openany.si/models/glm-5.2/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"ffe6aac5-9ad1-4df4-a69e-42d01b462007","routeId":"3f100064-3df3-4c4b-9651-ced6cf4b2a73","model":"glm-5.2","provider":"Tencent-Intl","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5.3-flash\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":4,"prompt":993065,"completion":3475727,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":637241,"partnerCompletion":2230345,"partnerCacheReadPrompt":289655,"promptSource":7199720,"completionSource":25199020,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat","coding","reasoning"],"description":"GLM-5.2 is Zhipu AI's latest flagship model. It supports a 1M context window and controllable reasoning length, while delivering strong performance in coding and agentic scenarios.","descriptionTranslations":{"ar":"GLM-5.2 هو أحدث نموذج رائد من Zhipu AI. يدعم نافذة سياق بسعة 1M token وطول استدلال قابلًا للتحكم، مع تقديم أداء قوي في سيناريوهات البرمجة والوكلاء.","ja":"GLM-5.2はZhipu AIの最新フラッグシップモデルです。1M tokenのコンテキストウィンドウと調整可能な推論長に対応し、コーディングとエージェント型のユースケースで高い性能を発揮します。","zh":"GLM-5.2 是 Zhipu AI 最新的旗舰模型，支持 1M 上下文窗口和可控的推理长度，并在编程与智能体场景中表现出色。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["tool_calling","content_caching","structured_outputs","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheReadPrompt":275862,"pricingTiers":[],"timePricingRules":[],"latency":626,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.2","operations":[],"availableModes":[]},"createdAt":"2026-07-06T03:43:54Z","updatedAt":"2026-10-31T04:42:59Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Z.ai","inputPrice":"1.142857","outputPrice":"4.00"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/glm-5.2/","upstreamModel":"glm-5.2","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["messages","model"],"properties":{"stop":{"type":"array","items":{"type":"string"},"maxItems":1},"model":{"type":"string"},"route":{"type":"object"},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string","default":"function"},"function":{"type":"object","required":["name","description","parameters"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64,"minLength":1},"parameters":{"type":"object","additionalProperties":true}}}},"additionalProperties":false},"maxItems":128},"top_p":{"type":"number","format":"float","default":0.95,"maximum":1,"minimum":0.01},"stream":{"type":"boolean","default":false},"user_id":{"type":"string","maxLength":128,"minLength":6},"messages":{"type":"array","items":{"oneOf":[{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user"],"type":"string","default":"user"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role","content"],"properties":{"role":{"enum":["system"],"type":"string","default":"system"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role"],"properties":{"role":{"enum":["assistant"],"type":"string","default":"assistant"},"content":{"oneOf":[{"type":"string"}]},"tool_calls":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"enum":["function","web_search","retrieval"],"type":"string"},"function":{"type":"object","required":["name","arguments"],"properties":{"name":{"type":"string"},"arguments":{"type":"string"}}}}}}}},{"type":"object","required":["role","content","tool_call_id"],"properties":{"role":{"enum":["tool"],"type":"string","default":"tool"},"content":{"oneOf":[{"type":"string"}]},"tool_call_id":{"type":"string"}}}]},"minItems":1},"thinking":{"type":"object","properties":{"type":{"enum":["enabled","disabled"],"type":"string","default":"enabled"},"clear_thinking":{"type":"boolean","default":true}}},"do_sample":{"type":"boolean","default":true},"max_tokens":{"type":"integer","maximum":131072,"minimum":1},"request_id":{"type":"string","maxLength":64,"minLength":6},"route_mode":{"type":"string"},"temperature":{"type":"number","format":"float","default":1,"maximum":1,"minimum":0},"tool_choice":{"oneOf":[{"enum":["auto"],"type":"string"}]},"tool_stream":{"type":"boolean","default":false},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string","default":"text"}}},"reasoning_effort":{"enum":["max","xhigh","high","medium","low","minimal","none"],"type":"string","default":"max"}}},"id":"archived-0","model":"glm-5.2","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"glm-5.2","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"do_sample","label":"do_sample","type":"boolean","valueType":"boolean","path":"/do_sample","required":false,"defaultValue":true,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":131072,"omitEmpty":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_effort","label":"reasoning_effort","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"defaultValue":"max","allowedValues":["max","xhigh","high","medium","low","minimal","none"],"omitEmpty":true},{"name":"request_id","label":"request_id","type":"string","valueType":"string","path":"/request_id","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"array","path":"/stop","required":false,"maxItems":1,"omitEmpty":true},{"name":"stream","label":"stream","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"thinking","label":"thinking","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"maxItems":128,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":0.95,"min":0.01,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-0758b9ab-bac7-99f3-a76c-a458c9979723","model":"glm-4.7","usage":{"total_tokens":230,"prompt_tokens":6,"completion_tokens":224,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":187}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! I'm GLM, trained by Z.ai. How can I assist you today? Whether you have questions or just want to chat, I'm happy to help.","reasoning_content":"Let me consider how to respond to this greeting effectively.\n\nThe user has started with a simple \"hello\" - this is likely the beginning of a conversation. I should respond in a way that's both welcoming and open-ended.\n\nFirst, I should acknowledge their greeting warmly. Then I should introduce myself briefly to establish context. Since this is an initial interaction, I should also express my willingness to help while inviting them to share what's on their mind.\n\nI need to make sure my response is friendly and professional, while also being concise enough not to overwhelm. The goal is to create an inviting atmosphere for further conversation.\n\nLet me craft a response that's welcoming, informative, and encourages further dialogue. I should include:\n- A warm greeting back\n- A brief introduction of who I am\n- An expression of readiness to help\n- An invitation for them to continue the conversation\n\nThis should create a good foundation for a productive interaction."},"logprobs":null,"finish_reason":"stop"}],"created":1784220767,"openmodels_cost":418,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"playground.curl_example","sourceUrl":"https://openany.si/models/glm-5.2/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"a80f9c77-4f06-4ab8-a892-45af7e6835c0","routeId":"ed6ff890-21ea-4b92-95e9-644d4e07b743","model":"glm-5.2","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5.3-flash\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":true,"routes":4,"prompt":788966,"completion":2761379,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":637241,"partnerCompletion":2230345,"partnerCacheReadPrompt":289655,"promptSource":5720000,"completionSource":20020000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"GLM-5.2 is Zhipu AI's latest flagship model, supporting a 1M context window and controllable reasoning length, with strong performance in coding and agent scenarios.","descriptionTranslations":{"ar":"GLM-5.2 هو أحدث نموذج رائد من Zhipu AI، ويدعم نافذة سياق بسعة 1M وطول استدلال قابلًا للتحكم، مع أداء قوي في سيناريوهات البرمجة والوكلاء.","ja":"GLM-5.2はZhipu AIの最新フラッグシップモデルで、1Mのコンテキストウィンドウと制御可能な推論の長さをサポートし、コーディングとエージェントのユースケースで高い性能を発揮します。","zh":"GLM-5.2 是智谱 AI 的最新旗舰模型，支持 1M 上下文窗口和可控的推理长度，在编码与智能体场景中表现出色。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["structured_outputs","reasoning","content_caching","tool_calling"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheReadPrompt":275862,"pricingTiers":[],"timePricingRules":[],"latency":3174,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.2","operations":[],"availableModes":[]},"createdAt":"2026-07-06T03:41:43Z","updatedAt":"2026-11-02T12:28:48Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Z.ai","inputPrice":"1.142857","outputPrice":"4.000000"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/glm-5.2/","upstreamModel":"glm-5.2","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["messages","model"],"properties":{"stop":{"type":"array","items":{"type":"string"},"maxItems":1},"model":{"type":"string"},"route":{"type":"object"},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string","default":"function"},"function":{"type":"object","required":["name","description","parameters"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64,"minLength":1},"parameters":{"type":"object","additionalProperties":true}}}},"additionalProperties":false},"maxItems":128},"top_p":{"type":"number","format":"float","default":0.95,"maximum":1,"minimum":0.01},"stream":{"type":"boolean","default":false},"user_id":{"type":"string","maxLength":128,"minLength":6},"messages":{"type":"array","items":{"oneOf":[{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user"],"type":"string","default":"user"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role","content"],"properties":{"role":{"enum":["system"],"type":"string","default":"system"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role"],"properties":{"role":{"enum":["assistant"],"type":"string","default":"assistant"},"content":{"oneOf":[{"type":"string"}]},"tool_calls":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"enum":["function","web_search","retrieval"],"type":"string"},"function":{"type":"object","required":["name","arguments"],"properties":{"name":{"type":"string"},"arguments":{"type":"string"}}}}}}}},{"type":"object","required":["role","content","tool_call_id"],"properties":{"role":{"enum":["tool"],"type":"string","default":"tool"},"content":{"oneOf":[{"type":"string"}]},"tool_call_id":{"type":"string"}}}]},"minItems":1},"thinking":{"type":"object","properties":{"type":{"enum":["enabled","disabled"],"type":"string","default":"enabled"},"clear_thinking":{"type":"boolean","default":true}}},"do_sample":{"type":"boolean","default":true},"max_tokens":{"type":"integer","maximum":131072,"minimum":1},"request_id":{"type":"string","maxLength":64,"minLength":6},"route_mode":{"type":"string"},"temperature":{"type":"number","format":"float","default":1,"maximum":1,"minimum":0},"tool_choice":{"oneOf":[{"enum":["auto"],"type":"string"}]},"tool_stream":{"type":"boolean","default":false},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string","default":"text"}}},"reasoning_effort":{"enum":["max","xhigh","high","medium","low","minimal","none"],"type":"string","default":"max"}}},"id":"archived-0","model":"glm-5.2","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"glm-5.2","route":{"provider":"Neolink"},"route_mode":"balanced"},"parameterSchema":[{"name":"do_sample","label":"do_sample","type":"boolean","valueType":"boolean","path":"/do_sample","required":false,"defaultValue":true,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":131072,"omitEmpty":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_effort","label":"reasoning_effort","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"defaultValue":"max","allowedValues":["max","xhigh","high","medium","low","minimal","none"],"omitEmpty":true},{"name":"request_id","label":"request_id","type":"string","valueType":"string","path":"/request_id","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"array","path":"/stop","required":false,"maxItems":1,"omitEmpty":true},{"name":"stream","label":"stream","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"thinking","label":"thinking","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"maxItems":128,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":0.95,"min":0.01,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-0758b9ab-bac7-99f3-a76c-a458c9979723","model":"glm-4.7","usage":{"total_tokens":230,"prompt_tokens":6,"completion_tokens":224,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":187}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! I'm GLM, trained by Z.ai. How can I assist you today? Whether you have questions or just want to chat, I'm happy to help.","reasoning_content":"Let me consider how to respond to this greeting effectively.\n\nThe user has started with a simple \"hello\" - this is likely the beginning of a conversation. I should respond in a way that's both welcoming and open-ended.\n\nFirst, I should acknowledge their greeting warmly. Then I should introduce myself briefly to establish context. Since this is an initial interaction, I should also express my willingness to help while inviting them to share what's on their mind.\n\nI need to make sure my response is friendly and professional, while also being concise enough not to overwhelm. The goal is to create an inviting atmosphere for further conversation.\n\nLet me craft a response that's welcoming, informative, and encourages further dialogue. I should include:\n- A warm greeting back\n- A brief introduction of who I am\n- An expression of readiness to help\n- An invitation for them to continue the conversation\n\nThis should create a good foundation for a productive interaction."},"logprobs":null,"finish_reason":"stop"}],"created":1784220767,"openmodels_cost":418,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"playground.curl_example","sourceUrl":"https://openany.si/models/glm-5.2/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"d6965f9d-0869-4454-a589-066be8efb9af","routeId":"75f83ad0-4d4c-4fcd-84c2-66a05281599b","model":"glm-5.2","provider":"Neolink","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5.3-flash\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":4,"prompt":993103,"completion":3475862,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":926897,"partnerCompletion":3244138,"partnerCacheReadPrompt":289655,"promptSource":7200000,"completionSource":25200000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat","coding","reasoning"],"description":"GLM-5.1 is a high-performance model developed by Zhipu for complex coding and long-horizon tasks.","descriptionTranslations":{"ar":"GLM-5.1 هو نموذج عالي الأداء طورته Zhipu للبرمجة المعقدة والمهام طويلة الأمد. وقد تحسنت قدراته البرمجية بشكل كبير، إلى جانب تحسينات كبيرة في معالجة المهام الممتدة.","ja":"GLM-5.1は、複雑なコーディングや長期タスク向けにZhipuが開発した高性能モデルです。コーディング能力が大幅に強化され、長時間にわたるタスクの処理能力も大きく向上しています。1つのタスクで最大8時間にわたり継続的かつ自律的に動作し、計画、実行、反復的な最適化からエンジニアリング品質の成果物の提供まで、完全なクローズドループプロセスを遂行できます。","zh":"GLM-5.1 是智谱面向复杂编码和长程任务开发的高性能模型，其代码能力得到显著增强，处理长时任务的能力也大幅提升。它可在单个任务中连续自主运行最长 8 小时，完成从规划、执行到迭代优化的完整闭环流程，并交付工程级成果。"},"modelReleaseDate":"2026-06-17","supportedFeatures":["tool_calling","reranking","content_caching"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheReadPrompt":275862,"pricingTiers":[],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.2","operations":[],"availableModes":[]},"createdAt":"2026-06-17T08:18:43Z","updatedAt":"2026-11-02T12:11:18Z"},{"id":"b1031e1c-5383-4d4e-9186-c1b7e1267623","routeId":"ae031531-d5b5-4687-9276-53494dd84001","model":"glm-5.3","provider":"nomad-text-api","modelSource":"p2p","providerKind":"community","providerLogoUrl":"https://inference.nomadsustaintech.com/favicon.svg","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST"}],"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5.3\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"hello\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":281250,"completion":1250000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":295313,"partnerCompletion":1312500,"promptSource":281250,"completionSource":1250000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"","descriptionTranslations":{},"supportedFeatures":[],"maxOutputTokens":4096,"pricingTiers":[],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.3","operations":[],"availableModes":[]},"createdAt":"2026-10-11T00:25:42Z","updatedAt":"2026-11-02T12:30:42Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Z.ai","inputPrice":"1.142857","outputPrice":"4.00"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/glm-5.3/","upstreamModel":"glm-5.3","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"user_id":{"type":"string","description":"End-user identifier associated with the request."},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"thinking":{"type":"object","description":"Thinking configuration object for GLM reasoning behavior. eg: {\"type\": \"disabled\" }"},"do_sample":{"type":"boolean","default":true,"description":"Whether to enable sampling. When true, the model uses sampling-based generation."},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"request_id":{"type":"string","description":"Client-provided request identifier for tracing and idempotency."},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"tool_stream":{"type":"boolean","default":false,"description":"Whether to enable streaming output for tool calls."},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"reasoning_effort":{"enum":["max","xhigh","high","medium","low","minimal","none"],"type":"string","description":"Controls the reasoning effort level used by the model."},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"glm-5.3","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"glm-5.3","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"do_sample","label":"do_sample","description":"Whether to enable sampling. When true, the model uses sampling-based generation.","type":"boolean","valueType":"boolean","path":"/do_sample","required":false,"defaultValue":true,"omitEmpty":true},{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Controls the reasoning effort level used by the model.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["max","xhigh","high","medium","low","minimal","none"],"omitEmpty":true},{"name":"request_id","label":"request_id","description":"Client-provided request identifier for tracing and idempotency.","type":"string","valueType":"string","path":"/request_id","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking configuration object for GLM reasoning behavior. eg: {\"type\": \"disabled\" }","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","description":"Whether to enable streaming output for tool calls.","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","description":"End-user identifier associated with the request.","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"ec57729c-75ab-4d58-bb16-24305e482df7","model":"glm-5.3","usage":{"total_tokens":263,"prompt_tokens":13,"completion_tokens":250,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":213}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! I'm your GLM model trained by Z.ai. How can I help you today? Feel free to ask any questions or share topics you'd like to discuss.","reasoning_content":"Let me consider how to respond to this greeting effectively.\n\nThe user has initiated contact with a simple \"hello,\" which suggests they may be testing the waters or just starting the conversation. This calls for a warm and inviting response that encourages further interaction.\n\nI should acknowledge their greeting in a friendly way and make them feel welcome to share more about what they need help with. It would be good to keep the tone approachable and professional, while also being open to various types of questions they might have.\n\nSince they haven't specified any particular topic or question, I should keep my response flexible and inviting. Perhaps I could offer some guidance on what I can assist with, while leaving the door open for them to direct the conversation.\n\nThe response should be concise yet welcoming, making it easy for them to continue the dialogue if they wish. I want to strike a balance between being helpful and not overwhelming them with too much information.\n\nLet me craft a response that is warm, professional, and open-ended - something that makes them feel comfortable sharing more about what they're looking for."},"finish_reason":"stop"}],"created":1787113497,"openmodels_cost":9944},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/glm-5.3/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"5c94509d-934a-4fd3-8acd-4d23abd773a4","routeId":"3044a4f2-cf5e-49f7-b7ff-4322472bcf59","model":"glm-5.3","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5.3\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"hello\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":true,"routes":2,"prompt":984828,"completion":3446897,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":984828,"partnerCompletion":3446897,"partnerCacheReadPrompt":246207,"promptSource":7140000,"completionSource":24990000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"Zhipu's latest flagship model with 1M context window and support for controllable reasoning length","descriptionTranslations":{"ar":"أحدث نموذج رائد من Zhipu، يتميز بنافذة سياق بحجم 1M ويدعم التحكم في طول عملية الاستدلال.","ja":"Zhipuの最新フラッグシップモデルで、1Mのコンテキストウィンドウを備え、推論長の制御に対応しています。","zh":"智谱最新旗舰模型，具备 1M 上下文窗口，并支持可控推理长度。"},"supportedFeatures":["tool_calling","content_caching","json_mode"],"contextWindowTokens":1024000,"maxOutputTokens":128000,"cacheReadPrompt":234483,"pricingTiers":[],"timePricingRules":[],"latency":3436,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.3","operations":[],"availableModes":[]},"createdAt":"2026-08-19T04:19:52Z","updatedAt":"2026-11-02T12:30:42Z"},{"id":"0fafa340-75c4-4ddf-b6a3-5745439f5dfd","routeId":"17573294-103e-480d-8ccc-88691c20ebce","model":"glm-5.3-flash","provider":"registration-98c39b3f-3193-47b7-bc88-e5c33db29a34","modelSource":"provider","providerKind":"community","providerLogoUrl":"https://www.abhigya.ai/logo","upstreamPath":[{"type":"generations","path":"/v1/chat/completions","method":"POST"}],"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  --data-raw '{\n  \"model\": \"abhigya-glm-5.3-flash\",\n  \"route\": {\n    \"provider\": \"abhigya\"\n  },\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":90000,"completion":300000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":94500,"partnerCompletion":315000,"partnerCacheCreationPrompt":15750,"partnerCacheReadPrompt":15750,"promptSource":90000,"completionSource":300000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat"],"description":"GLM 5.3 Flash","descriptionTranslations":{},"supportedFeatures":["tool_calling"],"cacheCreationPrompt":15000,"cacheReadPrompt":15000,"pricingTiers":[],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.3-flash","operations":[],"availableModes":[]},"createdAt":"2026-11-02T16:34:01Z","updatedAt":"2026-11-04T05:43:02Z"},{"officialPricing":{"unit":"token","currency":"CNY","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Z.ai","inputPrice":"0.114286","outputPrice":"0.400000"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/zhipu/glm-5.3-flash/","upstreamModel":"zhipu/glm-5.3-flash","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"glm-5.3-flash","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"glm-5.3-flash","route":{"provider":"Neolink"},"route_mode":"balanced"},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"ec57729c-75ab-4d58-bb16-24305e482df7","model":"glm-5.3","usage":{"total_tokens":263,"prompt_tokens":13,"completion_tokens":250,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":213}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! I'm your GLM model trained by Z.ai. How can I help you today? Feel free to ask any questions or share topics you'd like to discuss.","reasoning_content":"Let me consider how to respond to this greeting effectively.\n\nThe user has initiated contact with a simple \"hello,\" which suggests they may be testing the waters or just starting the conversation. This calls for a warm and inviting response that encourages further interaction.\n\nI should acknowledge their greeting in a friendly way and make them feel welcome to share more about what they need help with. It would be good to keep the tone approachable and professional, while also being open to various types of questions they might have.\n\nSince they haven't specified any particular topic or question, I should keep my response flexible and inviting. Perhaps I could offer some guidance on what I can assist with, while leaving the door open for them to direct the conversation.\n\nThe response should be concise yet welcoming, making it easy for them to continue the dialogue if they wish. I want to strike a balance between being helpful and not overwhelming them with too much information.\n\nLet me craft a response that is warm, professional, and open-ended - something that makes them feel comfortable sharing more about what they're looking for."},"finish_reason":"stop"}],"created":1787113497,"openmodels_cost":9944},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/zhipu/glm-5.3-flash/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"d5529554-60d1-404d-9712-e91bb3403031","routeId":"ba9631be-dc5c-4502-a395-cd6a7933928f","model":"glm-5.3-flash","provider":"Neolink","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5.3-flash\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":99310,"completion":347586,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":57931,"partnerCompletion":202759,"partnerCacheReadPrompt":16655,"promptSource":720000,"completionSource":2520000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image","coding"],"outModalities":["chat"],"description":"GLM-5.3-Flash is a low-cost, high-efficiency native multimodal model that surpasses GLM-5.2 while significantly reducing compute and cache overhead. It also strengthens capabilities in visual coding, tool calling, and professional office tasks.","descriptionTranslations":{"ar":"GLM-5.3-Flash هو نموذج أصلي متعدد الوسائط منخفض التكلفة وعالي الكفاءة، يتفوق على GLM-5.2 مع خفض كبير في تكاليف الحوسبة والتخزين المؤقت، ويعزز قدراته في البرمجة البصرية، واستدعاء الأدوات، ومهام العمل المكتبي الاحترافية.","ja":"GLM-5.3-Flashは、低コストかつ高効率なネイティブマルチモーダルモデルです。計算コストとキャッシュコストを大幅に削減しながらGLM-5.2を上回り、ビジュアルCoding、ツール呼び出し、専門的なオフィス業務の能力を強化しています。","zh":"GLM-5.3-Flash 是一款低成本、高效率的原生多模态模型，在大幅降低计算与缓存开销的同时超越 GLM-5.2，并强化了视觉 Coding、工具调用和专业办公任务能力。"},"supportedFeatures":["tool_calling","content_caching","vision","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheReadPrompt":15862,"pricingTiers":[],"timePricingRules":[],"latency":167,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.3-flash","operations":[],"availableModes":[]},"createdAt":"2026-08-28T07:33:36Z","updatedAt":"2026-11-02T12:14:50Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"","rangeEnd":272000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"5","outputPrice":"30"},{"unit":"token","match":{"kind":"tier","label":"","rangeEnd":null,"inputMode":"","rangeStart":272000,"resolution":""},"quantity":1000000,"inputPrice":"10","outputPrice":"45"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"OpenAI"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/gpt-5.5/","upstreamModel":"gpt-5.5","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"text":{"type":"object","description":"Text response configuration, including output format and verbosity. Supports plain text, JSON object, and JSON schema structured output."},"user":{"type":"string","description":"Deprecated stable end-user identifier. Prefer safety_identifier and prompt_cache_key."},"input":{"type":"object","description":"Text, image, file, or message input used to generate the response. Can be a plain string or an array of response input items."},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"store":{"type":"boolean","default":true,"description":"Whether to store the generated model response for later retrieval through the API."},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"prompt":{"type":"object","description":"Reference to a prompt template and variables, such as {\"id\":\"prompt_xxx\",\"variables\":{},\"version\":\"1\"}."},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"include":{"type":"array","items":{"type":"string"},"description":"Additional output data to include, such as file_search_call.results, web_search_call.action.sources, code_interpreter_call.outputs, message.output_text.logprobs, or reasoning.encrypted_content."},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"metadata":{"type":"object","description":"Up to 16 key-value pairs for storing structured metadata on the response."},"reasoning":{"type":"object","description":"Reasoning configuration for GPT-5 and o-series models, including effort and summary options."},"background":{"type":"boolean","description":"Whether to run the model response in the background."},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"truncation":{"enum":["auto","disabled"],"type":"string","default":"disabled","description":"Truncation strategy. auto drops older conversation items when needed; disabled returns an error if the context would exceed the model window."},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"conversation":{"type":"object","description":"Conversation reference for stateful Responses API calls. Can be a conversation ID string or an object such as {\"id\":\"conv_xxx\"}. Cannot be used with previous_response_id."},"instructions":{"type":"string","description":"A system or developer instruction inserted into the model context. When used with previous_response_id, prior instructions are not carried over."},"service_tier":{"enum":["auto","default","flex","scale","priority"],"type":"string","default":"auto","description":"Processing tier used to serve the request."},"top_logprobs":{"type":"integer","maximum":20,"minimum":0,"description":"Number of most likely tokens to return at each token position with log probabilities."},"max_tool_calls":{"type":"integer","description":"Maximum total number of built-in tool calls allowed in a response."},"stream_options":{"type":"object","description":"Options for streaming responses. Only set this when stream is true."},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"prompt_cache_key":{"type":"string","description":"Stable cache key used by OpenAI to improve prompt cache hit rates. Replaces the deprecated user field for caching."},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_output_tokens":{"type":"integer","description":"Upper bound for generated tokens, including visible output tokens and reasoning tokens."},"safety_identifier":{"type":"string","description":"Stable hashed end-user identifier used to help detect abuse. Maximum length is 64 characters."},"context_management":{"type":"array","items":{"type":"object"},"description":"Context management configuration for this request, such as compaction entries with type and compact_threshold."},"parallel_tool_calls":{"type":"boolean","default":true,"description":"Whether to allow the model to run tool calls in parallel."},"previous_response_id":{"type":"string","description":"ID of a previous response used to continue a multi-turn interaction. Cannot be used with conversation."},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"},"prompt_cache_retention":{"enum":["in-memory","24h"],"type":"string","description":"Prompt cache retention policy. Use 24h to enable extended prompt caching where supported."}}},"id":"archived-0","model":"gpt-5.5","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"gpt-5.5","route":{"provider":"Tencent-Intl"},"route_mode":"balanced"},"parameterSchema":[{"name":"background","label":"background","description":"Whether to run the model response in the background.","type":"boolean","valueType":"boolean","path":"/background","required":false,"omitEmpty":true},{"name":"context_management","label":"context_management","description":"Context management configuration for this request, such as compaction entries with type and compact_threshold.","type":"json","valueType":"array","path":"/context_management","required":false,"omitEmpty":true},{"name":"conversation","label":"conversation","description":"Conversation reference for stateful Responses API calls. Can be a conversation ID string or an object such as {\"id\":\"conv_xxx\"}. Cannot be used with previous_response_id.","type":"json","valueType":"object","path":"/conversation","required":false,"omitEmpty":true},{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"include","label":"include","description":"Additional output data to include, such as file_search_call.results, web_search_call.action.sources, code_interpreter_call.outputs, message.output_text.logprobs, or reasoning.encrypted_content.","type":"json","valueType":"array","path":"/include","required":false,"omitEmpty":true},{"name":"input","label":"input","description":"Text, image, file, or message input used to generate the response. Can be a plain string or an array of response input items.","type":"json","valueType":"object","path":"/input","required":false,"omitEmpty":true},{"name":"instructions","label":"instructions","description":"A system or developer instruction inserted into the model context. When used with previous_response_id, prior instructions are not carried over.","type":"string","valueType":"string","path":"/instructions","required":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_output_tokens","label":"max_output_tokens","description":"Upper bound for generated tokens, including visible output tokens and reasoning tokens.","type":"number","valueType":"integer","path":"/max_output_tokens","required":false,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tool_calls","label":"max_tool_calls","description":"Maximum total number of built-in tool calls allowed in a response.","type":"number","valueType":"integer","path":"/max_tool_calls","required":false,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"metadata","label":"metadata","description":"Up to 16 key-value pairs for storing structured metadata on the response.","type":"json","valueType":"object","path":"/metadata","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","description":"Whether to allow the model to run tool calls in parallel.","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"defaultValue":true,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"previous_response_id","label":"previous_response_id","description":"ID of a previous response used to continue a multi-turn interaction. Cannot be used with conversation.","type":"string","valueType":"string","path":"/previous_response_id","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","description":"Reference to a prompt template and variables, such as {\"id\":\"prompt_xxx\",\"variables\":{},\"version\":\"1\"}.","type":"json","valueType":"object","path":"/prompt","required":false,"omitEmpty":true},{"name":"prompt_cache_key","label":"prompt_cache_key","description":"Stable cache key used by OpenAI to improve prompt cache hit rates. Replaces the deprecated user field for caching.","type":"string","valueType":"string","path":"/prompt_cache_key","required":false,"omitEmpty":true},{"name":"prompt_cache_retention","label":"prompt_cache_retention","description":"Prompt cache retention policy. Use 24h to enable extended prompt caching where supported.","type":"string","valueType":"string","path":"/prompt_cache_retention","required":false,"allowedValues":["in-memory","24h"],"omitEmpty":true},{"name":"reasoning","label":"reasoning","description":"Reasoning configuration for GPT-5 and o-series models, including effort and summary options.","type":"json","valueType":"object","path":"/reasoning","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"safety_identifier","label":"safety_identifier","description":"Stable hashed end-user identifier used to help detect abuse. Maximum length is 64 characters.","type":"string","valueType":"string","path":"/safety_identifier","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"service_tier","label":"service_tier","description":"Processing tier used to serve the request.","type":"string","valueType":"string","path":"/service_tier","required":false,"defaultValue":"auto","allowedValues":["auto","default","flex","scale","priority"],"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"store","label":"store","description":"Whether to store the generated model response for later retrieval through the API.","type":"boolean","valueType":"boolean","path":"/store","required":false,"defaultValue":true,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","description":"Options for streaming responses. Only set this when stream is true.","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"text","label":"text","description":"Text response configuration, including output format and verbosity. Supports plain text, JSON object, and JSON schema structured output.","type":"json","valueType":"object","path":"/text","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_logprobs","label":"top_logprobs","description":"Number of most likely tokens to return at each token position with log probabilities.","type":"number","valueType":"integer","path":"/top_logprobs","required":false,"min":0,"max":20,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"truncation","label":"truncation","description":"Truncation strategy. auto drops older conversation items when needed; disabled returns an error if the context would exceed the model window.","type":"string","valueType":"string","path":"/truncation","required":false,"defaultValue":"disabled","allowedValues":["auto","disabled"],"omitEmpty":true},{"name":"user","label":"user","description":"Deprecated stable end-user identifier. Prefer safety_identifier and prompt_cache_key.","type":"string","valueType":"string","path":"/user","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"playground.curl_example","sourceUrl":"https://openany.si/models/gpt-5.5/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"dc19e13f-6e41-4d70-9d9e-cee782308e74","routeId":"5d5bced5-1d54-4c29-875c-f263ce6c0b38","model":"gpt-5.5","provider":"Tencent-Intl","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":5000000,"completion":30000000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":5250000,"partnerCompletion":31500000,"promptSource":5000000,"completionSource":30000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["chat"],"description":"GPT-5.5 is our newest frontier model for the most complex professional work.","descriptionTranslations":{"ar":"GPT-5.5 هو أحدث نماذجنا الرائدة، والمصمم لأداء أكثر المهام المهنية تعقيدًا.","ja":"GPT-5.5は、最も複雑なプロフェッショナル業務向けに設計された、当社の最新フロンティアモデルです。","zh":"GPT-5.5 是我们面向最复杂专业任务推出的最新前沿模型。"},"supportedFeatures":["json_mode"],"contextWindowTokens":1050000,"maxOutputTokens":128000,"pricingTiers":[{"actualCompletion":30000000,"actualPrompt":5000000,"cacheReadPrompt":500000,"completion":30000000,"partnerCacheReadPrompt":525000,"partnerCompletion":31500000,"partnerPrompt":5250000,"prompt":5000000,"rangeEnd":272000,"rangeStart":0},{"actualCompletion":45000000,"actualPrompt":10000000,"cacheReadPrompt":1000000,"completion":45000000,"partnerCacheReadPrompt":1050000,"partnerCompletion":47250000,"partnerPrompt":10500000,"prompt":10000000,"rangeStart":272000}],"timePricingRules":[],"latency":2309,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-5.5","operations":[],"availableModes":[]},"createdAt":"2026-07-28T23:07:21Z","updatedAt":"2026-11-02T06:45:29Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"gp-5.6-lu","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"store":{"type":"boolean"},"tools":{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string"}}}},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["developer","system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"metadata":{"type":"object"},"verbosity":{"enum":["low","medium","high"],"type":"string"},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"service_tier":{"type":"string"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"prompt_cache_key":{"type":"string"},"reasoning_effort":{"enum":["none","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."},"safety_identifier":{"type":"string"},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"gpt-5.6-luna","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"gpt-5.6-luna","route":{"provider":"Neolink"}},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"metadata","label":"metadata","type":"json","valueType":"object","path":"/metadata","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"prompt_cache_key","label":"prompt_cache_key","type":"string","valueType":"string","path":"/prompt_cache_key","required":false,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"safety_identifier","label":"safety_identifier","type":"string","valueType":"string","path":"/safety_identifier","required":false,"omitEmpty":true},{"name":"service_tier","label":"service_tier","type":"string","valueType":"string","path":"/service_tier","required":false,"omitEmpty":true},{"name":"store","label":"store","type":"boolean","valueType":"boolean","path":"/store","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"verbosity","label":"verbosity","type":"string","valueType":"string","path":"/verbosity","required":false,"allowedValues":["low","medium","high"],"omitEmpty":true}],"responseBody":{"id":"gen-1784711098-OzCMHbzkUL7YzxIh1xVO","cost":{"usd":0,"diem":0.00010625},"model":"openai-gpt-56-luna","usage":{"total_tokens":20,"prompt_tokens":7,"completion_tokens":13,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"audio_tokens":0,"image_tokens":0,"reasoning_tokens":0}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","refusal":null},"logprobs":null,"finish_reason":"stop","native_finish_reason":"completed"}],"created":1784711098,"service_tier":"default","openmodels_cost":8,"venice_parameters":{"enable_e2ee":true,"enable_x_search":false,"disable_thinking":false,"enable_web_search":"off","enable_web_scraping":false,"enable_web_citations":false,"web_search_citations":[],"strip_thinking_response":false,"include_venice_system_prompt":false,"include_search_results_in_stream":false,"return_search_results_as_documents":false}},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"a7739044-0ecb-4984-8e55-b557b45b14e2","routeId":"c92483cc-a300-4cb6-a9d9-129c60c49957","model":"gpt-5.6-luna","provider":"Neolink","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":183441,"completion":1100643,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":172345,"partnerCompletion":1034069,"promptSource":1329944,"completionSource":7979664,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"This model is a fast and cost-efficient option in the GPT-5.6 family. It is well suited for high-volume, latency-sensitive tasks such as chat, classification, and lightweight agentic workflows, delivering strong reasoning performance for its price tier.","descriptionTranslations":{"ar":"هذا النموذج هو خيار سريع وعالي الكفاءة من حيث التكلفة ضمن عائلة GPT-5.6. وهو مناسب للمهام كبيرة الحجم والحساسة لزمن الاستجابة، مثل المحادثات والتصنيف ومسارات عمل الوكلاء خفيفة الوزن، ويقدم أداءً استدلاليًا قويًا بالنسبة إلى فئته السعرية.","ja":"このモデルは、GPT-5.6ファミリーの高速かつコスト効率に優れたモデルです。チャット、分類、軽量なエージェントワークフローなど、大量処理かつレイテンシを重視するタスクに適しており、その価格帯で優れた推論性能を提供します。","zh":"该模型是 GPT-5.6 系列中一款快速且高性价比的模型。它适用于聊天、分类和轻量级智能体工作流等大批量、延迟敏感型任务，并以其定价水平提供出色的推理性能。"},"modelReleaseDate":"2026-07-09","supportedFeatures":["tool_calling","content_caching","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"pricingTiers":[{"actualCompletion":7140000,"actualPrompt":1190000,"cacheCreationPrompt":205172,"cacheReadPrompt":16414,"completion":1100643,"partnerCacheCreationPrompt":215431,"partnerCacheReadPrompt":17234,"partnerCompletion":1034069,"partnerPrompt":172345,"prompt":183441,"rangeEnd":272000,"rangeStart":0},{"actualCompletion":12600000,"actualPrompt":2800000,"cacheCreationPrompt":482759,"cacheReadPrompt":38621,"completion":1942312,"partnerCacheCreationPrompt":506897,"partnerCacheReadPrompt":40552,"partnerCompletion":1824828,"partnerPrompt":405517,"prompt":431625,"rangeStart":272000}],"timePricingRules":[],"latency":3931,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-5.6-luna","operations":[],"availableModes":[]},"createdAt":"2026-08-10T02:42:38Z","updatedAt":"2026-08-10T02:42:38Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/gpt-5.6-luna/","upstreamModel":"gpt-5.6-luna","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"store":{"type":"boolean"},"tools":{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string"}}}},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["developer","system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"metadata":{"type":"object"},"verbosity":{"enum":["low","medium","high"],"type":"string"},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"service_tier":{"type":"string"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"prompt_cache_key":{"type":"string"},"reasoning_effort":{"enum":["none","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."},"safety_identifier":{"type":"string"},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"gpt-5.6-luna","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"gpt-5.6-luna","route":{"provider":"Tencent-Intl"},"route_mode":"balanced"},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"metadata","label":"metadata","type":"json","valueType":"object","path":"/metadata","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"prompt_cache_key","label":"prompt_cache_key","type":"string","valueType":"string","path":"/prompt_cache_key","required":false,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"safety_identifier","label":"safety_identifier","type":"string","valueType":"string","path":"/safety_identifier","required":false,"omitEmpty":true},{"name":"service_tier","label":"service_tier","type":"string","valueType":"string","path":"/service_tier","required":false,"omitEmpty":true},{"name":"store","label":"store","type":"boolean","valueType":"boolean","path":"/store","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"verbosity","label":"verbosity","type":"string","valueType":"string","path":"/verbosity","required":false,"allowedValues":["low","medium","high"],"omitEmpty":true}],"responseBody":{"id":"gen-1784711098-OzCMHbzkUL7YzxIh1xVO","cost":{"usd":0,"diem":0.00010625},"model":"openai-gpt-56-luna","usage":{"total_tokens":20,"prompt_tokens":7,"completion_tokens":13,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"audio_tokens":0,"image_tokens":0,"reasoning_tokens":0}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","refusal":null},"logprobs":null,"finish_reason":"stop","native_finish_reason":"completed"}],"created":1784711098,"service_tier":"default","openmodels_cost":8,"venice_parameters":{"enable_e2ee":true,"enable_x_search":false,"disable_thinking":false,"enable_web_search":"off","enable_web_scraping":false,"enable_web_citations":false,"web_search_citations":[],"strip_thinking_response":false,"include_venice_system_prompt":false,"include_search_results_in_stream":false,"return_search_results_as_documents":false}},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"playground.curl_example","sourceUrl":"https://openany.si/models/gpt-5.6-luna/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"f8c189c0-60b3-4540-8fc4-3e83e29940fd","routeId":"b402523a-44c9-408f-b894-fcb4bcee58d3","model":"gpt-5.6-luna","provider":"Tencent-Intl","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":1000000,"completion":6000000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":1050000,"partnerCompletion":6300000,"promptSource":1000000,"completionSource":6000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["chat"],"description":"GPT-5.6 Luna is designed for cost-sensitive, high-volume workloads. It roughly corresponds to the nano model tier used in earlier GPT-5 families.","descriptionTranslations":{"ar":"صُمم GPT-5.6 Luna لأحمال العمل كبيرة الحجم والحساسة للتكلفة، ويعادل تقريبًا فئة نماذج nano المستخدمة في عائلات GPT-5 السابقة.","ja":"GPT-5.6 Lunaは、コストを重視する大量処理のワークロード向けに設計されています。従来のGPT-5ファミリーにおけるnanoモデル階層に概ね相当します。","zh":"GPT-5.6 Luna 专为成本敏感型的大规模工作负载而设计，大致对应此前 GPT-5 系列中的 nano 模型层级。"},"supportedFeatures":["json_mode"],"contextWindowTokens":1050000,"maxOutputTokens":128000,"pricingTiers":[{"actualCompletion":6000000,"actualPrompt":1000000,"cacheCreationPrompt":1250000,"cacheReadPrompt":100000,"completion":6000000,"partnerCacheCreationPrompt":1312500,"partnerCacheReadPrompt":105000,"partnerCompletion":6300000,"partnerPrompt":1050000,"prompt":1000000,"rangeEnd":272000,"rangeStart":0},{"actualCompletion":9000000,"actualPrompt":1000000,"cacheCreationPrompt":2500000,"cacheReadPrompt":200000,"completion":9000000,"partnerCacheCreationPrompt":2625000,"partnerCacheReadPrompt":210000,"partnerCompletion":9450000,"partnerPrompt":1050000,"prompt":1000000,"rangeStart":272000}],"timePricingRules":[],"latency":3149,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-5.6-luna","operations":[],"availableModes":[]},"createdAt":"2026-07-28T23:12:31Z","updatedAt":"2026-09-15T12:37:44Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"","rangeEnd":272000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"4","outputPrice":"20"},{"unit":"token","match":{"kind":"tier","label":"","rangeEnd":null,"inputMode":"","rangeStart":272000,"resolution":""},"quantity":1000000,"inputPrice":"8","outputPrice":"30"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"OpenAI"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/gpt-5.6-sol/","upstreamModel":"gpt-5.6-sol","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"store":{"type":"boolean"},"tools":{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string"}}}},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["developer","system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"metadata":{"type":"object"},"verbosity":{"enum":["low","medium","high"],"type":"string"},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"service_tier":{"type":"string"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"prompt_cache_key":{"type":"string"},"reasoning_effort":{"enum":["none","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."},"safety_identifier":{"type":"string"},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"gpt-5.6-sol","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"gpt-5.6-sol","route":{"provider":"Tencent-Intl"},"route_mode":"balanced"},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"metadata","label":"metadata","type":"json","valueType":"object","path":"/metadata","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"prompt_cache_key","label":"prompt_cache_key","type":"string","valueType":"string","path":"/prompt_cache_key","required":false,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"safety_identifier","label":"safety_identifier","type":"string","valueType":"string","path":"/safety_identifier","required":false,"omitEmpty":true},{"name":"service_tier","label":"service_tier","type":"string","valueType":"string","path":"/service_tier","required":false,"omitEmpty":true},{"name":"store","label":"store","type":"boolean","valueType":"boolean","path":"/store","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"verbosity","label":"verbosity","type":"string","valueType":"string","path":"/verbosity","required":false,"allowedValues":["low","medium","high"],"omitEmpty":true}],"responseBody":{"id":"gen-1784710331-4cofsyDERoKYY1wCV0jZ","cost":{"usd":0,"diem":0.00045625},"model":"openai-gpt-56-sol","usage":{"total_tokens":18,"prompt_tokens":7,"completion_tokens":11,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"audio_tokens":0,"image_tokens":0,"reasoning_tokens":0}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help?","refusal":null},"logprobs":null,"finish_reason":"stop","native_finish_reason":"completed"}],"created":1784710331,"service_tier":"default","openmodels_cost":29,"venice_parameters":{"enable_e2ee":true,"enable_x_search":false,"disable_thinking":false,"enable_web_search":"off","enable_web_scraping":false,"enable_web_citations":false,"web_search_citations":[],"strip_thinking_response":false,"include_venice_system_prompt":false,"include_search_results_in_stream":false,"return_search_results_as_documents":false}},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"playground.curl_example","sourceUrl":"https://openany.si/models/gpt-5.6-sol/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"13ac2453-baf1-4862-a43e-8d62bd527064","routeId":"4a29c580-6daa-408b-ad73-9a0a494e22df","model":"gpt-5.6-sol","provider":"Tencent-Intl","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":4000000,"completion":20000000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":4200000,"partnerCompletion":21000000,"promptSource":4000000,"completionSource":20000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["chat"],"description":"GPT-5.6 Sol is the frontier model in the GPT-5.6 family. It roughly corresponds to the unsuffixed model tier used in earlier GPT-5 families.","descriptionTranslations":{"ar":"GPT-5.6 Sol هو النموذج الرائد في عائلة GPT-5.6، ويعادل تقريبًا فئة النماذج التي كانت تُستخدم دون لاحقة في عائلات GPT-5 السابقة.","ja":"GPT-5.6 Solは、GPT-5.6ファミリーのフロンティアモデルです。従来のGPT-5ファミリーにおけるサフィックスなしのモデル階層に概ね相当します。","zh":"GPT-5.6 Sol 是 GPT-5.6 系列的前沿模型，大致对应此前 GPT-5 系列中不带后缀的模型层级。"},"supportedFeatures":["json_mode"],"contextWindowTokens":1050000,"maxOutputTokens":128000,"pricingTiers":[{"actualCompletion":20000000,"actualPrompt":4000000,"cacheCreationPrompt":5000000,"cacheReadPrompt":400000,"completion":20000000,"partnerCacheCreationPrompt":5250000,"partnerCacheReadPrompt":420000,"partnerCompletion":21000000,"partnerPrompt":4200000,"prompt":4000000,"rangeEnd":272000,"rangeStart":0},{"actualCompletion":30000000,"actualPrompt":8000000,"cacheCreationPrompt":10000000,"cacheReadPrompt":800000,"completion":30000000,"partnerCacheCreationPrompt":10500000,"partnerCacheReadPrompt":840000,"partnerCompletion":31500000,"partnerPrompt":8400000,"prompt":8000000,"rangeStart":272000}],"timePricingRules":[],"latency":302,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-5.6-sol","operations":[],"availableModes":[]},"createdAt":"2026-07-28T23:16:42Z","updatedAt":"2026-11-04T12:49:16Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"gp-5.6-te","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"store":{"type":"boolean"},"tools":{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string"}}}},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["developer","system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"metadata":{"type":"object"},"verbosity":{"enum":["low","medium","high"],"type":"string"},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"service_tier":{"type":"string"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"prompt_cache_key":{"type":"string"},"reasoning_effort":{"enum":["none","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."},"safety_identifier":{"type":"string"},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"gpt-5.6-terra","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"gpt-5.6-terra","route":{"provider":"Neolink"}},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"metadata","label":"metadata","type":"json","valueType":"object","path":"/metadata","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"prompt_cache_key","label":"prompt_cache_key","type":"string","valueType":"string","path":"/prompt_cache_key","required":false,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"safety_identifier","label":"safety_identifier","type":"string","valueType":"string","path":"/safety_identifier","required":false,"omitEmpty":true},{"name":"service_tier","label":"service_tier","type":"string","valueType":"string","path":"/service_tier","required":false,"omitEmpty":true},{"name":"store","label":"store","type":"boolean","valueType":"boolean","path":"/store","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"verbosity","label":"verbosity","type":"string","valueType":"string","path":"/verbosity","required":false,"allowedValues":["low","medium","high"],"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"fd034a37-095d-426d-9e0a-3a579167868b","routeId":"6b2d25c6-4034-4f5e-8721-e65e2e7b0b8d","model":"gpt-5.6-terra","provider":"Neolink","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":1835255,"completion":11011531,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":1824828,"partnerCompletion":10948966,"promptSource":13305600,"completionSource":79833600,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"This model is the balanced option in the GPT-5.6 family, positioned between the frontier-tier Sol and the cost-efficient Luna. It is well suited for everyday coding, reasoning, and agentic tasks that require a balance between capability and cost, delivering strong performance at roughly half the cost of Sol.","descriptionTranslations":{"ar":"هذا النموذج هو الخيار المتوازن ضمن عائلة GPT-5.6، ويتموضع بين فئة Sol الرائدة وفئة Luna الأعلى من حيث كفاءة التكلفة. وهو مناسب لمهام البرمجة والاستدلال والوكلاء اليومية التي تتطلب توازنًا بين القدرات والتكلفة، إذ يقدم أداءً قويًا بتكلفة تعادل نحو نصف تكلفة Sol.","ja":"このモデルはGPT-5.6ファミリーのバランス型モデルで、フロンティアモデルのSolとコストパフォーマンスに優れたLunaの中間に位置します。能力とコストの両立が求められる日常的なコーディング、推論、エージェントタスクに適しており、Solの約半分のコストで高い性能を提供します。","zh":"该模型是 GPT-5.6 系列中的均衡型模型，定位介于旗舰级 Sol 与高性价比的 Luna 之间。它适用于需要兼顾能力与成本的日常编程、推理和智能体任务，以约为 Sol 一半的成本提供强劲性能。"},"modelReleaseDate":"2026-07-09","supportedFeatures":["tool_calling","reasoning","content_caching"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"pricingTiers":[{"actualCompletion":75600000,"actualPrompt":12600000,"cacheCreationPrompt":2413793,"cacheReadPrompt":193103,"completion":11011531,"partnerCacheCreationPrompt":2534483,"partnerCacheReadPrompt":202759,"partnerCompletion":10948966,"partnerPrompt":1824828,"prompt":1835255,"rangeEnd":272000,"rangeStart":0},{"actualCompletion":113400000,"actualPrompt":25200000,"cacheCreationPrompt":4827586,"cacheReadPrompt":386207,"completion":16517297,"partnerCacheCreationPrompt":5068966,"partnerCacheReadPrompt":405517,"partnerCompletion":16423448,"partnerPrompt":3649655,"prompt":3670510,"rangeStart":272000}],"timePricingRules":[],"latency":2184,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-5.6-terra","operations":[],"availableModes":[]},"createdAt":"2026-08-10T01:53:59Z","updatedAt":"2026-08-10T01:53:59Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/gpt-5.6-terra/","upstreamModel":"gpt-5.6-terra","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"store":{"type":"boolean"},"tools":{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string"}}}},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["developer","system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"metadata":{"type":"object"},"verbosity":{"enum":["low","medium","high"],"type":"string"},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"service_tier":{"type":"string"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"prompt_cache_key":{"type":"string"},"reasoning_effort":{"enum":["none","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."},"safety_identifier":{"type":"string"},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"gpt-5.6-terra","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"gpt-5.6-terra","route":{"provider":"Tencent-Intl"},"route_mode":"balanced"},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"metadata","label":"metadata","type":"json","valueType":"object","path":"/metadata","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"prompt_cache_key","label":"prompt_cache_key","type":"string","valueType":"string","path":"/prompt_cache_key","required":false,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"safety_identifier","label":"safety_identifier","type":"string","valueType":"string","path":"/safety_identifier","required":false,"omitEmpty":true},{"name":"service_tier","label":"service_tier","type":"string","valueType":"string","path":"/service_tier","required":false,"omitEmpty":true},{"name":"store","label":"store","type":"boolean","valueType":"boolean","path":"/store","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"verbosity","label":"verbosity","type":"string","valueType":"string","path":"/verbosity","required":false,"allowedValues":["low","medium","high"],"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"playground.curl_example","sourceUrl":"https://openany.si/models/gpt-5.6-terra/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"4ace3f6a-05dd-4876-b8e0-28fe9f9a73f2","routeId":"9a6f6660-9909-40c9-91e5-6ca3b05aea84","model":"gpt-5.6-terra","provider":"Tencent-Intl","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":2500000,"completion":15000000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":2625000,"partnerCompletion":15750000,"promptSource":2500000,"completionSource":15000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["chat"],"description":"GPT-5.6 Terra is designed for workloads that balance intelligence and cost. It roughly corresponds to the mini model tier used in earlier GPT-5 families.","descriptionTranslations":{"ar":"صُمم GPT-5.6 Terra لأحمال العمل التي تتطلب توازنًا بين الذكاء والتكلفة، ويعادل تقريبًا فئة نماذج mini المستخدمة في عائلات GPT-5 السابقة.","ja":"GPT-5.6 Terraは、知能とコストのバランスが求められるワークロード向けに設計されています。従来のGPT-5ファミリーにおけるminiモデル階層に概ね相当します。","zh":"GPT-5.6 Terra 专为兼顾智能水平与成本的工作负载而设计，大致对应此前 GPT-5 系列中的 mini 模型层级。"},"supportedFeatures":["json_mode"],"contextWindowTokens":1050000,"maxOutputTokens":128000,"pricingTiers":[{"actualCompletion":15000000,"actualPrompt":2500000,"cacheCreationPrompt":3125000,"cacheReadPrompt":250000,"completion":15000000,"partnerCacheCreationPrompt":3281250,"partnerCacheReadPrompt":262500,"partnerCompletion":15750000,"partnerPrompt":2625000,"prompt":2500000,"rangeEnd":272000,"rangeStart":0},{"actualCompletion":22500000,"actualPrompt":5000000,"cacheCreationPrompt":6250000,"cacheReadPrompt":500000,"completion":22500000,"partnerCacheCreationPrompt":6562500,"partnerCacheReadPrompt":525000,"partnerCompletion":23625000,"partnerPrompt":5250000,"prompt":5000000,"rangeStart":272000}],"timePricingRules":[],"latency":2518,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-5.6-terra","operations":[],"availableModes":[]},"createdAt":"2026-07-28T23:20:18Z","updatedAt":"2026-11-02T13:40:44Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/gp-6-as/","upstreamModel":"gp-6-as","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"gpt-6-astra","provider":"OpenAI","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"gpt-6-astra","route":{"provider":"OpenAI"},"route_mode":"balanced"},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-EOHKxrwTp6LA3508RLSQreIYRXXcW","model":"gpt-6-astra-2026-09-03","usage":{"total_tokens":19,"prompt_tokens":7,"completion_tokens":12,"latency_checkpoint":{"service_tbt_ms":11,"service_ttft_ms":880,"service_ttlt_ms":1008,"pre_inference_ms":99,"user_visible_ttft_ms":781},"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0,"cache_write_tokens":0},"completion_tokens_details":{"audio_tokens":0,"reasoning_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hi! How can I help you today?","refusal":null,"annotations":[]},"logprobs":null,"finish_reason":"stop","content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"protected_material_code":{"detected":false,"filtered":false},"protected_material_text":{"detected":false,"filtered":false}}}],"created":1789455223,"routing":{"serving_pipereplica":"d20260914003718-8a963836-prefill-r12-dp0-prefill"},"service_tier":"default","openmodels_cost":695,"system_fingerprint":null,"prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"},"jailbreak":{"detected":false,"filtered":false},"self_harm":{"filtered":false,"severity":"safe"}}}]},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/gp-6-as/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"337995c0-1604-40f8-89e8-660c95efc14d","routeId":"ee9c0144-b5d1-4e5d-9c79-b281c0647cc1","model":"gpt-6-astra","provider":"OpenAI","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"curl https://api.getopenmodels.com/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -d '{\n  \"model\": \"deepseek-v4.1-flash\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":9172028,"completion":45860138,"imageCompletion":0,"partnerPriceMultiplierBps":11176,"partnerPrompt":9172028,"partnerCompletion":45860138,"partnerCacheCreationPrompt":13488276,"partnerCacheReadPrompt":1079062,"promptSource":66497200,"completionSource":332486000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat"],"description":"GPT-6 Astra is OpenAI's most capable model, designed to handle demanding tasks from start to finish. It is suited to complex reasoning, coding, computer use, research, and document creation, with adjustable reasoning effort to match task requirements.","descriptionTranslations":{"ar":"يُعد GPT-6 Astra النموذج الأكثر قدرة لدى OpenAI، وقد صُمم لإنجاز المهام الأكثر تعقيدًا من البداية إلى النهاية. وهو مناسب للاستدلال المعقد والبرمجة واستخدام الحاسوب والبحث وإنشاء المستندات، مع إمكانية ضبط مستوى الجهد الاستدلالي وفقًا لمتطلبات المهمة.","en":"GPT-6 Astra is OpenAI's most capable model, designed to handle demanding tasks from start to finish. It is suited to complex reasoning, coding, computer use, research, and document creation, with adjustable reasoning effort to match task requirements.","ja":"GPT-6 Astraは、OpenAIで最も高い能力を備えたモデルで、難度の高いタスクを最初から最後まで遂行できるように設計されています。複雑な推論、コーディング、コンピューター操作、調査、ドキュメント作成に適しており、タスクの要件に応じて推論にかける労力を調整できます。","zh":"GPT-6 Astra 是 OpenAI 能力最强的模型，专为端到端完成高难度任务而设计。它适用于复杂推理、编程、计算机操作、研究和文档创建，并支持根据任务需求调整推理强度。"},"modelReleaseDate":"2026-09-04","supportedFeatures":["tool_calling","reasoning","content_caching"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheCreationPrompt":12068966,"cacheReadPrompt":965517,"pricingTiers":[{"actualCompletion":297500000,"actualPrompt":59500000,"cacheCreationPrompt":12068966,"cacheReadPrompt":965517,"completion":45860138,"label":"input tokens \u003c= 272K","partnerCacheCreationPrompt":13488276,"partnerCacheReadPrompt":1079062,"partnerCompletion":45860138,"partnerPrompt":9172028,"prompt":9172028,"rangeEnd":272000,"rangeStart":0},{"actualCompletion":446250000,"actualPrompt":119000000,"cacheCreationPrompt":24137931,"cacheReadPrompt":1931034,"completion":68790207,"label":"input tokens \u003e 272K","partnerCacheCreationPrompt":26976552,"partnerCacheReadPrompt":2158124,"partnerCompletion":68790207,"partnerPrompt":18344055,"prompt":18344055,"rangeStart":272000}],"timePricingRules":[],"latency":2126,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-6-astra","operations":[],"availableModes":[]},"createdAt":"2026-09-15T06:50:56Z","updatedAt":"2026-09-15T07:29:30Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.0647","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.0527","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.1190","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.1899","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.1070","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.1779","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"OpenAI"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/openai/gpt-image-2","upstreamModel":"openai/gpt-image-2","formats":[{"id":"yir:openai/gpt-image-2:text","model":"gpt-image-2","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"gpt-image-2","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"],"allowedValues":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"]},{"name":"quality","label":"Quality","description":"Image generation quality tier.","type":"select","valueType":"string","path":"/parameters/quality","required":false,"options":["low","medium","high"],"allowedValues":["low","medium","high"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/openai/gpt-image-2","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:openai/gpt-image-2:image","model":"gpt-image-2","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"gpt-image-2","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"],"allowedValues":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"]},{"name":"quality","label":"Quality","description":"Image generation quality tier.","type":"select","valueType":"string","path":"/parameters/quality","required":false,"options":["low","medium","high"],"allowedValues":["low","medium","high"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":16,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":16,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/openai/gpt-image-2","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"402a944a-4bb9-4b97-9799-e8ed8b964a6b","routeId":"623c5318-9cf2-4731-a7ba-def8c1bb4b67","model":"gpt-image-2","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/openai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"openai/gpt-image-2"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"quality":{"enum":["low","medium","high"],"type":"string","description":"Image generation quality tier."},"resolution":{"enum":["1K","2K","4K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"],"type":"string","default":"auto","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":16,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":8500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":8500,"partnerCompletion":0,"promptSource":8500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"OpenAI flagship image generation model with multimodal reference and editing capabilities","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":8500,"catalogReferences":[{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":8500,"prompt":8500,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.022","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2","specification_label":"4K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.022","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2","specification_label":"4K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":15000,"catalogReferences":[{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":15000,"prompt":15000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":22000,"catalogReferences":[{"unit":"image","amount":"0.022","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":22000,"prompt":22000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":8500,"catalogReferences":[{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":8500,"prompt":8500,"rangeStart":0,"resolution":"1k"},{"actualCompletion":0,"actualPrompt":15000,"catalogReferences":[{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":15000,"prompt":15000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":22000,"catalogReferences":[{"unit":"image","amount":"0.022","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":22000,"prompt":22000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-image-2","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:37Z","updatedAt":"2026-10-31T12:05:56Z"},{"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/openai/gpt-image-2-5-flare","upstreamModel":"openai/gpt-image-2.5-flare","formats":[{"id":"yir:openai/gpt-image-2.5-flare:text","model":"gpt-image-2.5-flare","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"gpt-image-2.5-flare","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"],"allowedValues":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"]},{"name":"quality","label":"Quality","description":"Image generation quality tier.","type":"select","valueType":"string","path":"/parameters/quality","required":false,"options":["low","medium","high","xhigh","max"],"allowedValues":["low","medium","high","xhigh","max"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/openai/gpt-image-2-5-flare","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:openai/gpt-image-2.5-flare:image","model":"gpt-image-2.5-flare","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"gpt-image-2.5-flare","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"],"allowedValues":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"]},{"name":"quality","label":"Quality","description":"Image generation quality tier.","type":"select","valueType":"string","path":"/parameters/quality","required":false,"options":["low","medium","high","xhigh","max"],"allowedValues":["low","medium","high","xhigh","max"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":16,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":16,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/openai/gpt-image-2-5-flare","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"4e2f20ed-7f80-4862-8e25-d93774ce5f92","routeId":"6692bf1b-d61b-4ab8-8734-2336d55d2afe","model":"gpt-image-2.5-flare","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/openai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"openai/gpt-image-2.5-flare"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"quality":{"enum":["low","medium","high","xhigh","max"],"type":"string","description":"Image generation quality tier."},"resolution":{"enum":["1K","2K","4K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"],"type":"string","default":"auto","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":16,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":8500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":8500,"partnerCompletion":0,"promptSource":8500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"OpenAI image model for everyday generation and fast iteration","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":8500,"catalogReferences":[{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":8500,"prompt":8500,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"4K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"4K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":30000,"catalogReferences":[{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":30000,"prompt":30000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":40000,"catalogReferences":[{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":40000,"prompt":40000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":8500,"catalogReferences":[{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":8500,"prompt":8500,"rangeStart":0,"resolution":"1k"},{"actualCompletion":0,"actualPrompt":30000,"catalogReferences":[{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":30000,"prompt":30000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":40000,"catalogReferences":[{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-flare","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":40000,"prompt":40000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-image-2.5-flare","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:37Z","updatedAt":"2026-10-31T09:25:37Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"custom-model-og-v2.5-f","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model"],"properties":{"n":{"type":"integer","default":1,"maximum":10,"minimum":1,"description":"Number of images to generate. Must be between 1 and 10."},"size":{"type":"string","description":"Generated image size. Custom sizes are supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400."},"model":{"enum":["custom-model-og-v2","custom-model-og-v2.5-f","custom-model-og-v2.5-s"],"type":"string","description":"Model selection."},"prompt":{"type":"string","description":"Text description for image generation. Maximum length is 32,000 characters."},"quality":{"enum":["auto","high","medium","low","xhigh","max"],"type":"string","description":"Output image quality. Available values are auto, high, medium, and low. The v2.5 models additionally support xhigh and max."},"logo_add":{"enum":[0,1],"type":"integer","default":0,"description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it."},"background":{"enum":["opaque","transparent","auto"],"type":"string","description":"Background transparency setting. Available values are opaque, transparent, and auto. When auto is used, the model automatically determines the best background."},"output_format":{"enum":["png","jpeg"],"type":"string","description":"Output image format. Available values are png and jpeg."},"response_format":{"enum":["url","b64_json"],"type":"string","description":"Response format for generated images. Available values are url and b64_json."},"output_compression":{"type":"integer","maximum":100,"minimum":0,"description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg."}}},"id":"archived-0","model":"gpt-image-2.5-flare","provider":"Tencent","endpointPath":"/v1/images/edit","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images/edit","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"images":[{"image_url":"https://openmodels.market/brand/playground-default-image.png"}],"model":"gpt-image-2.5-flare","prompt":"add fish in water","quality":"low","route":{"provider":"Tencent"},"size":"1024x1024"},"parameterSchema":[{"name":"background","label":"background","description":"Background transparency setting. Available values are opaque, transparent, and auto. When auto is used, the model automatically determines the best background.","type":"string","valueType":"string","path":"/background","required":false,"allowedValues":["opaque","transparent","auto"],"omitEmpty":true},{"name":"logo_add","label":"logo_add","description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it.","type":"number","valueType":"integer","path":"/logo_add","required":false,"defaultValue":0,"allowedValues":[0,1],"omitEmpty":true},{"name":"model","label":"model","description":"Model selection.","type":"string","valueType":"string","path":"/model","required":true,"allowedValues":["custom-model-og-v2","custom-model-og-v2.5-f","custom-model-og-v2.5-s"]},{"name":"n","label":"n","description":"Number of images to generate. Must be between 1 and 10.","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":10,"omitEmpty":true},{"name":"output_compression","label":"output_compression","description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg.","type":"number","valueType":"integer","path":"/output_compression","required":false,"min":0,"max":100,"omitEmpty":true},{"name":"output_format","label":"output_format","description":"Output image format. Available values are png and jpeg.","type":"string","valueType":"string","path":"/output_format","required":false,"allowedValues":["png","jpeg"],"omitEmpty":true},{"name":"prompt","label":"prompt","description":"Text description for image generation. Maximum length is 32,000 characters.","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"quality","label":"quality","description":"Output image quality. Available values are auto, high, medium, and low. The v2.5 models additionally support xhigh and max.","type":"string","valueType":"string","path":"/quality","required":false,"allowedValues":["auto","high","medium","low","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Response format for generated images. Available values are url and b64_json.","type":"string","valueType":"string","path":"/response_format","required":false,"allowedValues":["url","b64_json"],"omitEmpty":true},{"name":"size","label":"size","description":"Generated image size. Custom sizes are supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400.","type":"string","valueType":"string","path":"/size","required":false,"omitEmpty":true}],"responseBody":{"data":[{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Fd02700b5-7252-4d2f-8e96-4dfaf93a2275.png","generation_id":"bcc65ff2-bb89-4e8f-b089-d81941d6df6f"}],"size":"1024x1024","created":1789347068,"quality":"low","background":"opaque","request_id":"e5c2558e-c87e-4282-83be-3d90a1718293","output_format":"png","tokenhub_usage":{"total_tokens":3974},"openmodels_cost":5887},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0},{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model"],"properties":{"n":{"type":"integer","default":1,"maximum":10,"minimum":1,"description":"Number of images to generate. Must be between 1 and 10."},"size":{"type":"string","description":"Generated image size. Custom sizes are supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400."},"model":{"enum":["custom-model-og-v2","custom-model-og-v2.5-f","custom-model-og-v2.5-s"],"type":"string","description":"Model selection."},"prompt":{"type":"string","description":"Text description for image generation. Maximum length is 32,000 characters."},"quality":{"enum":["auto","high","medium","low","xhigh","max"],"type":"string","description":"Output image quality. Available values are auto, high, medium, and low. The v2.5 models additionally support xhigh and max."},"logo_add":{"enum":[0,1],"type":"integer","default":0,"description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it."},"background":{"enum":["opaque","transparent","auto"],"type":"string","description":"Background transparency setting. Available values are opaque, transparent, and auto. When auto is used, the model automatically determines the best background."},"output_format":{"enum":["png","jpeg"],"type":"string","description":"Output image format. Available values are png and jpeg."},"response_format":{"enum":["url","b64_json"],"type":"string","description":"Response format for generated images. Available values are url and b64_json."},"output_compression":{"type":"integer","maximum":100,"minimum":0,"description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg."}}},"id":"archived-1","model":"gpt-image-2.5-flare","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"gpt-image-2.5-flare","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"background","label":"background","description":"Background transparency setting. Available values are opaque, transparent, and auto. When auto is used, the model automatically determines the best background.","type":"string","valueType":"string","path":"/background","required":false,"allowedValues":["opaque","transparent","auto"],"omitEmpty":true},{"name":"logo_add","label":"logo_add","description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it.","type":"number","valueType":"integer","path":"/logo_add","required":false,"defaultValue":0,"allowedValues":[0,1],"omitEmpty":true},{"name":"model","label":"model","description":"Model selection.","type":"string","valueType":"string","path":"/model","required":true,"allowedValues":["custom-model-og-v2","custom-model-og-v2.5-f","custom-model-og-v2.5-s"]},{"name":"n","label":"n","description":"Number of images to generate. Must be between 1 and 10.","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":10,"omitEmpty":true},{"name":"output_compression","label":"output_compression","description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg.","type":"number","valueType":"integer","path":"/output_compression","required":false,"min":0,"max":100,"omitEmpty":true},{"name":"output_format","label":"output_format","description":"Output image format. Available values are png and jpeg.","type":"string","valueType":"string","path":"/output_format","required":false,"allowedValues":["png","jpeg"],"omitEmpty":true},{"name":"prompt","label":"prompt","description":"Text description for image generation. Maximum length is 32,000 characters.","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"quality","label":"quality","description":"Output image quality. Available values are auto, high, medium, and low. The v2.5 models additionally support xhigh and max.","type":"string","valueType":"string","path":"/quality","required":false,"allowedValues":["auto","high","medium","low","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Response format for generated images. Available values are url and b64_json.","type":"string","valueType":"string","path":"/response_format","required":false,"allowedValues":["url","b64_json"],"omitEmpty":true},{"name":"size","label":"size","description":"Generated image size. Custom sizes are supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400.","type":"string","valueType":"string","path":"/size","required":false,"omitEmpty":true}],"responseBody":{"data":[{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Fd02700b5-7252-4d2f-8e96-4dfaf93a2275.png","generation_id":"bcc65ff2-bb89-4e8f-b089-d81941d6df6f"}],"size":"1024x1024","created":1789347068,"quality":"low","background":"opaque","request_id":"e5c2558e-c87e-4282-83be-3d90a1718293","output_format":"png","tokenhub_usage":{"total_tokens":3974},"openmodels_cost":5887},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"6c943099-4cf3-4912-9a62-c79923a6d3dd","routeId":"c428343d-3f96-44c9-85f2-9de47b3c5409","model":"gpt-image-2.5-flare","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/wand/og-image/generation","method":"POST"},{"type":"edit","path":"/v1/wand/og-image/images/edits","method":"POST"}],"curlExample":"curl --location --request POST 'https://api.getopenmodels.com/v1/images' \\\n--header 'authorization: Bearer ' \\\n--header 'content-type: application/json' \\\n--data-raw '{ \n    \"model\": \"gpt-image2\",\n    \"quality\": \"low\",\n    \"prompt\": \"小猫跳舞\",\n    \"size\": \"1024x1024\"\n}'\n\n\n\ncurl --location --request POST 'https://api.getopenmodels.com/v1/images/edit' \\\n--header 'authorization: Bearer ' \\\n--header 'content-type: application/json' \\\n--data-raw '{\n    \"model\": \"gpt-image2\",\n    \"quality\": \"low\",\n    \"prompt\": \"add fish in water\",\n    \"images\": [{ \"image_url\": \"https://openmodels.market/brand/playground-default-image.png\"}],\n    \"size\": \"1024x1024\"\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":0,"completion":1379310,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":0,"partnerCompletion":1448276,"promptSource":0,"completionSource":10000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["image"],"description":"","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":329,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-image-2.5-flare","operations":[],"availableModes":[]},"createdAt":"2026-09-12T14:08:32Z","updatedAt":"2026-09-15T01:00:00Z"},{"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/openai/gpt-image-2-5-sunburst","upstreamModel":"openai/gpt-image-2.5-sunburst","formats":[{"id":"yir:openai/gpt-image-2.5-sunburst:text","model":"gpt-image-2.5-sunburst","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"gpt-image-2.5-sunburst","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"],"allowedValues":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"]},{"name":"quality","label":"Quality","description":"Image generation quality tier.","type":"select","valueType":"string","path":"/parameters/quality","required":false,"options":["low","medium","high","xhigh","max"],"allowedValues":["low","medium","high","xhigh","max"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/openai/gpt-image-2-5-sunburst","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:openai/gpt-image-2.5-sunburst:image","model":"gpt-image-2.5-sunburst","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"gpt-image-2.5-sunburst","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"],"allowedValues":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"]},{"name":"quality","label":"Quality","description":"Image generation quality tier.","type":"select","valueType":"string","path":"/parameters/quality","required":false,"options":["low","medium","high","xhigh","max"],"allowedValues":["low","medium","high","xhigh","max"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":16,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":16,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/openai/gpt-image-2-5-sunburst","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"0cd96c52-d61d-4bea-a62d-95afd0e2e803","routeId":"a0fc087b-e4f8-4c37-98ad-000bb4c633ec","model":"gpt-image-2.5-sunburst","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/openai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"openai/gpt-image-2.5-sunburst"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"quality":{"enum":["low","medium","high","xhigh","max"],"type":"string","description":"Image generation quality tier."},"resolution":{"enum":["1K","2K","4K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["auto","1:1","3:2","2:3","4:3","3:4","5:4","4:5","16:9","9:16","2:1","1:2","3:1","1:3","21:9","9:21"],"type":"string","default":"auto","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":16,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":8500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":8500,"partnerCompletion":0,"promptSource":8500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"OpenAI image model for precise editing and detailed visual work","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":8500,"catalogReferences":[{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":8500,"prompt":8500,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"4K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"4K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":30000,"catalogReferences":[{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":30000,"prompt":30000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":40000,"catalogReferences":[{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":40000,"prompt":40000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":8500,"catalogReferences":[{"unit":"image","amount":"0.0085","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":8500,"prompt":8500,"rangeStart":0,"resolution":"1k"},{"actualCompletion":0,"actualPrompt":30000,"catalogReferences":[{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":30000,"prompt":30000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":40000,"catalogReferences":[{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"openai/gpt-image-2.5-sunburst","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":40000,"prompt":40000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-image-2.5-sunburst","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:37Z","updatedAt":"2026-10-31T09:25:37Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"custom-model-og-v2.5-s","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model"],"properties":{"n":{"type":"integer","default":1,"maximum":10,"minimum":1,"description":"Number of images to generate. Must be between 1 and 10."},"size":{"type":"string","description":"Generated image size. Custom sizes are supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400."},"model":{"enum":["custom-model-og-v2","custom-model-og-v2.5-f","custom-model-og-v2.5-s"],"type":"string","description":"Model selection."},"prompt":{"type":"string","description":"Text description for image generation. Maximum length is 32,000 characters."},"quality":{"enum":["auto","high","medium","low","xhigh","max"],"type":"string","description":"Output image quality. Available values are auto, high, medium, and low. The v2.5 models additionally support xhigh and max."},"logo_add":{"enum":[0,1],"type":"integer","default":0,"description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it."},"background":{"enum":["opaque","transparent","auto"],"type":"string","description":"Background transparency setting. Available values are opaque, transparent, and auto. When auto is used, the model automatically determines the best background."},"output_format":{"enum":["png","jpeg"],"type":"string","description":"Output image format. Available values are png and jpeg."},"response_format":{"enum":["url","b64_json"],"type":"string","description":"Response format for generated images. Available values are url and b64_json."},"output_compression":{"type":"integer","maximum":100,"minimum":0,"description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg."}}},"id":"archived-0","model":"gpt-image-2.5-sunburst","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"gpt-image-2.5-sunburst","prompt":"A small river flowing","quality":"low","route":{"provider":"Tencent"},"size":"1024x1024"},"parameterSchema":[{"name":"background","label":"background","description":"Background transparency setting. Available values are opaque, transparent, and auto. When auto is used, the model automatically determines the best background.","type":"string","valueType":"string","path":"/background","required":false,"allowedValues":["opaque","transparent","auto"],"omitEmpty":true},{"name":"logo_add","label":"logo_add","description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it.","type":"number","valueType":"integer","path":"/logo_add","required":false,"defaultValue":0,"allowedValues":[0,1],"omitEmpty":true},{"name":"model","label":"model","description":"Model selection.","type":"string","valueType":"string","path":"/model","required":true,"allowedValues":["custom-model-og-v2","custom-model-og-v2.5-f","custom-model-og-v2.5-s"]},{"name":"n","label":"n","description":"Number of images to generate. Must be between 1 and 10.","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":10,"omitEmpty":true},{"name":"output_compression","label":"output_compression","description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg.","type":"number","valueType":"integer","path":"/output_compression","required":false,"min":0,"max":100,"omitEmpty":true},{"name":"output_format","label":"output_format","description":"Output image format. Available values are png and jpeg.","type":"string","valueType":"string","path":"/output_format","required":false,"allowedValues":["png","jpeg"],"omitEmpty":true},{"name":"prompt","label":"prompt","description":"Text description for image generation. Maximum length is 32,000 characters.","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"quality","label":"quality","description":"Output image quality. Available values are auto, high, medium, and low. The v2.5 models additionally support xhigh and max.","type":"string","valueType":"string","path":"/quality","required":false,"allowedValues":["auto","high","medium","low","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Response format for generated images. Available values are url and b64_json.","type":"string","valueType":"string","path":"/response_format","required":false,"allowedValues":["url","b64_json"],"omitEmpty":true},{"name":"size","label":"size","description":"Generated image size. Custom sizes are supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400.","type":"string","valueType":"string","path":"/size","required":false,"omitEmpty":true}],"responseBody":{"data":[{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Fd02700b5-7252-4d2f-8e96-4dfaf93a2275.png","generation_id":"bcc65ff2-bb89-4e8f-b089-d81941d6df6f"}],"size":"1024x1024","created":1789347068,"quality":"low","background":"opaque","request_id":"e5c2558e-c87e-4282-83be-3d90a1718293","output_format":"png","tokenhub_usage":{"total_tokens":3974},"openmodels_cost":5887},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0},{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model"],"properties":{"n":{"type":"integer","default":1,"maximum":10,"minimum":1,"description":"Number of images to generate. Must be between 1 and 10."},"size":{"type":"string","description":"Generated image size. Custom sizes are supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400."},"model":{"enum":["custom-model-og-v2","custom-model-og-v2.5-f","custom-model-og-v2.5-s"],"type":"string","description":"Model selection."},"prompt":{"type":"string","description":"Text description for image generation. Maximum length is 32,000 characters."},"quality":{"enum":["auto","high","medium","low","xhigh","max"],"type":"string","description":"Output image quality. Available values are auto, high, medium, and low. The v2.5 models additionally support xhigh and max."},"logo_add":{"enum":[0,1],"type":"integer","default":0,"description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it."},"background":{"enum":["opaque","transparent","auto"],"type":"string","description":"Background transparency setting. Available values are opaque, transparent, and auto. When auto is used, the model automatically determines the best background."},"output_format":{"enum":["png","jpeg"],"type":"string","description":"Output image format. Available values are png and jpeg."},"response_format":{"enum":["url","b64_json"],"type":"string","description":"Response format for generated images. Available values are url and b64_json."},"output_compression":{"type":"integer","maximum":100,"minimum":0,"description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg."}}},"id":"archived-1","model":"gpt-image-2.5-sunburst","provider":"Tencent","endpointPath":"/v1/images/edit","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images/edit","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"images":[{"image_url":"https://openmodels.market/brand/playground-default-image.png"}],"model":"gpt-image-2.5-sunburst","prompt":"add fish in water","quality":"low","route":{"provider":"Tencent"},"size":"1024x1024"},"parameterSchema":[{"name":"background","label":"background","description":"Background transparency setting. Available values are opaque, transparent, and auto. When auto is used, the model automatically determines the best background.","type":"string","valueType":"string","path":"/background","required":false,"allowedValues":["opaque","transparent","auto"],"omitEmpty":true},{"name":"logo_add","label":"logo_add","description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it.","type":"number","valueType":"integer","path":"/logo_add","required":false,"defaultValue":0,"allowedValues":[0,1],"omitEmpty":true},{"name":"model","label":"model","description":"Model selection.","type":"string","valueType":"string","path":"/model","required":true,"allowedValues":["custom-model-og-v2","custom-model-og-v2.5-f","custom-model-og-v2.5-s"]},{"name":"n","label":"n","description":"Number of images to generate. Must be between 1 and 10.","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":10,"omitEmpty":true},{"name":"output_compression","label":"output_compression","description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg.","type":"number","valueType":"integer","path":"/output_compression","required":false,"min":0,"max":100,"omitEmpty":true},{"name":"output_format","label":"output_format","description":"Output image format. Available values are png and jpeg.","type":"string","valueType":"string","path":"/output_format","required":false,"allowedValues":["png","jpeg"],"omitEmpty":true},{"name":"prompt","label":"prompt","description":"Text description for image generation. Maximum length is 32,000 characters.","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"quality","label":"quality","description":"Output image quality. Available values are auto, high, medium, and low. The v2.5 models additionally support xhigh and max.","type":"string","valueType":"string","path":"/quality","required":false,"allowedValues":["auto","high","medium","low","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Response format for generated images. Available values are url and b64_json.","type":"string","valueType":"string","path":"/response_format","required":false,"allowedValues":["url","b64_json"],"omitEmpty":true},{"name":"size","label":"size","description":"Generated image size. Custom sizes are supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400.","type":"string","valueType":"string","path":"/size","required":false,"omitEmpty":true}],"responseBody":{"data":[{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Fd02700b5-7252-4d2f-8e96-4dfaf93a2275.png","generation_id":"bcc65ff2-bb89-4e8f-b089-d81941d6df6f"}],"size":"1024x1024","created":1789347068,"quality":"low","background":"opaque","request_id":"e5c2558e-c87e-4282-83be-3d90a1718293","output_format":"png","tokenhub_usage":{"total_tokens":3974},"openmodels_cost":5887},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"becc5e92-b06a-49ab-8e0e-8cc3d27d9b90","routeId":"f0006850-a14e-4d92-9e8c-2e26eee4e26a","model":"gpt-image-2.5-sunburst","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/wand/og-image/generation","method":"POST"},{"type":"edit","path":"/v1/wand/og-image/images/edits","method":"POST"}],"curlExample":"curl --location --request POST 'https://api.getopenmodels.com/v1/images' \\\n--header 'authorization: Bearer ' \\\n--header 'content-type: application/json' \\\n--data-raw '{\n    \"model\": \"gpt-image2\",\n    \"quality\": \"low\",\n    \"prompt\": \"小猫跳舞\",\n    \"size\": \"1024x1024\"\n}'\n\n\n\ncurl --location --request POST 'https://api.getopenmodels.com/v1/images/edit' \\\n--header 'authorization: Bearer ' \\\n--header 'content-type: application/json' \\\n--data-raw '{\n    \"model\": \"gpt-image2\",\n    \"quality\": \"low\",\n    \"prompt\": \"add fish in water\",\n    \"images\": [{ \"image_url\": \"https://openmodels.market/brand/playground-default-image.png\"}],\n    \"size\": \"1024x1024\"\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":0,"completion":1379310,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":0,"partnerCompletion":1448276,"promptSource":0,"completionSource":10000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["image"],"description":"","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":324,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-image-2.5-sunburst","operations":[],"availableModes":[]},"createdAt":"2026-09-12T14:11:48Z","updatedAt":"2026-09-14T00:50:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"custom-model-og-v2","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model"],"properties":{"n":{"type":"integer","default":1,"maximum":10,"minimum":1,"description":"Number of images to generate. Must be between 1 and 10. Values greater than 1 may fail when compute capacity is insufficient."},"mask":{"type":"object","description":"Mask image reference. Transparent areas are treated as editable regions. PNG format is required. Use either image_url or file_id, but not both. edit only."},"size":{"type":"string","default":"auto","description":"Generated image size. Standard values include 1024x1024, 1536x1024, 1024x1536, and auto. Custom sizes are also supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400."},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"Tencent\"}."},"images":{"type":"array","items":{"type":"object"},"description":"Input image references. Supports 1 to 16 images. Each image reference must use either image_url or file_id, but not both.  edit only."},"prompt":{"type":"string","description":"Text description for image generation or editing. Maximum length is 32,000 characters."},"quality":{"enum":["auto","high","medium","low"],"type":"string","description":"Output image quality. Available values are auto, high, medium, and low."},"logo_add":{"enum":[0,1],"type":"integer","default":1,"description":"Switch for adding an AI-generated content label. 1 adds the label, 0 disables it only after console approval. Other values are treated as 1 by default."},"background":{"enum":["transparent","opaque","auto"],"type":"string","default":"auto","description":"Background transparency setting. Available values are transparent, opaque, and auto. The custom-imagemodel-gt model does not support transparent."},"output_format":{"enum":["png","jpeg"],"type":"string","description":"Output image format. Available values are png and jpeg."},"response_format":{"enum":["url","b64_json"],"type":"string","default":"url","description":"Response format for generated images. Available values are url and b64_json."},"output_compression":{"type":"integer","default":100,"maximum":100,"minimum":0,"description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg."}}},"id":"archived-0","model":"gptimage2","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"gptimage2","prompt":"小猫跳舞","quality":"low","route":{"provider":"Tencent"},"size":"1024x1024"},"parameterSchema":[{"name":"background","label":"background","description":"Background transparency setting. Available values are transparent, opaque, and auto. The custom-imagemodel-gt model does not support transparent.","type":"string","valueType":"string","path":"/background","required":false,"defaultValue":"auto","allowedValues":["transparent","opaque","auto"],"omitEmpty":true},{"name":"images","label":"images","description":"Input image references. Supports 1 to 16 images. Each image reference must use either image_url or file_id, but not both.  edit only.","type":"json","valueType":"array","path":"/images","required":false,"omitEmpty":true},{"name":"logo_add","label":"logo_add","description":"Switch for adding an AI-generated content label. 1 adds the label, 0 disables it only after console approval. Other values are treated as 1 by default.","type":"number","valueType":"integer","path":"/logo_add","required":false,"defaultValue":1,"allowedValues":[0,1],"omitEmpty":true},{"name":"mask","label":"mask","description":"Mask image reference. Transparent areas are treated as editable regions. PNG format is required. Use either image_url or file_id, but not both. edit only.","type":"json","valueType":"object","path":"/mask","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of images to generate. Must be between 1 and 10. Values greater than 1 may fail when compute capacity is insufficient.","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":10,"omitEmpty":true},{"name":"output_compression","label":"output_compression","description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg.","type":"number","valueType":"integer","path":"/output_compression","required":false,"defaultValue":100,"min":0,"max":100,"omitEmpty":true},{"name":"output_format","label":"output_format","description":"Output image format. Available values are png and jpeg.","type":"string","valueType":"string","path":"/output_format","required":false,"allowedValues":["png","jpeg"],"omitEmpty":true},{"name":"prompt","label":"prompt","description":"Text description for image generation or editing. Maximum length is 32,000 characters.","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"quality","label":"quality","description":"Output image quality. Available values are auto, high, medium, and low.","type":"string","valueType":"string","path":"/quality","required":false,"allowedValues":["auto","high","medium","low"],"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Response format for generated images. Available values are url and b64_json.","type":"string","valueType":"string","path":"/response_format","required":false,"defaultValue":"url","allowedValues":["url","b64_json"],"omitEmpty":true},{"name":"route","label":"route","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"Tencent\"}.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"size","label":"size","description":"Generated image size. Standard values include 1024x1024, 1536x1024, 1024x1536, and auto. Custom sizes are also supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400.","type":"string","valueType":"string","path":"/size","required":false,"defaultValue":"auto","omitEmpty":true}],"responseBody":{"data":[{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Fd02700b5-7252-4d2f-8e96-4dfaf93a2275.png"}],"size":"1024x1024","created":1789137470,"quality":"low","background":"opaque","request_id":"f6f115a5-2fe2-4e83-9634-f833246b41db","output_format":"png","tokenhub_usage":{"total_tokens":3974},"openmodels_cost":5887},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0},{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model"],"properties":{"n":{"type":"integer","default":1,"maximum":10,"minimum":1,"description":"Number of images to generate. Must be between 1 and 10. Values greater than 1 may fail when compute capacity is insufficient."},"mask":{"type":"object","description":"Mask image reference. Transparent areas are treated as editable regions. PNG format is required. Use either image_url or file_id, but not both. edit only."},"size":{"type":"string","default":"auto","description":"Generated image size. Standard values include 1024x1024, 1536x1024, 1024x1536, and auto. Custom sizes are also supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400."},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"Tencent\"}."},"images":{"type":"array","items":{"type":"object"},"description":"Input image references. Supports 1 to 16 images. Each image reference must use either image_url or file_id, but not both.  edit only."},"prompt":{"type":"string","description":"Text description for image generation or editing. Maximum length is 32,000 characters."},"quality":{"enum":["auto","high","medium","low"],"type":"string","description":"Output image quality. Available values are auto, high, medium, and low."},"logo_add":{"enum":[0,1],"type":"integer","default":1,"description":"Switch for adding an AI-generated content label. 1 adds the label, 0 disables it only after console approval. Other values are treated as 1 by default."},"background":{"enum":["transparent","opaque","auto"],"type":"string","default":"auto","description":"Background transparency setting. Available values are transparent, opaque, and auto. The custom-imagemodel-gt model does not support transparent."},"output_format":{"enum":["png","jpeg"],"type":"string","description":"Output image format. Available values are png and jpeg."},"response_format":{"enum":["url","b64_json"],"type":"string","default":"url","description":"Response format for generated images. Available values are url and b64_json."},"output_compression":{"type":"integer","default":100,"maximum":100,"minimum":0,"description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg."}}},"id":"archived-1","model":"gptimage2","provider":"Tencent","endpointPath":"/v1/images/edit","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images/edit","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"images":[{"image_url":"https://openmodels.market/brand/playground-default-image.png"}],"model":"gptimage2","prompt":"add fish in water","quality":"low","route":{"provider":"Tencent"},"size":"1024x1024"},"parameterSchema":[{"name":"background","label":"background","description":"Background transparency setting. Available values are transparent, opaque, and auto. The custom-imagemodel-gt model does not support transparent.","type":"string","valueType":"string","path":"/background","required":false,"defaultValue":"auto","allowedValues":["transparent","opaque","auto"],"omitEmpty":true},{"name":"images","label":"images","description":"Input image references. Supports 1 to 16 images. Each image reference must use either image_url or file_id, but not both.  edit only.","type":"json","valueType":"array","path":"/images","required":false,"omitEmpty":true},{"name":"logo_add","label":"logo_add","description":"Switch for adding an AI-generated content label. 1 adds the label, 0 disables it only after console approval. Other values are treated as 1 by default.","type":"number","valueType":"integer","path":"/logo_add","required":false,"defaultValue":1,"allowedValues":[0,1],"omitEmpty":true},{"name":"mask","label":"mask","description":"Mask image reference. Transparent areas are treated as editable regions. PNG format is required. Use either image_url or file_id, but not both. edit only.","type":"json","valueType":"object","path":"/mask","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of images to generate. Must be between 1 and 10. Values greater than 1 may fail when compute capacity is insufficient.","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":10,"omitEmpty":true},{"name":"output_compression","label":"output_compression","description":"Output compression level from 0 to 100. This parameter is only supported when output_format is jpeg.","type":"number","valueType":"integer","path":"/output_compression","required":false,"defaultValue":100,"min":0,"max":100,"omitEmpty":true},{"name":"output_format","label":"output_format","description":"Output image format. Available values are png and jpeg.","type":"string","valueType":"string","path":"/output_format","required":false,"allowedValues":["png","jpeg"],"omitEmpty":true},{"name":"prompt","label":"prompt","description":"Text description for image generation or editing. Maximum length is 32,000 characters.","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"quality","label":"quality","description":"Output image quality. Available values are auto, high, medium, and low.","type":"string","valueType":"string","path":"/quality","required":false,"allowedValues":["auto","high","medium","low"],"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Response format for generated images. Available values are url and b64_json.","type":"string","valueType":"string","path":"/response_format","required":false,"defaultValue":"url","allowedValues":["url","b64_json"],"omitEmpty":true},{"name":"route","label":"route","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"Tencent\"}.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"size","label":"size","description":"Generated image size. Standard values include 1024x1024, 1536x1024, 1024x1536, and auto. Custom sizes are also supported: each side must be no more than 3840px, width and height must be multiples of 16, aspect ratio must be no more than 3:1, and total pixels must be between 655,360 and 8,294,400.","type":"string","valueType":"string","path":"/size","required":false,"defaultValue":"auto","omitEmpty":true}],"responseBody":{"data":[{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Fb52f6178-0318-4bd9-ac52-f07278259566.png"}],"size":"1024x1024","created":1789137311,"quality":"low","background":"opaque","request_id":"d1166a6a-816d-4508-b00b-26331441e4e4","output_format":"png","tokenhub_usage":{"total_tokens":9466},"openmodels_cost":14022},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"453fc69a-c1c0-4ff7-b37e-2c52e362b05f","routeId":"e267c62b-d840-4604-a49d-d081a030c335","model":"gptimage2","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/wand/og-image/generation","method":"POST"},{"type":"edit","path":"/v1/wand/og-image/edits","method":"POST"}],"curlExample":"curl --location --request POST 'https://api.getopenmodels.com/v1/images' \\\n--header 'authorization: Bearer ' \\\n--header 'content-type: application/json' \\\n--data-raw '{\n    \"model\": \"gpt-image2\",\n    \"quality\": \"low\",\n    \"prompt\": \"小猫跳舞\",\n    \"size\": \"1024x1024\"\n}'\n\n\n\ncurl --location --request POST 'https://api.getopenmodels.com/v1/images/edit' \\\n--header 'authorization: Bearer ' \\\n--header 'content-type: application/json' \\\n--data-raw '{\n    \"model\": \"gpt-image2\",\n    \"quality\": \"low\",\n    \"prompt\": \"add fish in water\",\n    \"images\": [{ \"image_url\": \"https://openmodels.market/brand/playground-default-image.png\"}],\n    \"size\": \"1024x1024\"\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":0,"completion":1379310,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":0,"partnerCompletion":1448276,"promptSource":0,"completionSource":10000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["image"],"description":"","descriptionTranslations":{"ar":"GPT Image 2 هو نموذج متقدم لتوليد الصور بسرعة وجودة عالية مع إمكانات التحرير.","ja":"GPT Image 2 は、高速で高品質な画像生成と編集に対応する最先端の画像生成モデルです。","zh":"GPT Image 2 是用于快速、高质量图像生成和编辑的先进图像生成模型。"},"supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":284,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gptimage2","operations":[],"availableModes":[]},"createdAt":"2026-08-31T12:51:36Z","updatedAt":"2026-08-31T13:27:10Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-image","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.02","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.02","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"xAI"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-image","upstreamModel":"spacexai/grok-imagine-image","formats":[{"id":"yir:spacexai/grok-imagine-image:text","model":"grok-imagine-image","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"grok-imagine-image","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K"],"readOnly":true,"allowedValues":["1K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","16:9","9:16","3:2","2:3"],"allowedValues":["1:1","16:9","9:16","3:2","2:3"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-image","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:spacexai/grok-imagine-image:image","model":"grok-imagine-image","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"grok-imagine-image","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K"],"readOnly":true,"allowedValues":["1K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","16:9","9:16","3:2","2:3"],"allowedValues":["1:1","16:9","9:16","3:2","2:3"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-image","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"7f2c42fe-2c42-4eb2-8a51-1054dcafd84f","routeId":"22ffb839-a6ef-47c9-859e-9b7e63eef64a","model":"grok-imagine-image","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/spacexai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"spacexai/grok-imagine-image"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","16:9","9:16","3:2","2:3"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":16000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":16000,"partnerCompletion":0,"promptSource":16000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"xAI Grok avant-garde creative image model","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":17600,"catalogReferences":[{"unit":"image","amount":"0.0176","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-image","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":17600,"prompt":17600,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0176","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-image","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.016","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image","specification_label":"1K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":16000,"catalogReferences":[{"unit":"image","amount":"0.016","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":16000,"prompt":16000,"rangeStart":0,"resolution":"1k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"grok-imagine-image","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:58Z","updatedAt":"2026-10-31T09:25:58Z"},{"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-image-2-0","upstreamModel":"spacexai/grok-imagine-image-2.0","formats":[{"id":"yir:spacexai/grok-imagine-image-2.0:text","model":"grok-imagine-image-2.0","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"grok-imagine-image-2.0","parameters":{"aspect_ratio":"1:1","n":1,"quality":"low","resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K"],"allowedValues":["1K","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"allowedValues":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},{"name":"quality","label":"Quality","description":"Image generation quality tier.","type":"select","valueType":"string","path":"/parameters/quality","required":false,"defaultValue":"low","options":["low","medium"],"allowedValues":["low","medium"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-image-2-0","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:spacexai/grok-imagine-image-2.0:image","model":"grok-imagine-image-2.0","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"grok-imagine-image-2.0","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K"],"allowedValues":["1K","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["auto","1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"allowedValues":["auto","1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":3,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":3,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-image-2-0","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"8ec3787f-5d86-4b3d-a41b-64f1b910fe24","routeId":"233a5dad-1ee4-4a7f-8d4a-f7eb1084675b","model":"grok-imagine-image-2.0","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/spacexai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"spacexai/grok-imagine-image-2.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"quality":{"enum":["low","medium"],"type":"string","default":"low","description":"Image generation quality tier."},"resolution":{"enum":["1K","2K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"spacexai/grok-imagine-image-2.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K","2K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["auto","1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"image":{"max_references":3,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":15000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":15000,"partnerCompletion":0,"promptSource":15000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Grok's second-generation image model with low and medium text-to-image quality","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":15000,"catalogReferences":[{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"quality","value":"low"},{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"1K · 1:1 · low"},"approximate":false},{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"quality","value":"medium"},{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"1K · 1:1 · medium"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1 · low","partnerCompletion":0,"partnerPrompt":15000,"prompt":15000,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","quality"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","quality"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","quality"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","quality"],"priceIndex":9},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":0},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":1},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":2},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":3},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":4},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.056","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.072","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.072","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.088","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"quality","value":"low"},{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"1K · 1:1 · low"},"approximate":false},{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"quality","value":"medium"},{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"1K · 1:1 · medium"},"approximate":false},{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"quality","value":"low"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"2K · 1:1 · low"},"approximate":false},{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"quality","value":"medium"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"2K · 1:1 · medium"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":15000,"catalogReferences":[{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"quality","value":"low"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"2K · 1:1 · low"},"approximate":false},{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"quality","value":"medium"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-image-2.0","specification_label":"2K · 1:1 · medium"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1 · low","partnerCompletion":0,"partnerPrompt":15000,"prompt":15000,"rangeStart":0,"resolution":"2k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"grok-imagine-image-2.0","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:58Z","updatedAt":"2026-10-31T09:25:58Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"8s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video","specification_label":"8s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.0505","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video","specification_label":"8s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0705","quantity":1},{"unit":"second","match":{"kind":"tier","label":"10s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 480p · 16:9 · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 480p · 16:9 · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 480p · 16:9 · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.05","quantity":1},{"unit":"second","match":{"kind":"tier","label":"10s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 720p · 16:9 · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 720p · 16:9 · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 720p · 16:9 · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.07","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"xAI"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video","upstreamModel":"spacexai/grok-imagine-video","formats":[{"id":"yir:spacexai/grok-imagine-video:text","model":"grok-imagine-video","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"grok-imagine-video","parameters":{"aspect_ratio":"16:9","duration":6,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":6,"min":6,"max":30,"allowedValues":[6,10,15,30]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","3:2","2:3"],"allowedValues":["16:9","9:16","1:1","3:2","2:3"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:spacexai/grok-imagine-video:image","model":"grok-imagine-video","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"grok-imagine-video","parameters":{"aspect_ratio":"auto","duration":6,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":6,"min":6,"max":30,"allowedValues":[6,10,15,30]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"first_frame","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:spacexai/grok-imagine-video:reference","model":"grok-imagine-video","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"grok-imagine-video","parameters":{"aspect_ratio":"16:9","duration":8,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":6,"max":10},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","3:2","2:3"],"allowedValues":["16:9","9:16","1:1","3:2","2:3"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":2,"maxItems":7,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":7,"min_references":2,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"7cfa008a-e8bc-4767-afe5-fa3df847359a","routeId":"e5138021-637b-4097-94c8-223ea79813a1","model":"grok-imagine-video","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/spacexai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"spacexai/grok-imagine-video"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[6,10,15,30],"type":"integer","default":6,"maximum":30,"minimum":6,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1","3:2","2:3"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"spacexai/grok-imagine-video"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[6,10,15,30],"type":"integer","default":6,"maximum":30,"minimum":6,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"spacexai/grok-imagine-video"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":8,"maximum":10,"minimum":6,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1","3:2","2:3"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":7,"min_references":2,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":10200,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":10200,"partnerCompletion":0,"promptSource":10200,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"xAI Grok creative video model with imaginative storytelling","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":10200,"catalogReferences":[{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 480p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"10s · 480p · auto · audio","partnerCompletion":0,"partnerPrompt":10200,"prompt":10200,"rangeStart":0,"resolution":"480p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":12},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":13},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":14},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":15},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":16},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":17}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video","specification_label":"8s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0225","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":19120,"catalogReferences":[{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"10s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":19120,"prompt":19120,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":12000,"catalogReferences":[{"unit":"second","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video","specification_label":"8s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"8s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":12000,"prompt":12000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":22500,"catalogReferences":[{"unit":"second","amount":"0.0225","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"8s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":22500,"prompt":22500,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":10200,"catalogReferences":[{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0102","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"10s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":10200,"prompt":10200,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":19120,"catalogReferences":[{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"10s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"15"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"15s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"30"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"30s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.01912","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video","specification_label":"6s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"10s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":19120,"prompt":19120,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"grok-imagine-video","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:43Z","updatedAt":"2026-10-31T09:29:43Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"8s · 480p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 480p · auto · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.02125","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 720p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.03125","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.02","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.03","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"xAI"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video-1-5-lite","upstreamModel":"spacexai/grok-imagine-video-1.5-lite","formats":[{"id":"yir:spacexai/grok-imagine-video-1.5-lite:text","model":"grok-imagine-video-1.5-lite","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"grok-imagine-video-1.5-lite","parameters":{"aspect_ratio":"16:9","duration":8,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":1,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"],"allowedValues":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video-1-5-lite","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:spacexai/grok-imagine-video-1.5-lite:image","model":"grok-imagine-video-1.5-lite","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"grok-imagine-video-1.5-lite","parameters":{"aspect_ratio":"auto","duration":8,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":1,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"first_frame","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video-1-5-lite","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"b31d6941-6bc9-40a9-b630-ea69bae0bbe8","routeId":"7ceb99cf-7b67-41a0-8da2-c5b92967f231","model":"grok-imagine-video-1.5-lite","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/spacexai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"spacexai/grok-imagine-video-1.5-lite"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":8,"maximum":15,"minimum":1,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"spacexai/grok-imagine-video-1.5-lite"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":8,"maximum":15,"minimum":1,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":20000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":20000,"partnerCompletion":0,"promptSource":20000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"xAI Grok Imagine Video 1.5 Lite, the lowest per-second price for text and first-frame video with lip-synced audio","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":21250,"catalogReferences":[{"unit":"second","amount":"0.02125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 480p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"8s · 480p · auto · audio","partnerCompletion":0,"partnerPrompt":21250,"prompt":21250,"rangeStart":0,"resolution":"480p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.02125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.03125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":31250,"catalogReferences":[{"unit":"second","amount":"0.03125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"8s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":31250,"prompt":31250,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":20000,"catalogReferences":[{"unit":"second","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"8s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":20000,"prompt":20000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":30000,"catalogReferences":[{"unit":"second","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5-lite","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"8s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":30000,"prompt":30000,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"grok-imagine-video-1.5-lite","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:54Z","updatedAt":"2026-10-31T09:29:54Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"8s · 480p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 480p · auto · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.08125","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 720p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.14125","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.0825","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1425","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.25","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.08","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.14","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"xAI"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video-1-5","upstreamModel":"spacexai/grok-imagine-video-1.5","formats":[{"id":"yir:spacexai/grok-imagine-video-1.5:text","model":"grok-imagine-video-1.5-preview","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"grok-imagine-video-1.5-preview","parameters":{"aspect_ratio":"16:9","duration":8,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":1,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"],"allowedValues":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video-1-5","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:spacexai/grok-imagine-video-1.5:image","model":"grok-imagine-video-1.5-preview","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"grok-imagine-video-1.5-preview","parameters":{"aspect_ratio":"auto","duration":8,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":1,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video-1-5","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:spacexai/grok-imagine-video-1.5:reference","model":"grok-imagine-video-1.5-preview","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"grok-imagine-video-1.5-preview","parameters":{"aspect_ratio":"16:9","duration":8,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":1,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"],"allowedValues":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":2,"maxItems":7,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":7,"min_references":2,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/spacexai/grok-imagine-video-1-5","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"1c6acc79-22d7-4bc1-84c1-97a06a006e03","routeId":"3b244f89-61fd-4e48-af25-bdb90dccf9f6","model":"grok-imagine-video-1.5-preview","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/spacexai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"spacexai/grok-imagine-video-1.5"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":8,"maximum":15,"minimum":1,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p","1080p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"spacexai/grok-imagine-video-1.5"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":8,"maximum":15,"minimum":1,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"spacexai/grok-imagine-video-1.5"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":8,"maximum":15,"minimum":1,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":7,"min_references":2,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":12000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":12000,"partnerCompletion":0,"promptSource":12000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"xAI Grok Imagine Video 1.5 (preview) with native 1080p and lip-synced audio, first/last frames and up to 7 reference images, up to 15 seconds","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":12000,"catalogReferences":[{"unit":"second","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 480p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"8s · 480p · auto · audio","partnerCompletion":0,"partnerPrompt":12000,"prompt":12000,"rangeStart":0,"resolution":"480p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 480p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.0225","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.114","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.2","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0225","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":22500,"catalogReferences":[{"unit":"second","amount":"0.0225","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"8s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":22500,"prompt":22500,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":66000,"catalogReferences":[{"unit":"second","amount":"0.066","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"8s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":66000,"prompt":66000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":114000,"catalogReferences":[{"unit":"second","amount":"0.114","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"8s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":114000,"prompt":114000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":200000,"catalogReferences":[{"unit":"second","amount":"0.2","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"8s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":200000,"prompt":200000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":12000,"catalogReferences":[{"unit":"second","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"8s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":12000,"prompt":12000,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":22500,"catalogReferences":[{"unit":"second","amount":"0.0225","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"spacexai/grok-imagine-video-1.5","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"8s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":22500,"prompt":22500,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"grok-imagine-video-1.5-preview","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:43Z","updatedAt":"2026-10-31T09:29:43Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"6s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3","specification_label":"6s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.081667","quantity":1},{"unit":"second","match":{"kind":"tier","label":"6s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/hailuo-2.3","specification_label":"6s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.081667","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"MiniMax"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/minimax/hailuo-2-3","upstreamModel":"minimax/hailuo-2.3","formats":[{"id":"yir:minimax/hailuo-2.3:text","model":"hailuo-2.3","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"768P","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"hailuo-2.3","parameters":{"aspect_ratio":"16:9","duration":6,"generate_audio":false,"n":1,"resolution":"768P"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":6,"min":6,"max":10,"allowedValues":[6,10]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"768P","options":["768P","1080p"],"allowedValues":["768P","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9"],"readOnly":true,"allowedValues":["16:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"readOnly":true,"allowedValues":[false]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/hailuo-2-3","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:minimax/hailuo-2.3:image","model":"hailuo-2.3","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"768P","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"hailuo-2.3","parameters":{"aspect_ratio":"16:9","duration":6,"generate_audio":false,"n":1,"resolution":"768P"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":6,"min":6,"max":10,"allowedValues":[6,10]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"768P","options":["768P","1080p"],"allowedValues":["768P","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9"],"readOnly":true,"allowedValues":["16:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"readOnly":true,"allowedValues":[false]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"first_frame","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/hailuo-2-3","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"22b7f4cc-b6f5-4811-b3f3-5d9033244dbe","routeId":"838b24c2-558e-4017-a5aa-0bf672eaccac","model":"hailuo-2.3","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/minimax.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"minimax/hailuo-2.3"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[6,10],"type":"integer","default":6,"maximum":10,"minimum":6,"description":"Output video duration in seconds."},"resolution":{"enum":["768P","1080p"],"type":"string","default":"768P","description":"Output resolution."},"aspect_ratio":{"enum":["16:9"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":66667,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":66667,"partnerCompletion":0,"promptSource":66667,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"MiniMax Hailuo cinematic video generation model with realistic human motion","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":66667,"catalogReferences":[{"unit":"second","amount":"0.066667","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3","specification_label":"6s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"6s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":66667,"prompt":66667,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["768p","i2v"],"priceIndex":0},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["768p","i2v"],"priceIndex":2},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["768p","t2v"],"priceIndex":3},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["768p","t2v"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.045","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3","specification_label":"10s · 768P · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.066667","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3","specification_label":"6s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0375","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3","specification_label":"6s · 768P · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0488","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/hailuo-2.3","specification_label":"10s · 768P · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.072","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/hailuo-2.3","specification_label":"6s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.046667","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/hailuo-2.3","specification_label":"6s · 768P · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":72000,"catalogReferences":[{"unit":"second","amount":"0.072","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/hailuo-2.3","specification_label":"6s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"6s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":72000,"prompt":72000,"rangeStart":0,"resolution":"1080p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"hailuo-2.3","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:43Z","updatedAt":"2026-10-31T09:29:43Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"6s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3-fast","specification_label":"6s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.055","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"MiniMax"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/minimax/hailuo-2-3-fast","upstreamModel":"minimax/hailuo-2.3-fast","formats":[{"id":"yir:minimax/hailuo-2.3-fast:image","model":"hailuo-2.3-fast","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"768P","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"hailuo-2.3-fast","parameters":{"aspect_ratio":"16:9","duration":6,"generate_audio":false,"n":1,"resolution":"768P"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":6,"min":6,"max":10,"allowedValues":[6,10]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"768P","options":["768P","1080p"],"allowedValues":["768P","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9"],"readOnly":true,"allowedValues":["16:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"readOnly":true,"allowedValues":[false]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"first_frame","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/hailuo-2-3-fast","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"eb3369ea-d629-4cd1-8046-27667fea6e88","routeId":"7e89dfa0-618c-4f75-9eb0-892124a16d3d","model":"hailuo-2.3-fast","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/minimax.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"minimax/hailuo-2.3-fast"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[6,10],"type":"integer","default":6,"maximum":10,"minimum":6,"description":"Output video duration in seconds."},"resolution":{"enum":["768P","1080p"],"type":"string","default":"768P","description":"Output resolution."},"aspect_ratio":{"enum":["16:9"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":24800,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":24800,"partnerCompletion":0,"promptSource":24800,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"MiniMax Hailuo fast-inference video generation model","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":24800,"catalogReferences":[{"unit":"second","amount":"0.0248","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3-fast","specification_label":"10s · 768P · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0248","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3-fast","specification_label":"6s · 768P · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"10s · 768P · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":24800,"prompt":24800,"rangeStart":0,"resolution":"768p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.0248","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3-fast","specification_label":"10s · 768P · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0424","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3-fast","specification_label":"6s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0248","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3-fast","specification_label":"6s · 768P · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":42400,"catalogReferences":[{"unit":"second","amount":"0.0424","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/hailuo-2.3-fast","specification_label":"6s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"6s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":42400,"prompt":42400,"rangeStart":0,"resolution":"1080p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"hailuo-2.3-fast","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:43Z","updatedAt":"2026-10-31T09:29:43Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 1080p · adaptive · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.165026","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 720p · adaptive · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.123769","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.165026","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.123769","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.165026","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.123769","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/happyhorse-1-1","upstreamModel":"alibaba/happyhorse-1.1","formats":[{"id":"yir:alibaba/happyhorse-1.1:text","model":"happyhorse-1.1","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"happyhorse-1.1","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9"],"readOnly":true,"allowedValues":["16:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/happyhorse-1-1","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:alibaba/happyhorse-1.1:image","model":"happyhorse-1.1","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"happyhorse-1.1","parameters":{"aspect_ratio":"adaptive","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive"],"readOnly":true,"allowedValues":["adaptive"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"first_frame","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/happyhorse-1-1","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:alibaba/happyhorse-1.1:reference","model":"happyhorse-1.1","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"1080p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"happyhorse-1.1","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"1080p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1080p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","4:3","3:4"],"allowedValues":["16:9","9:16","1:1","4:3","3:4"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":9,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":9,"min_references":1,"allowed_reference_roles":["reference_image"],"reference_counts_by_role":{"reference_image":{"maximum":9,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/happyhorse-1-1","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"c3887c07-118a-438d-a855-424500250bb9","routeId":"31cafb1d-683f-498e-b05c-d3399e107462","model":"happyhorse-1.1","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"alibaba/happyhorse-1.1"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"alibaba/happyhorse-1.1"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["adaptive"],"type":"string","default":"adaptive","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"alibaba/happyhorse-1.1"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"1080p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1","4:3","3:4"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":9,"min_references":1,"allowed_reference_roles":["reference_image"],"reference_counts_by_role":{"reference_image":{"maximum":9,"minimum":1}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":112500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":112500,"partnerCompletion":0,"promptSource":112500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Alibaba HappyHorse 1.1 generates videos with native audio from text, a single first frame, or up to 9 reference images.","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":145000,"catalogReferences":[{"unit":"second","amount":"0.145","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 1080p · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 1080p · adaptive · audio","partnerCompletion":0,"partnerPrompt":145000,"prompt":145000,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.145","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 1080p · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.1125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 720p · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.165026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.123769","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.145","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.1125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":112500,"catalogReferences":[{"unit":"second","amount":"0.1125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 720p · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 720p · adaptive · audio","partnerCompletion":0,"partnerPrompt":112500,"prompt":112500,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":165026,"catalogReferences":[{"unit":"second","amount":"0.165026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":165026,"prompt":165026,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":123769,"catalogReferences":[{"unit":"second","amount":"0.123769","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":123769,"prompt":123769,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":145000,"catalogReferences":[{"unit":"second","amount":"0.145","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":145000,"prompt":145000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":112500,"catalogReferences":[{"unit":"second","amount":"0.1125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:37.028539+00:00","sourceUrl":"https://yir.ai/models/happyhorse-1-1","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/happyhorse-1.1","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":112500,"prompt":112500,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.1","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:25Z","updatedAt":"2026-10-31T09:28:25Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.1-i2v-720p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.1-i2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.1-i2v","prompt":"In a neon-lit Tokyo neighborhood during a downpour, a young female delivery rider wearing a yellow functional rain jacket speeds through a crowded intersection on a black motorcycle. The camera begins with a close-up, low-angle shot following the front wheel as the tire races through puddles, sending water splashing toward the lens; the camera then quickly swings to the side of the motorcycle, moving parallel to her; she leans forward to avoid an autonomous taxi crossing the intersection, and finally speeds into a narrow alleyway lit by flashing red lights. The fast-paced yet crisp action, realistic rain effects, and fluid, continuous camerawork—with the character and motorcycle’s appearance remaining consistent throughout—create a cinematic action-movie feel.","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"411c865b-90f9-4045-846d-a8247765ed25","routeId":"902bf0f6-a863-4efd-8c68-3710a7153e06","model":"happyhorse-1.1-i2v","provider":"Alibaba","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/alibaba-color.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["720p"]},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":109241,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":104276,"partnerCompletion":0,"promptSource":792000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"HappyHorse-1.1-I2V supports image-to-video conversion with further improvements in image quality, motion performance, and cross-segment consistency.","descriptionTranslations":{"ar":"يدعم HappyHorse-1.1-I2V تحويل الصور إلى فيديو، مع مزيد من التحسينات في جودة الصورة وأداء الحركة والاتساق بين المقاطع. ويفهم النموذج الصور المدخلة بدقة أكبر ويحافظ على المقصد الإبداعي بصورة أفضل.","ja":"HappyHorse-1.1-I2Vは画像からの動画生成に対応し、画質、モーション表現、セグメント間の一貫性がさらに向上しています。入力画像をより正確に理解し、クリエイティブな意図をより的確に引き継ぎます。","zh":"HappyHorse-1.1-I2V 支持图生视频，并进一步提升了画面质量、动态表现和跨片段一致性。模型能够更准确地理解输入图像并延续创作意图，在角色皮肤质感、跨片段 ID 一致性、动作流畅度、文字渲染稳定性和音画同步等方面均有显著提升，可生成更逼真、更细腻且一致性更强的高质量视频。"},"modelReleaseDate":"2026-07-03","supportedFeatures":["vision","reasoning"],"pricingTiers":[],"timePricingRules":[],"latency":334,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.1-i2v","operations":[],"availableModes":[]},"createdAt":"2026-07-03T14:15:06Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.1-i2v-1080p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.1-i2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.1-i2v","prompt":"In a neon-lit Tokyo neighborhood during a downpour, a young female delivery rider wearing a yellow functional rain jacket speeds through a crowded intersection on a black motorcycle. The camera begins with a close-up, low-angle shot following the front wheel as the tire races through puddles, sending water splashing toward the lens; the camera then quickly swings to the side of the motorcycle, moving parallel to her; she leans forward to avoid an autonomous taxi crossing the intersection, and finally speeds into a narrow alleyway lit by flashing red lights. The fast-paced yet crisp action, realistic rain effects, and fluid, continuous camerawork—with the character and motorcycle’s appearance remaining consistent throughout—create a cinematic action-movie feel.","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"be16c7c3-8b84-4149-951c-2928851a25d6","routeId":"c4d4a402-eb9f-4efd-8b12-15df0ee5c0fd","model":"happyhorse-1.1-i2v","provider":"Alibaba","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/alibaba-color.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["1080p"]},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":145655,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":139034,"partnerCompletion":0,"promptSource":1056000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"HappyHorse-1.1-I2V supports image-to-video conversion with further improvements in image quality, motion performance, and cross-segment consistency.","descriptionTranslations":{"ar":"يدعم HappyHorse-1.1-I2V تحويل الصور إلى فيديو، مع مزيد من التحسينات في جودة الصورة وأداء الحركة والاتساق بين المقاطع. ويفهم النموذج الصور المدخلة بدقة أكبر ويحافظ على المقصد الإبداعي بصورة أفضل.","ja":"HappyHorse-1.1-I2Vは画像からの動画生成に対応し、画質、モーション表現、セグメント間の一貫性がさらに向上しています。入力画像をより正確に理解し、クリエイティブな意図をより的確に引き継ぎます。","zh":"HappyHorse-1.1-I2V 支持图生视频，并进一步提升了画面质量、动态表现和跨片段一致性。模型能够更准确地理解输入图像并延续创作意图，在角色皮肤质感、跨片段 ID 一致性、动作流畅度、文字渲染稳定性和音画同步等方面均有显著提升，可生成更逼真、更细腻且一致性更强的高质量视频。"},"supportedFeatures":["vision"],"pricingTiers":[],"timePricingRules":[],"latency":334,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.1-i2v","operations":[],"availableModes":[]},"createdAt":"2026-07-03T14:12:44Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.1-r2v-720p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.1-r2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.1-r2v","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"71f33cfe-60e2-4c29-8a9e-ea3f1aaf5442","routeId":"322077eb-5093-4192-8876-cf2562415b62","model":"happyhorse-1.1-r2v","provider":"Alibaba","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/alibaba-color.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["720p"]},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":109241,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":104276,"partnerCompletion":0,"promptSource":792000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"HappyHorse-1.1-R2V supports reference video input, further improving subject and scene-style consistency as well as visual coherence.","descriptionTranslations":{"ar":"يدعم HappyHorse-1.1-R2V إدخال فيديو مرجعي، ما يعزز اتساق العنصر الرئيسي وأسلوب المشهد، فضلًا عن الترابط البصري.","ja":"HappyHorse-1.1-R2Vは参照動画の入力に対応し、被写体とシーンスタイルの一貫性、および視覚的な連続性をさらに向上させます。このモデルは最大9枚の参照画像を受け付けるため、クリエイティブな意図をより正確に理解して引き継ぎながら、キャラクター、シーン、スタイル、カメラ表現における制御性と表現力を高めることができます。","zh":"HappyHorse-1.1-R2V 支持参考视频输入，进一步提升主体与场景风格的一致性及视觉连贯性。该模型最多可接收九张参考图像，从而更准确地理解并延续创作意图，在角色、场景、风格和镜头呈现方面提供更强的可控性与表现力。"},"supportedFeatures":["vision"],"pricingTiers":[],"timePricingRules":[],"latency":314,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.1-r2v","operations":[],"availableModes":[]},"createdAt":"2026-07-03T14:03:30Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.1-r2v-1080p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.1-r2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.1-r2v","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"bb553061-3dc7-4a65-983e-f5acaed11d35","routeId":"14ec1426-d333-47e6-99bf-b684d51d9662","model":"happyhorse-1.1-r2v","provider":"Alibaba","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/alibaba-color.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["1080p"]},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":145655,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":139034,"partnerCompletion":0,"promptSource":1056000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"HappyHorse-1.1-R2V supports reference video input, with further improvements in subject consistency, scene-style stability, and visual coherence.","descriptionTranslations":{"ar":"يدعم HappyHorse-1.1-R2V إدخال فيديو مرجعي، مع مزيد من التحسينات في اتساق العناصر الرئيسية واستقرار أسلوب المشاهد والترابط البصري.","ja":"HappyHorse-1.1-R2Vは参考動画の入力に対応し、被写体の一貫性、シーンスタイルの安定性、映像の連続性がさらに向上しています。最大9枚の参考画像を受け付けることで、クリエイティブな意図をより正確に理解して引き継ぎ、キャラクター、シーン、スタイル、カメラ表現における制御性と表現力を高めます。","zh":"HappyHorse-1.1-R2V 支持参考视频输入，进一步提升了主体一致性、场景风格稳定性和视觉连贯性。模型最多可接收 9 张参考图像，从而更准确地理解并延续创作意图，在角色、场景、风格和镜头呈现方面带来更强的可控性与表现力。"},"modelReleaseDate":"2026-07-03","supportedFeatures":["vision"],"pricingTiers":[],"timePricingRules":[],"latency":314,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.1-r2v","operations":[],"availableModes":[]},"createdAt":"2026-07-03T14:00:53Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.1-t2v-720p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.1-t2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.1-t2v","prompt":"In a neon-lit Tokyo neighborhood during a downpour, a young female delivery rider wearing a yellow functional rain jacket speeds through a crowded intersection on a black motorcycle. The camera begins with a close-up, low-angle shot following the front wheel as the tire races through puddles, sending water splashing toward the lens; the camera then quickly swings to the side of the motorcycle, moving parallel to her; she leans forward to avoid an autonomous taxi crossing the intersection, and finally speeds into a narrow alleyway lit by flashing red lights. The fast-paced yet crisp action, realistic rain effects, and fluid, continuous camerawork—with the character and motorcycle’s appearance remaining consistent throughout—create a cinematic action-movie feel.","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"04f140f8-a9a7-4f79-9f35-f5f2e59d9639","routeId":"51d16f97-aec9-4e01-bd7f-d52d8435df5c","model":"happyhorse-1.1-t2v","provider":"Alibaba","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/alibaba-color.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["720p"]},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":109241,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":104276,"partnerCompletion":0,"promptSource":792000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["chat"],"outModalities":["video"],"description":"HappyHorse-1.1-T2V supports text-to-video generation with further improvements in text semantic understanding, camera direction, and dynamic generation.","descriptionTranslations":{"ar":"يدعم HappyHorse-1.1-T2V إنشاء الفيديو من النص، مع مزيد من التحسينات في فهم دلالات النص وتوجيه الكاميرا وتوليد الحركة.","ja":"HappyHorse-1.1-T2Vはテキストからの動画生成に対応し、テキストの意味理解、カメラワーク、動きの生成能力がさらに向上しています。クリエイティブな意図をより正確に捉え、キャラクターの動き、シーンの雰囲気、映像美、物理的な動きの一貫性を高めながら、より滑らかで自然、かつ細部まで豊かな高品質動画を生成します。","zh":"HappyHorse-1.1-T2V 支持文生视频，并进一步提升了文本语义理解、镜头调度和动态生成能力。模型能够更准确地捕捉创作意图，生成更流畅、更自然、细节更丰富的高质量视频，同时在角色动作、场景氛围、视觉美感和物理动态方面保持更好的一致性。"},"modelReleaseDate":"2026-07-03","supportedFeatures":["vision"],"pricingTiers":[],"timePricingRules":[],"latency":311,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.1-t2v","operations":[],"availableModes":[]},"createdAt":"2026-07-03T14:10:33Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.1-t2v-1080p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.1-t2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.1-t2v","prompt":"In a neon-lit Tokyo neighborhood during a downpour, a young female delivery rider wearing a yellow functional rain jacket speeds through a crowded intersection on a black motorcycle. The camera begins with a close-up, low-angle shot following the front wheel as the tire races through puddles, sending water splashing toward the lens; the camera then quickly swings to the side of the motorcycle, moving parallel to her; she leans forward to avoid an autonomous taxi crossing the intersection, and finally speeds into a narrow alleyway lit by flashing red lights. The fast-paced yet crisp action, realistic rain effects, and fluid, continuous camerawork—with the character and motorcycle’s appearance remaining consistent throughout—create a cinematic action-movie feel.","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"e766c3e1-a972-47fd-bdb0-e929d94813e6","routeId":"e0fcc0a9-31f1-4e2b-abbf-da4b71fc8cce","model":"happyhorse-1.1-t2v","provider":"Alibaba","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/alibaba-color.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["1080p"]},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":145655,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":139034,"partnerCompletion":0,"promptSource":1056000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["chat"],"outModalities":["video"],"description":"HappyHorse-1.1-T2V supports text-to-video generation, with further improvements in text semantic understanding, camera direction, and dynamic generation.","descriptionTranslations":{"ar":"يدعم HappyHorse-1.1-T2V إنشاء الفيديو من النص، مع مزيد من التحسينات في فهم دلالات النص وتوجيه الكاميرا وتوليد الحركة.","ja":"HappyHorse-1.1-T2Vは、テキストからの動画生成に対応し、テキストの意味理解、カメラワーク、動きの生成能力をさらに向上させています。本モデルはクリエイティブな意図をより正確に捉え、より滑らかで自然かつ細部まで豊かな高品質動画を生成します。また、キャラクターの動き、シーンの雰囲気、視覚的な美しさ、物理的な動きにおいても、より高い一貫性を実現しています。","zh":"HappyHorse-1.1-T2V 支持文生视频，并进一步提升了文本语义理解、镜头调度和动态生成能力。该模型能够更准确地捕捉创作意图，生成更流畅、更自然、细节更丰富的高质量视频，同时在角色动作、场景氛围、视觉美感和物理动态方面保持更高的一致性。"},"modelReleaseDate":"2026-07-03","supportedFeatures":["vision"],"pricingTiers":[],"timePricingRules":[],"latency":311,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.1-t2v","operations":[],"availableModes":[]},"createdAt":"2026-07-03T14:08:22Z","updatedAt":"2026-07-24T06:30:19Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 2K · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 2K · adaptive · audio"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.1","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 768P · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 768P · adaptive · audio"}}]},"rangeStart":0,"resolution":"768p"},"price":"0.036","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 2K · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 2K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.1","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 768P · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 768P · 16:9 · audio"}}]},"rangeStart":0,"resolution":"768p"},"price":"0.036","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"HeyGen"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/heygen/heygen-video-1","upstreamModel":"heygen/heygen-video-1","formats":[{"id":"yir:heygen/heygen-video-1:text","model":"heygen-video-1","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"768P","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"heygen-video-1","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"768P"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"768P","options":["480p","768P","1080p","2K"],"allowedValues":["480p","768P","1080p","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/heygen/heygen-video-1","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:heygen/heygen-video-1:image","model":"heygen-video-1","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"768P","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"heygen-video-1","parameters":{"aspect_ratio":"adaptive","duration":5,"generate_audio":true,"n":1,"resolution":"768P"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"768P","options":["480p","768P","1080p","2K"],"allowedValues":["480p","768P","1080p","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive"],"readOnly":true,"allowedValues":["adaptive"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"first_frame","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"],"reference_counts_by_role":{"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/heygen/heygen-video-1","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"5f95341d-8ff9-4b69-9fec-3b7b8f186eaa","routeId":"62d8d996-96aa-4169-8b5c-bb8c38368b91","model":"heygen-video-1","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/heygen.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"heygen/heygen-video-1"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","768P","1080p","2K"],"type":"string","default":"768P","description":"Output resolution."},"aspect_ratio":{"enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"heygen/heygen-video-1"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","768P","1080p","2K"],"type":"string","default":"768P","description":"Output resolution."},"aspect_ratio":{"enum":["adaptive"],"type":"string","default":"adaptive","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"],"reference_counts_by_role":{"first_frame":{"maximum":1,"minimum":1}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":36000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":36000,"partnerCompletion":0,"promptSource":36000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"HeyGen general-purpose video model post-trained from MiniMax H3, with native dialogue and sound up to 2K","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":100000,"catalogReferences":[{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 2K · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 2K · adaptive · audio","partnerCompletion":0,"partnerPrompt":100000,"prompt":100000,"rangeStart":0,"resolution":"2k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 2K · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.036","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 768P · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 2K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.036","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 768P · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":36000,"catalogReferences":[{"unit":"second","amount":"0.036","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 768P · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 768P · adaptive · audio","partnerCompletion":0,"partnerPrompt":36000,"prompt":36000,"rangeStart":0,"resolution":"768p"},{"actualCompletion":0,"actualPrompt":100000,"catalogReferences":[{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 2K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 2K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":100000,"prompt":100000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":36000,"catalogReferences":[{"unit":"second","amount":"0.036","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"heygen/heygen-video-1","specification_label":"5s · 768P · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 768P · 16:9 · audio","partnerCompletion":0,"partnerPrompt":36000,"prompt":36000,"rangeStart":0,"resolution":"768p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"heygen-video-1","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:29Z","updatedAt":"2026-10-31T09:29:29Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"hy-image-lite","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"prompt":{"type":"string"},"rsp_img_type":{"type":"string"}}},"id":"archived-0","model":"hy-image-lite","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"hy-image-lite","prompt":"a dog","route":{"provider":"Tencent"},"rsp_img_type":"url"},"parameterSchema":[{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"rsp_img_type","label":"rsp_img_type","type":"string","valueType":"string","path":"/rsp_img_type","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_modelprice","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"237eecf8-202b-46a8-a541-30ee4b5d2cca","routeId":"c97bff16-7a53-4d65-8e97-4f51f352f16f","model":"hy-image-lite","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/api/image/lite","method":"POST"}],"curlExample":"curl 'https://api.getopenmodels.com/v1/images' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\\n-d '{\n    \"model\": \"hy-image-lite\",\n    \"prompt\": \"a dog\",\n    \"rsp_img_type\": \"url\"\n  }'","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"prompt":{"type":"string"},"rsp_img_type":{"type":"string"}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":9504,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":8316,"partnerCompletion":0,"promptSource":68904,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"By using an ultra-high compression codec, it achieves rapid response in image generation and high-quality output. It supports scenarios such as beautification of e-commerce product images, generation of design tool materials, and iteration of game scenes.","descriptionTranslations":{},"modelReleaseDate":"2026-07-06","supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":2424,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"hy-image-lite","operations":[],"availableModes":[]},"createdAt":"2026-07-06T12:06:26Z","updatedAt":"2026-07-06T12:12:34Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"hy-mt2-plus","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"hy-mt2-plus","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"hy-mt2-plus","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"893e7586-766c-4624-8c9b-7a1a6fe1c552","routeId":"0358059a-1d72-4984-aeca-d50a32a7465b","model":"hy-mt2-plus","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":48000,"completion":192000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":42000,"partnerCompletion":168000,"promptSource":348000,"completionSource":1392000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"Hy-MT2-Plus is a Hunyuan translation model with 7B parameters and an 8K context window. It supports broad language coverage, with a focus on mutual translation across 33 languages and 5 ethnic Chinese languages or dialects. It performs strongly on open benchmarks such as Flores200 and WMT25, and supports translation instruction-following tasks including structured translation, delimiter-aware translation, context-aware translation, glossary translation, and style translation.","descriptionTranslations":{},"modelReleaseDate":"2026-07-07","supportedFeatures":["json_mode"],"contextWindowTokens":8000,"maxOutputTokens":4000,"pricingTiers":[{"actualCompletion":1160000,"actualPrompt":290000,"completion":192000,"label":"default","partnerCompletion":168000,"partnerPrompt":42000,"prompt":48000,"rangeStart":0}],"timePricingRules":[],"latency":775,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"hy-mt2-plus","operations":[],"availableModes":[]},"createdAt":"2026-07-07T00:43:51Z","updatedAt":"2026-07-07T00:44:27Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"hy-mt2-pro","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"hy-mt2-pro","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"hy-mt2-pro","route":{"provider":"Tencent-Intl"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"3b7512af-b3c2-4110-b15c-637925eccf75","routeId":"f6d7f5ca-be32-4923-aa19-be40ae2a8dbd","model":"hy-mt2-pro","provider":"Tencent-Intl","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":48000,"completion":192000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":42000,"partnerCompletion":168000,"partnerCacheReadPrompt":0,"promptSource":348000,"completionSource":1392000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat","coding","reasoning"],"description":"Hy-MT2-Pro is Hunyuan's flagship translation model, with 30B-A3B parameters and an 8k context window. It supports a broad set of languages, with a focus on translation among 33 languages and 5 Chinese ethnic-language or dialect categories. It delivers leading results on open benchmarks such as Flores200 and WMT25, performs well in professional domains and real business scenarios, and follows translation instructions well, including structured translation, delimiter-based translation, context-aware translation, glossary translation, and style translation.","descriptionTranslations":{},"modelReleaseDate":"2026-07-06","supportedFeatures":["tool_calling"],"contextWindowTokens":8000,"maxOutputTokens":4000,"cacheReadPrompt":0,"pricingTiers":[],"timePricingRules":[],"latency":6738,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"hy-mt2-pro","operations":[],"availableModes":[]},"createdAt":"2026-07-06T07:40:27Z","updatedAt":"2026-07-20T11:39:48Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"hy-mt2-pro","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"hy-mt2-pro","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"hy-mt2-pro","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"2e1503ca-ed62-4b88-8854-00f8ab5786ad","routeId":"879aad87-4006-4b70-b5e0-56720b72839c","model":"hy-mt2-pro","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":48000,"completion":192000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":42000,"partnerCompletion":168000,"promptSource":348000,"completionSource":1392000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"Hy-MT2-Pro is Hunyuan's flagship translation model, with 30B-A3B parameters and an 8k context window. It supports a broad set of languages, with a focus on translation among 33 languages and 5 Chinese ethnic-language or dialect categories. It delivers leading results on open benchmarks such as Flores200 and WMT25, performs well in professional domains and real business scenarios, and follows translation instructions well, including structured translation, delimiter-based translation, context-aware translation, glossary translation, and style translation.","descriptionTranslations":{},"modelReleaseDate":"2026-07-06","supportedFeatures":["tool_calling"],"contextWindowTokens":8000,"maxOutputTokens":4000,"pricingTiers":[],"timePricingRules":[],"latency":995,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"hy-mt2-pro","operations":[],"availableModes":[]},"createdAt":"2026-07-06T07:38:33Z","updatedAt":"2026-07-06T07:38:33Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/hy3/","upstreamModel":"hy3","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"hy3","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"hy3","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"f022f679-542b-4228-a021-0d392af48802","model":"hy3","usage":{"total_tokens":28,"prompt_tokens":16,"completion_tokens":12,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":0}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! 👋 How can I help you today?"},"finish_reason":"stop"}],"created":1784710724,"openmodels_cost":7},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/hy3/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"db4b161c-1c12-4ba0-b556-eca7afcd7e56","routeId":"d3f31d12-97a3-422f-968b-54ecbd1065a6","model":"hy3","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":96000,"completion":384000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":84000,"partnerCompletion":336000,"partnerCacheReadPrompt":21000,"promptSource":696000,"completionSource":2784000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat","reasoning"],"description":"Hy3 is the production version refined for real business scenarios. It uses a 295B total parameter, 21B active MoE architecture, natively supports a 256K context window, and provides no_think, think_low, and think_high reasoning modes to balance fast responses, complex reasoning, and usage cost. Compared with the Preview version, Hy3 is improved based on real feedback from Tencent Yuanbao, WorkBuddy, ima, Marvis, and other business scenarios, with stronger performance in Coding Agent workflows, long-context understanding, multi-turn context continuation, search Q\u0026A, and complex task execution. It is more stable in reducing hallucinations, improving task completion, and supporting engineering usability, and is suitable for frontend tasks, cross-file code development, long-document analysis, office automation, and multi-step agent workflows.","descriptionTranslations":{},"modelReleaseDate":"2026-07-06","supportedFeatures":["content_caching","structured_outputs","tool_calling","reasoning"],"contextWindowTokens":256000,"maxOutputTokens":128000,"cacheReadPrompt":20000,"pricingTiers":[{"actualCompletion":2320000,"actualPrompt":580000,"cacheReadPrompt":20000,"completion":384000,"label":"default","partnerCacheReadPrompt":21000,"partnerCompletion":336000,"partnerPrompt":84000,"prompt":96000,"rangeStart":0}],"timePricingRules":[],"latency":270,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"hy3","operations":[],"availableModes":[]},"createdAt":"2026-07-06T07:22:36Z","updatedAt":"2026-07-22T09:00:32Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/kimi-k2.7-code/","upstreamModel":"kimi-k2.7-code","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"thinking":{"type":"object","description":"Kimi thinking configuration. K2.6 supports enabled or disabled; K2.7 Code only supports enabled."},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"stream_options":{"type":"object","description":"Streaming options, such as include_usage."},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"kimi-k2.7-code","provider":"Moonshot","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"kimi-k2.7-code","route":{"provider":"Moonshot"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","description":"Streaming options, such as include_usage.","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Kimi thinking configuration. K2.6 supports enabled or disabled; K2.7 Code only supports enabled.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"cc0e9f7a7bbe0ead34787584381dd1d4","model":"kimi-k2.5","usage":{"total_tokens":102,"prompt_tokens":8,"completion_tokens":94,"prompt_tokens_details":{"cached_tokens":8},"completion_tokens_details":{"reasoning_tokens":83}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user said \"hello\". This is a simple greeting. I should respond in a friendly, helpful manner. Since there's no specific question or task yet, I'll keep it open-ended to invite further conversation.\n\nI should:\n1. Greet them back\n2. Ask how I can help them today\n3. Keep it concise and warm\n\nNo complex reasoning needed here - just a standard polite greeting response."},"finish_reason":"stop"}],"created":1793805552,"openmodels_cost":277},"responseOrigin":"user_provided_shared_example","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/kimi-k2.7-code/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"652f38c9-1da6-466e-bad5-2a16e37b9d1c","routeId":"94e58c05-d66e-42b4-b6c8-70c63cd94f15","model":"kimi-k2.7-code","provider":"Moonshot","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":806897,"completion":3351724,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":753103,"partnerCompletion":3128276,"partnerCacheReadPrompt":150621,"promptSource":5850000,"completionSource":24300000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat","coding","reasoning"],"description":"Kimi K2.7 Code is the most intelligent coding model Kimi has developed to date. It reliably follows instructions across long contexts and completes programming tasks with greater accuracy.","descriptionTranslations":{"ar":"Kimi K2.7 Code هو أذكى نموذج برمجة طورته Kimi حتى الآن. يتبع التعليمات بموثوقية عبر السياقات الطويلة وينجز مهام البرمجة بدقة أكبر.","ja":"Kimi K2.7 Codeは、Kimiがこれまでに開発した中で最もインテリジェントなコーディングモデルです。長いコンテキストでも指示に確実に従い、プログラミングタスクをより高い精度で完遂します。テキスト、画像、動画の入力に対応し、思考モードのみで動作するため、対話とエージェントベースのタスクの両方に利用できます。","zh":"Kimi K2.7 Code 是 Kimi 迄今开发的最智能编程模型，能够在长上下文中可靠地遵循指令，并以更高的准确率完成编程任务。该模型支持文本、图像和视频输入，且仅以思考模式运行，可用于对话和基于智能体的任务。"},"modelReleaseDate":"2026-06-17","supportedFeatures":["tool_calling","content_caching","audio_input","reranking"],"contextWindowTokens":256000,"maxOutputTokens":256000,"cacheReadPrompt":143448,"pricingTiers":[],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kimi-k2.7-code","operations":[],"availableModes":[]},"createdAt":"2026-06-18T09:37:54Z","updatedAt":"2026-11-04T00:19:53Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"KiMi","inputPrice":"3","outputPrice":"15"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/kimi-k3/","upstreamModel":"kimi-k3","formats":[{"jsonSchema":{"type":"object","required":["messages","model"],"properties":{"stop":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"maxItems":5}],"default":null},"model":{"type":"string"},"route":{"type":"object","properties":{"provider":{"type":"string"}}},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","parameters"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$"},"strict":{"type":"boolean","default":true},"parameters":{"type":"object","additionalProperties":true}}}}}},"stream":{"type":"boolean","default":false},"messages":{"type":"array","items":{"oneOf":[{"type":"object","required":["role","content"],"properties":{"name":{"type":"string","default":null},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"oneOf":[{"type":"string"},{"type":"array","items":{"oneOf":[{"type":"object","required":["type","text"],"properties":{"text":{"type":"string"},"type":{"enum":["text"],"type":"string"}}},{"type":"object","required":["type","image_url"],"properties":{"type":{"enum":["image_url"],"type":"string"},"image_url":{"oneOf":[{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}},{"type":"string"}]}}},{"type":"object","required":["type","video_url"],"properties":{"type":{"enum":["video_url"],"type":"string"},"video_url":{"oneOf":[{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}},{"type":"string"}]}}}]}}]},"partial":{"type":"boolean","default":false}}},{"type":"object","required":["role","tools"],"properties":{"role":{"enum":["system"],"type":"string"},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","parameters"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$"},"strict":{"type":"boolean","default":true},"parameters":{"type":"object","additionalProperties":true}}}}}}},"additionalProperties":false}]}},"max_tokens":{"type":"integer"},"tool_choice":{"oneOf":[{"enum":["auto","none","required"],"type":"string"},{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}}}}]},"response_format":{"type":"object","properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object","additionalProperties":true},"strict":{"type":"boolean","default":true}}}}},"max_completion_tokens":{"type":"integer"}}},"id":"archived-0","model":"kimi-k3","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"You are a helpful assistant.","role":"system"},{"content":"你好","role":"user"}],"model":"kimi-k3","route":{"provider":"Neolink"},"stream":false},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"omitEmpty":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true}],"responseBody":{"id":"cc0e9f7a7bbe0ead34787584381dd1d4","model":"kimi-k2.5","usage":{"total_tokens":102,"prompt_tokens":8,"completion_tokens":94,"prompt_tokens_details":{"cached_tokens":8},"completion_tokens_details":{"reasoning_tokens":83}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user said \"hello\". This is a simple greeting. I should respond in a friendly, helpful manner. Since there's no specific question or task yet, I'll keep it open-ended to invite further conversation.\n\nI should:\n1. Greet them back\n2. Ask how I can help them today\n3. Keep it concise and warm\n\nNo complex reasoning needed here - just a standard polite greeting response."},"finish_reason":"stop"}],"created":1793805552,"openmodels_cost":277},"responseOrigin":"user_provided_shared_example","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/kimi-k3/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"312597e2-1c3d-4e49-a893-e9f550470436","routeId":"89075520-a3c1-4c42-9089-1b06c27e0268","model":"kimi-k3","provider":"Neolink","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"curl https://api.getopenmodels.com/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -d '{\n  \"model\": \"kimi-k3\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"You are a helpful assistant.\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"你好\"\n    }\n  ],\n  \"stream\": false\n}'","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"route":{"type":"object","properties":{"provider":{"type":"string"}}},"stream":{"type":"boolean"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"}}}}}},"matchRules":{"media_type":"chat"},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":2606897,"completion":13034483,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":2606897,"partnerCompletion":13034483,"partnerCacheReadPrompt":289655,"promptSource":18900000,"completionSource":94500000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat","coding","reasoning"],"description":"Kimi K3 is Dark Side of the Moon's most powerful state-of-the-art (SOTA) model to date.","descriptionTranslations":{"ar":"Kimi K3 هو أقوى نموذج متطور (SOTA) من Dark Side of the Moon حتى الآن.","ja":"Kimi K3は、Dark Side of the Moonがこれまでに提供した中で最も強力な最先端（SOTA）モデルです。2.8兆パラメータを備え、KDAハイブリッド線形アテンション機構（Kimi Delta Attention）とアテンション残差技術を基盤に構築されています。","zh":"Kimi K3 是 Dark Side of the Moon 迄今最强大的前沿（SOTA）模型。K3 拥有 2.8 万亿参数，基于 KDA 混合线性注意力机制（Kimi Delta Attention）和注意力残差技术构建。"},"supportedFeatures":["tool_calling","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":1000000,"cacheReadPrompt":275862,"pricingTiers":[],"timePricingRules":[],"latency":1847,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kimi-k3","operations":[],"availableModes":[]},"createdAt":"2026-07-17T14:24:08Z","updatedAt":"2026-11-02T12:25:38Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/kimi-k3/","upstreamModel":"kimi-k3","formats":[{"jsonSchema":{"type":"object","required":["messages","model"],"properties":{"stop":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"maxItems":5}],"default":null},"model":{"type":"string"},"route":{"type":"object","properties":{"provider":{"type":"string"}}},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","parameters"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$"},"strict":{"type":"boolean","default":true},"parameters":{"type":"object","additionalProperties":true}}}}}},"stream":{"type":"boolean","default":false},"messages":{"type":"array","items":{"oneOf":[{"type":"object","required":["role","content"],"properties":{"name":{"type":"string","default":null},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"oneOf":[{"type":"string"},{"type":"array","items":{"oneOf":[{"type":"object","required":["type","text"],"properties":{"text":{"type":"string"},"type":{"enum":["text"],"type":"string"}}},{"type":"object","required":["type","image_url"],"properties":{"type":{"enum":["image_url"],"type":"string"},"image_url":{"oneOf":[{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}},{"type":"string"}]}}},{"type":"object","required":["type","video_url"],"properties":{"type":{"enum":["video_url"],"type":"string"},"video_url":{"oneOf":[{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}},{"type":"string"}]}}}]}}]},"partial":{"type":"boolean","default":false}}},{"type":"object","required":["role","tools"],"properties":{"role":{"enum":["system"],"type":"string"},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","parameters"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$"},"strict":{"type":"boolean","default":true},"parameters":{"type":"object","additionalProperties":true}}}}}}},"additionalProperties":false}]}},"max_tokens":{"type":"integer"},"tool_choice":{"oneOf":[{"enum":["auto","none","required"],"type":"string"},{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}}}}]},"response_format":{"type":"object","properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object","additionalProperties":true},"strict":{"type":"boolean","default":true}}}}},"max_completion_tokens":{"type":"integer"}}},"id":"archived-0","model":"kimi-k3","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"You are a helpful assistant.","role":"system"},{"content":"你好","role":"user"}],"model":"kimi-k3","route":{"provider":"Tencent"},"stream":false},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"omitEmpty":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true}],"responseBody":{"id":"cc0e9f7a7bbe0ead34787584381dd1d4","model":"kimi-k2.5","usage":{"total_tokens":102,"prompt_tokens":8,"completion_tokens":94,"prompt_tokens_details":{"cached_tokens":8},"completion_tokens_details":{"reasoning_tokens":83}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user said \"hello\". This is a simple greeting. I should respond in a friendly, helpful manner. Since there's no specific question or task yet, I'll keep it open-ended to invite further conversation.\n\nI should:\n1. Greet them back\n2. Ask how I can help them today\n3. Keep it concise and warm\n\nNo complex reasoning needed here - just a standard polite greeting response."},"finish_reason":"stop"}],"created":1793805552,"openmodels_cost":277},"responseOrigin":"user_provided_shared_example","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/kimi-k3/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"8a7e3468-6810-42fb-bd94-0ecec744be59","routeId":"b9cdbbe2-a9e2-420f-807a-7427b6f1105d","model":"kimi-k3","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":null,"curlExample":"curl https://api.getopenmodels.com/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -d '{\n  \"model\": \"kimi-k3\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"messages\": [\n      {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n      {\"role\": \"user\", \"content\": \"你好\"}\n    ],\n    \"stream\": false\n}'","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"route":{"type":"object","properties":{"provider":{"type":"string"}}},"stream":{"type":"boolean"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"}}}}}},"matchRules":{"media_type":"chat"},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":2758621,"completion":13793103,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":2896552,"partnerCompletion":14482759,"partnerCacheReadPrompt":289655,"promptSource":20000000,"completionSource":100000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"Kimi K3 is Dark Side of the Moon's most powerful state-of-the-art (SOTA) model to date.","descriptionTranslations":{"ar":"Kimi K3 هو أقوى نموذج متطور (SOTA) من Dark Side of the Moon حتى الآن.","ja":"Kimi K3は、Dark Side of the Moonがこれまでに提供した中で最も強力な最先端（SOTA）モデルです。2.8兆パラメータを備え、KDAハイブリッド線形アテンション機構（Kimi Delta Attention）とアテンション残差技術を基盤に構築されています。","zh":"Kimi K3 是 Dark Side of the Moon 迄今最强大的前沿（SOTA）模型。K3 拥有 2.8 万亿参数，基于 KDA 混合线性注意力机制（Kimi Delta Attention）和注意力残差技术构建。"},"supportedFeatures":["tool_calling","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":1000000,"cacheReadPrompt":275862,"pricingTiers":[],"timePricingRules":[],"latency":1561,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kimi-k3","operations":[],"availableModes":[]},"createdAt":"2026-07-17T14:09:40Z","updatedAt":"2026-07-24T06:30:19Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.235","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.157","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · auto · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.235","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · auto · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.157","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.235","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.157","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Kling AI"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","upstreamModel":"klingai/kling-4.0","formats":[{"id":"yir:klingai/kling-4.0:text","model":"kling-4.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"kling-4.0","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","21:9"],"allowedValues":["16:9","9:16","1:1","21:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:klingai/kling-4.0:image","model":"kling-4.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"kling-4.0","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":10,"referenceUrlOnly":true,"referenceConstraints":{"max_references":10,"min_references":1,"allowed_reference_roles":["first_frame","keyframe","last_frame"],"reference_counts_by_role":{"keyframe":{"maximum":8,"minimum":0},"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:klingai/kling-4.0:reference","model":"kling-4.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"kling-4.0","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","16:9","9:16","1:1","21:9"],"allowedValues":["auto","16:9","9:16","1:1","21:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":15,"referenceUrlOnly":true,"referenceConstraints":{"max_references":15,"min_references":1,"subject_references":{"mixed":true,"max_subjects":7,"max_video_subjects":3,"max_audios_per_subject":1,"max_images_per_subject":4,"max_videos_per_subject":1,"min_images_per_subject":2,"max_audio_only_subjects":3},"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":0,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","isDefault":false,"active":true,"sortOrder":2},{"id":"yir:klingai/kling-4.0:reference:subject","model":"kling-4.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Subject references to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"kling-4.0","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","16:9","9:16","1:1","21:9"],"allowedValues":["auto","16:9","9:16","1:1","21:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically. Subject references need a subject name. Mention it in the prompt as @name.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":2,"maxItems":28,"referenceUrlOnly":true,"referenceConstraints":{"max_references":15,"min_references":1,"subject_references":{"mixed":true,"max_subjects":7,"max_video_subjects":3,"max_audios_per_subject":1,"max_images_per_subject":4,"max_videos_per_subject":1,"min_images_per_subject":2,"max_audio_only_subjects":3},"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":0,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}},"referenceSubjectRequired":true}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","isDefault":false,"active":true,"sortOrder":3}],"missing":[]},"id":"497746a1-df6b-4786-a73d-2127a1118a9b","routeId":"64509abd-b32a-483f-afa3-ffce3ff5e816","model":"kling-4.0","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/klingai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"klingai/kling-4.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1","21:9"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"klingai/kling-4.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":10,"min_references":1,"allowed_reference_roles":["first_frame","keyframe","last_frame"],"reference_counts_by_role":{"keyframe":{"maximum":8,"minimum":0},"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"klingai/kling-4.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto","16:9","9:16","1:1","21:9"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":15,"min_references":1,"subject_references":{"mixed":true,"max_subjects":7,"max_video_subjects":3,"max_audios_per_subject":1,"max_images_per_subject":4,"max_videos_per_subject":1,"min_images_per_subject":2,"max_audio_only_subjects":3},"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":0,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":142500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":142500,"partnerCompletion":0,"promptSource":142500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Kuaishou Kling 4.0 video model with native audio: text, up to 10 reference images or up to 10 keyframes, up to 30 seconds","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":212500,"catalogReferences":[{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 1080p · auto · audio","partnerCompletion":0,"partnerPrompt":212500,"prompt":212500,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":142500,"catalogReferences":[{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":142500,"prompt":142500,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":212500,"catalogReferences":[{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 1080p · auto · audio","partnerCompletion":0,"partnerPrompt":212500,"prompt":212500,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":142500,"catalogReferences":[{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":142500,"prompt":142500,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":212500,"catalogReferences":[{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":212500,"prompt":212500,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":142500,"catalogReferences":[{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":142500,"prompt":142500,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kling-4.0","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:29Z","updatedAt":"2026-10-31T09:29:29Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"kl-video-v2-1-master","formats":[{"jsonSchema":{"type":"object","properties":{"mode":{"type":"string"},"image":{"type":"object","properties":{"url":{"type":"string"}}},"prompt":{"type":"string"},"duration":{"type":"string"},"cfg_scale":{"type":"number"},"model_name":{"type":"string"}}},"id":"archived-0","model":"kling-v2.1-master","provider":"Tencent","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"aspect_ratio":"16:9","cfg_scale":0.5,"duration":"5","mode":"std","model":"kling-v2.1-master","prompt":"A small river flowing","resolution":"720p","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"cfg_scale","label":"cfg_scale","type":"number","valueType":"number","path":"/cfg_scale","required":false,"omitEmpty":true},{"name":"duration","label":"duration","type":"string","valueType":"string","path":"/duration","required":false,"omitEmpty":true},{"name":"image","label":"image","type":"json","valueType":"object","path":"/image","required":false,"omitEmpty":true},{"name":"mode","label":"mode","type":"string","valueType":"string","path":"/mode","required":false,"omitEmpty":true},{"name":"model_name","label":"model_name","type":"string","valueType":"string","path":"/model_name","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true}],"responseBody":{"url":"https://raw.githubusercontent.com/hong3yang/hong3test/refs/heads/main/1784098657.mp4"},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"1c81b4fc-ce1b-4549-a19a-c6cec3bf1be0","routeId":"3dc957bf-928d-49e0-9c77-31b1aee768a1","model":"kling-v2.1-master","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/videos/text2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/text2video/{task_id}","method":"GET"},{"type":"generations","path":"/v1/videos/image2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/image2video/{task_id}","method":"GET"}],"curlExample":"// create videos\ncurl --request POST 'https://api.getopenmodels.com/v1/videos' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\\n-d '{\n    \"model\": \"kling-v2.1-master\",\n    \"route\": { \"provider\": \"\u003cprovider-for-this-model\u003e\" },\n    \"route_mode\": \"balanced\",\n    \"prompt\": \"A small river flowing\",\n    \"cfg_scale\": 0.5,\n    \"mode\": \"std\",\n    \"duration\": \"5\",\n    \"resolution\": \"720p\",\n    \"aspect_ratio\": \"16:9\"\n  }'\n\n// get videos\ncurl 'https://api.getopenmodels.com/v1/videos/{id}' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\","bodySchema":{"type":"object","properties":{"mode":{"type":"string"},"image":{"type":"object","properties":{"url":{"type":"string"}}},"prompt":{"type":"string"},"duration":{"type":"string"},"cfg_scale":{"type":"number"},"model_name":{"type":"string"}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":275862,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":275862,"partnerCompletion":0,"promptSource":2000000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["chat","image"],"outModalities":["video"],"description":"Supports text and image inputs and is deeply optimized for professional creative scenarios. With high-quality 1080P output, it is suitable for producing professional short films and premium content.","descriptionTranslations":{"ar":"يدعم مدخلات النصوص والصور، وقد خضع لتحسينات عميقة للسيناريوهات الإبداعية الاحترافية. وبفضل مخرجات 1080P عالية الجودة، فهو مناسب لإنتاج الأفلام القصيرة الاحترافية والمحتوى المتميز.","ja":"テキストと画像の入力に対応し、プロフェッショナルなクリエイティブ用途向けに徹底的に最適化されています。高品質な1080P出力により、プロフェッショナルなショートフィルムやプレミアムコンテンツの制作に適しています。","zh":"支持文本和图像输入，并针对专业创作场景进行了深度优化。它提供高质量的 1080P 输出，适用于专业短片和高品质内容制作。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["audio_output"],"pricingTiers":[],"timePricingRules":[],"latency":211,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kling-v2.1-master","operations":[],"availableModes":[]},"createdAt":"2026-07-06T13:58:24Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"kl-video-v2-5-turbo","formats":[{"jsonSchema":{"type":"object","properties":{"mode":{"type":"string"},"image":{"type":"object","properties":{"url":{"type":"string"}}},"prompt":{"type":"string"},"duration":{"type":"string"},"cfg_scale":{"type":"number"},"model_name":{"type":"string"}}},"id":"archived-0","model":"kling-v2.5-turbo","provider":"Tencent","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"aspect_ratio":"16:9","cfg_scale":0.5,"duration":"5","mode":"std","model":"kling-v2.5-turbo","prompt":"A small river flowing","resolution":"720p","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"cfg_scale","label":"cfg_scale","type":"number","valueType":"number","path":"/cfg_scale","required":false,"omitEmpty":true},{"name":"duration","label":"duration","type":"string","valueType":"string","path":"/duration","required":false,"omitEmpty":true},{"name":"image","label":"image","type":"json","valueType":"object","path":"/image","required":false,"omitEmpty":true},{"name":"mode","label":"mode","type":"string","valueType":"string","path":"/mode","required":false,"omitEmpty":true},{"name":"model_name","label":"model_name","type":"string","valueType":"string","path":"/model_name","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true}],"responseBody":{"url":"https://raw.githubusercontent.com/hong3yang/hong3test/refs/heads/main/1784098657.mp4"},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"800d0817-b9af-4670-8aab-6b9ea36b61d2","routeId":"933999c8-5129-4641-b0d2-5302f8932522","model":"kling-v2.5-turbo","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/videos/text2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/text2video/{task_id}","method":"GET"},{"type":"generations","path":"/v1/videos/image2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/image2video/{task_id}","method":"GET"}],"curlExample":"// create videos\ncurl --request POST 'https://api.getopenmodels.com/v1/videos' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\\n-d '{\n    \"model\": \"kling-v2.5-turbo\",\n    \"route\": { \"provider\": \"\u003cprovider-for-this-model\u003e\" },\n    \"route_mode\": \"balanced\",\n    \"prompt\": \"A small river flowing\",\n    \"cfg_scale\": 0.5,\n    \"mode\": \"std\",\n    \"duration\": \"5\",\n    \"resolution\": \"720p\",\n    \"aspect_ratio\": \"16:9\"\n  }'\n\n// get videos\ncurl 'https://api.getopenmodels.com/v1/videos/{id}' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\","bodySchema":{"type":"object","properties":{"mode":{"type":"string"},"image":{"type":"object","properties":{"url":{"type":"string"}}},"prompt":{"type":"string"},"duration":{"type":"string"},"cfg_scale":{"type":"number"},"model_name":{"type":"string"}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":41379,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":41379,"partnerCompletion":0,"promptSource":300000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["chat","image"],"outModalities":["video"],"description":"Supports text and image inputs, with comprehensive upgrades to generation stability and creative imagination.","descriptionTranslations":{"ar":"يدعم مدخلات النصوص والصور، مع ترقيات شاملة في استقرار التوليد والخيال الإبداعي.","ja":"テキストと画像の入力に対応し、生成の安定性とクリエイティブな発想力が全面的に強化されています。高性能と優れたコストパフォーマンスを両立しており、大規模な動画生成やエンタープライズ向けコンテンツ制作に適しています。","zh":"支持文本和图像输入，在生成稳定性和创意想象力方面实现了全面升级。它兼顾高性能与高性价比，适用于大规模视频生成和企业级内容生产。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["audio_output"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":300000,"completion":0,"inputMode":"t2v","label":"720P (standard) text/image to video","partnerCompletion":0,"partnerPrompt":41379,"prompt":41379,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":500000,"completion":0,"label":"1080P (pro) text/image to video","partnerCompletion":0,"partnerPrompt":68966,"prompt":68966,"rangeStart":0,"resolution":"1080p"}],"timePricingRules":[],"latency":239,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kling-v2.5-turbo","operations":[],"availableModes":[]},"createdAt":"2026-07-06T13:50:29Z","updatedAt":"2026-07-31T09:49:07Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"10s · 1080p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · auto · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · auto · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.14","quantity":1},{"unit":"second","match":{"kind":"tier","label":"10s · 1080p · auto · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · auto · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · auto · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.07","quantity":1},{"unit":"second","match":{"kind":"tier","label":"10s · 720p · auto · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"10s · 720p · auto · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"5s · 720p · auto · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.042","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · auto · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · auto · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.112","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · auto · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-2.6","specification_label":"5s · 720p · auto · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.07","quantity":1},{"unit":"second","match":{"kind":"tier","label":"10s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · 16:9 · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.14","quantity":1},{"unit":"second","match":{"kind":"tier","label":"10s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.07","quantity":1},{"unit":"second","match":{"kind":"tier","label":"10s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"10s · 720p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.042","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Kling AI"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/klingai/kling-2-6","upstreamModel":"klingai/kling-2.6","formats":[{"id":"yir:klingai/kling-2.6:text","model":"kling-v2.6","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"kling-v2.6","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":10,"allowedValues":[5,10]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1"],"allowedValues":["16:9","9:16","1:1"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-2-6","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:klingai/kling-2.6:image","model":"kling-v2.6","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"kling-v2.6","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":10,"allowedValues":[5,10]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"first_frame","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"],"reference_counts_by_role":{"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-2-6","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:klingai/kling-2.6:reference","model":"kling-v2.6","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"kling-v2.6","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"readOnly":true,"allowedValues":[false]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":2,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":2,"allowed_reference_roles":["reference_image","reference_video"],"required_reference_roles":["reference_image","reference_video"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-2-6","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"37005acf-2d96-472a-9fe5-6cf9a0241d58","routeId":"7fa2a755-3784-45dc-9e48-c27e608f85b4","model":"kling-v2.6","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/klingai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"klingai/kling-2.6"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[5,10],"type":"integer","default":5,"maximum":10,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"klingai/kling-2.6"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[5,10],"type":"integer","default":5,"maximum":10,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"],"reference_counts_by_role":{"first_frame":{"maximum":1,"minimum":1}}}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"klingai/kling-2.6"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[false],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":2,"min_references":2,"allowed_reference_roles":["reference_image","reference_video"],"required_reference_roles":["reference_image","reference_video"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":36800,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":36800,"partnerCompletion":0,"promptSource":36800,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Kuaishou Kling 2.6 classic stable video generation model","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":110000,"catalogReferences":[{"unit":"second","amount":"0.11","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.11","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"10s · 1080p · auto · audio","partnerCompletion":0,"partnerPrompt":110000,"prompt":110000,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":12},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":13}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.11","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.0368","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"10s · 720p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.11","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.0368","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"5s · 720p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.09","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-2.6","specification_label":"5s · 720p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.11","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0368","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"10s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.11","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0368","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":55000,"catalogReferences":[{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · auto · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"10s · 1080p · auto · no audio","partnerCompletion":0,"partnerPrompt":55000,"prompt":55000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":36800,"catalogReferences":[{"unit":"second","amount":"0.0368","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"10s · 720p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.0368","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-2.6","specification_label":"5s · 720p · auto · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"10s · 720p · auto · no audio","partnerCompletion":0,"partnerPrompt":36800,"prompt":36800,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":90000,"catalogReferences":[{"unit":"second","amount":"0.09","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · auto · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 1080p · auto · no audio","partnerCompletion":0,"partnerPrompt":90000,"prompt":90000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":55000,"catalogReferences":[{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-2.6","specification_label":"5s · 720p · auto · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 720p · auto · no audio","partnerCompletion":0,"partnerPrompt":55000,"prompt":55000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":110000,"catalogReferences":[{"unit":"second","amount":"0.11","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.11","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"10s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":110000,"prompt":110000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":55000,"catalogReferences":[{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"10s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.055","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"10s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":55000,"prompt":55000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":36800,"catalogReferences":[{"unit":"second","amount":"0.0368","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"10s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0368","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-2.6","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"10s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":36800,"prompt":36800,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kling-v2.6","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:29Z","updatedAt":"2026-10-31T09:29:29Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"kl-video-v2-6","formats":[{"jsonSchema":{"type":"object","properties":{"mode":{"type":"string"},"image":{"type":"object","properties":{"url":{"type":"string"}}},"prompt":{"type":"string"},"duration":{"type":"string"},"cfg_scale":{"type":"number"},"model_name":{"type":"string"}}},"id":"archived-0","model":"kling-v2.6","provider":"Tencent","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"aspect_ratio":"16:9","cfg_scale":0.5,"duration":"5","mode":"std","model":"kling-v2.6","prompt":"A small river flowing","resolution":"720p","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"cfg_scale","label":"cfg_scale","type":"number","valueType":"number","path":"/cfg_scale","required":false,"omitEmpty":true},{"name":"duration","label":"duration","type":"string","valueType":"string","path":"/duration","required":false,"omitEmpty":true},{"name":"image","label":"image","type":"json","valueType":"object","path":"/image","required":false,"omitEmpty":true},{"name":"mode","label":"mode","type":"string","valueType":"string","path":"/mode","required":false,"omitEmpty":true},{"name":"model_name","label":"model_name","type":"string","valueType":"string","path":"/model_name","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_modelprice","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"6f91ec95-f42e-41a5-9c29-d4d5b12d7565","routeId":"af01957b-8f94-4cdc-b3c9-386867d29987","model":"kling-v2.6","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/videos/text2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/text2video/{task_id}","method":"GET"},{"type":"generations","path":"/v1/videos/image2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/image2video/{task_id}","method":"GET"}],"curlExample":"// create videos\ncurl --request POST 'https://api.getopenmodels.com/v1/videos' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\\n-d '{\n    \"model\": \"kling-v2.6\",\n    \"route\": { \"provider\": \"\u003cprovider-for-this-model\u003e\" },\n    \"route_mode\": \"balanced\",\n    \"prompt\": \"A small river flowing\",\n    \"cfg_scale\": 0.5,\n    \"mode\": \"std\",\n    \"duration\": \"5\",\n    \"resolution\": \"720p\",\n    \"aspect_ratio\": \"16:9\"\n  }'\n\n// get videos\ncurl 'https://api.getopenmodels.com/v1/videos/{id}' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\","bodySchema":{"type":"object","properties":{"mode":{"type":"string"},"image":{"type":"object","properties":{"url":{"type":"string"}}},"prompt":{"type":"string"},"duration":{"type":"string"},"cfg_scale":{"type":"number"},"model_name":{"type":"string"}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":41379,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":41379,"partnerCompletion":0,"promptSource":300000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Supporting images can be generated in sync with voice, sound effects, and ambient audio.","descriptionTranslations":{"ar":"يمكن توليد الصور المصاحبة بالتزامن مع الصوت والمؤثرات الصوتية والأصوات المحيطة. ويجعل التحكم المحسن في الحركة النموذج مناسبًا لإنشاء الإعلانات الصوتية ومقاطع الفيديو القصيرة ومحتوى الوسائط المتعددة.","ja":"付随する画像を、音声、効果音、環境音と同期して生成できます。強化されたモーション制御により、音声広告、ショート動画、マルチメディアコンテンツの制作に適しています。","zh":"配套图像可与语音、音效和环境声音同步生成。增强的运动控制能力使其适用于音频广告、短视频和多媒体内容创作。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["audio_output"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":300000,"completion":0,"inputMode":"t2v","label":"720P (standard) text/image to video","partnerCompletion":0,"partnerPrompt":41379,"prompt":41379,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":500000,"completion":0,"inputMode":"t2v","label":"1080P (pro) text/image to video","partnerCompletion":0,"partnerPrompt":68966,"prompt":68966,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":1000000,"completion":0,"inputMode":"t2v_voice","label":"1080P (pro) text/image to video (voice on)","partnerCompletion":0,"partnerPrompt":137931,"prompt":137931,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":3000000,"completion":0,"inputMode":"t2v","label":"4k text/image to video","partnerCompletion":0,"partnerPrompt":413793,"prompt":413793,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":4728,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kling-v2.6","operations":[],"availableModes":[]},"createdAt":"2026-07-06T13:40:55Z","updatedAt":"2026-07-24T06:30:19Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.168","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.112","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.42","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 4K · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.42","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.126","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.084","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · auto · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · auto · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.168","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · auto · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · auto · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.126","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.168","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.112","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.42","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 4K · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.42","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.126","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.084","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Kling AI"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/klingai/kling-3-0","upstreamModel":"klingai/kling-3.0","formats":[{"id":"yir:klingai/kling-3.0:text","model":"kling-v3","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"kling-v3","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p","4K"],"allowedValues":["720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1"],"allowedValues":["16:9","9:16","1:1"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-3-0","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:klingai/kling-3.0:image","model":"kling-v3","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"kling-v3","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p","4K"],"allowedValues":["720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1"],"allowedValues":["16:9","9:16","1:1"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-3-0","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:klingai/kling-3.0:reference","model":"kling-v3","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"kling-v3","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"readOnly":true,"allowedValues":[false]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":2,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":2,"subject_references":{"resolutions":["720p","1080p","4K"],"max_subjects":3,"aspect_ratios":["16:9","9:16","1:1"],"allowed_audios":[false,true],"default_aspect_ratio":"16:9","max_duration_seconds":15,"min_duration_seconds":3,"max_images_per_subject":4,"min_images_per_subject":2},"allowed_reference_roles":["reference_image","reference_video"],"required_reference_roles":["reference_image","reference_video"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-3-0","isDefault":false,"active":true,"sortOrder":2},{"id":"yir:klingai/kling-3.0:reference:subject","model":"kling-v3","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Subject references to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"kling-v3","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically. Subject references need a subject name. Mention it in the prompt as @name.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":2,"maxItems":12,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":2,"subject_references":{"resolutions":["720p","1080p","4K"],"max_subjects":3,"aspect_ratios":["16:9","9:16","1:1"],"allowed_audios":[false,true],"default_aspect_ratio":"16:9","max_duration_seconds":15,"min_duration_seconds":3,"max_images_per_subject":4,"min_images_per_subject":2},"allowed_reference_roles":["reference_image","reference_video"],"required_reference_roles":["reference_image","reference_video"]},"referenceSubjectRequired":true}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-3-0","isDefault":false,"active":true,"sortOrder":3}],"missing":[]},"id":"aa7cef50-30ca-4c2b-bbf4-3d14ef7ac38a","routeId":"84a83c56-6172-49d9-912c-c806790a47c6","model":"kling-v3","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/klingai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"klingai/kling-3.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p","4K"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"klingai/kling-3.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[false],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":2,"min_references":2,"subject_references":{"resolutions":["720p","1080p","4K"],"max_subjects":3,"aspect_ratios":["16:9","9:16","1:1"],"allowed_audios":[false,true],"default_aspect_ratio":"16:9","max_duration_seconds":15,"min_duration_seconds":3,"max_images_per_subject":4,"min_images_per_subject":2},"allowed_reference_roles":["reference_image","reference_video"],"required_reference_roles":["reference_image","reference_video"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":67200,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":67200,"partnerCompletion":0,"promptSource":67200,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Kuaishou Kling 3.0 flagship video model with up to 4K resolution and realistic motion simulation","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":134400,"catalogReferences":[{"unit":"second","amount":"0.1344","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":134400,"prompt":134400,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":12},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":13}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.1344","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0896","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.335","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.335","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0672","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.135","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · auto · no audio"},"approximate":false},{"unit":"second","amount":"0.1344","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0896","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.335","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.335","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0672","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":89600,"catalogReferences":[{"unit":"second","amount":"0.0896","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":89600,"prompt":89600,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":335000,"catalogReferences":[{"unit":"second","amount":"0.335","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":335000,"prompt":335000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":335000,"catalogReferences":[{"unit":"second","amount":"0.335","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 4K · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":335000,"prompt":335000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":100000,"catalogReferences":[{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":100000,"prompt":100000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":67200,"catalogReferences":[{"unit":"second","amount":"0.0672","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":67200,"prompt":67200,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":135000,"catalogReferences":[{"unit":"second","amount":"0.135","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · auto · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 1080p · auto · no audio","partnerCompletion":0,"partnerPrompt":135000,"prompt":135000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":100000,"catalogReferences":[{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · auto · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 720p · auto · no audio","partnerCompletion":0,"partnerPrompt":100000,"prompt":100000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":134400,"catalogReferences":[{"unit":"second","amount":"0.1344","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":134400,"prompt":134400,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":89600,"catalogReferences":[{"unit":"second","amount":"0.0896","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":89600,"prompt":89600,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":335000,"catalogReferences":[{"unit":"second","amount":"0.335","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":335000,"prompt":335000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":335000,"catalogReferences":[{"unit":"second","amount":"0.335","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 4K · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 4K · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":335000,"prompt":335000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":100000,"catalogReferences":[{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":100000,"prompt":100000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":67200,"catalogReferences":[{"unit":"second","amount":"0.0672","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":67200,"prompt":67200,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kling-v3","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:29Z","updatedAt":"2026-10-31T09:29:29Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"kl-video-v3","formats":[{"jsonSchema":{"type":"object","properties":{"mode":{"type":"string"},"image":{"type":"object","properties":{"url":{"type":"string"}}},"prompt":{"type":"string"},"duration":{"type":"string"},"cfg_scale":{"type":"number"},"model_name":{"type":"string"}}},"id":"archived-0","model":"kling-v3","provider":"Tencent","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"aspect_ratio":"16:9","cfg_scale":0.5,"duration":"5","mode":"std","model":"kling-v3","prompt":"A small river flowing","resolution":"720p","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"cfg_scale","label":"cfg_scale","type":"number","valueType":"number","path":"/cfg_scale","required":false,"omitEmpty":true},{"name":"duration","label":"duration","type":"string","valueType":"string","path":"/duration","required":false,"omitEmpty":true},{"name":"image","label":"image","type":"json","valueType":"object","path":"/image","required":false,"omitEmpty":true},{"name":"mode","label":"mode","type":"string","valueType":"string","path":"/mode","required":false,"omitEmpty":true},{"name":"model_name","label":"model_name","type":"string","valueType":"string","path":"/model_name","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true}],"responseBody":{"url":"https://raw.githubusercontent.com/hong3yang/hong3test/refs/heads/main/1784098657.mp4"},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"9e08c96a-9215-4622-b818-126948ab30cd","routeId":"1a52cc0c-1d6e-4abc-a1bc-7833297bfe1f","model":"kling-v3","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/videos/text2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/text2video/{task_id}","method":"GET"},{"type":"generations","path":"/v1/videos/image2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/image2video/{task_id}","method":"GET"}],"curlExample":"// create videos    (text to video)\ncurl --request POST 'https://api.getopenmodels.com/v1/videos' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\\n-d '{\n    \"model\": \"kling-v3\",\n    \"prompt\": \"A small river flowing\",\n    \"cfg_scale\": 0.5,\n    \"mode\": \"std\",\n    \"duration\": \"5\",\n    \"resolution\": \"720p\",\n    \"aspect_ratio\": \"16:9\"\n  }'\n\n\n// create videos    (image to video)\ncurl --request POST 'https://api.getopenmodels.com/v1/videos' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\\n-d '{\n  \"model\": \"kling-v3\",\n  \"route\": {\n    \"provider\": \"Tencent\"\n  },\n  \"prompt\": \"The bird in image1 is on the head of the person in image2; the two main subjects are interacting and dancing, all in one continuous shot.\",\n  \"mode\": \"std\",\n  \"duration\": \"5\",\n  \"resolution\": \"720p\",\n  \"aspect_ratio\": \"16:9\",\n  \"image\": {\"url\": \"https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-1.jpeg\"}, \n  \"image_tail\": {\"url\": \"https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-1.jpeg\"}\n}'\n\n\n// get videos\ncurl 'https://api.getopenmodels.com/v1/videos/{task_id}' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\","bodySchema":{"type":"object","properties":{"mode":{"type":"string"},"image":{"type":"object","properties":{"url":{"type":"string"}}},"prompt":{"type":"string"},"duration":{"type":"string"},"cfg_scale":{"type":"number"},"model_name":{"type":"string"}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":82759,"completion":82759,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":82759,"partnerCompletion":82759,"promptSource":600000,"completionSource":600000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Supports intelligent storyboarding and video generation up to 15 seconds long, with output quality up to 4K Ultra HD.","descriptionTranslations":{"ar":"يدعم إنشاء لوحات قصصية ذكية وتوليد مقاطع فيديو تصل مدتها إلى 15 ثانية، مع جودة إخراج تصل إلى 4K Ultra HD.","ja":"インテリジェントな絵コンテ作成と最長15秒の動画生成に対応し、最大4K Ultra HDの画質で出力できます。シーンの切り替えや連続したストーリーテリングが可能で、企業広告、マーケティング、プロ向け映像制作に最適です。","zh":"支持智能分镜和最长 15 秒的视频生成，最高可输出 4K 超高清画质，并能实现镜头转场与连续叙事，适合企业广告、市场营销和专业影视制作。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["audio_output","audio_input"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":600000,"completion":0,"inputMode":"input_without_video_text","label":"720P (standard) text/image to video","partnerCompletion":0,"partnerPrompt":82759,"prompt":82759,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":800000,"completion":0,"inputMode":"input_without_video_text","label":"1080P (pro) text/image to video","partnerCompletion":0,"partnerPrompt":110345,"prompt":110345,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":3000000,"completion":0,"label":"4K text/image to video","partnerCompletion":0,"partnerPrompt":413793,"prompt":413793,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":900000,"completion":0,"inputMode":"input_with_video","label":"720P (standard) text/image to video (voice on)","partnerCompletion":0,"partnerPrompt":124138,"prompt":124138,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":1200000,"completion":0,"inputMode":"input_with_video","label":"1080P (pro) text/image to video (voice on)","partnerCompletion":0,"partnerPrompt":165517,"prompt":165517,"rangeStart":0,"resolution":"1080p"}],"timePricingRules":[],"latency":277,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kling-v3","operations":[],"availableModes":[]},"createdAt":"2026-07-06T09:48:15Z","updatedAt":"2026-08-10T07:32:56Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"6s · 2K · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3","specification_label":"6s · 2K · adaptive · audio"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.13","quantity":1},{"unit":"second","match":{"kind":"tier","label":"6s · 768P · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3","specification_label":"6s · 768P · adaptive · audio"}}]},"rangeStart":0,"resolution":"768p"},"price":"0.08","quantity":1},{"unit":"second","match":{"kind":"tier","label":"6s · 2K · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3","specification_label":"6s · 2K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.13","quantity":1},{"unit":"second","match":{"kind":"tier","label":"6s · 2K · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3","specification_label":"6s · 2K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.13","quantity":1},{"unit":"second","match":{"kind":"tier","label":"6s · 768P · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3","specification_label":"6s · 768P · 16:9 · audio"}}]},"rangeStart":0,"resolution":"768p"},"price":"0.08","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"MiniMax"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/minimax/minimax-h3","upstreamModel":"minimax/minimax-h3","formats":[{"id":"yir:minimax/minimax-h3:text","model":"minimax-h3","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"768P","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"minimax-h3","parameters":{"aspect_ratio":"16:9","duration":6,"generate_audio":true,"n":1,"resolution":"768P"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":6,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"768P","options":["480p","768P","1080p","2K"],"allowedValues":["480p","768P","1080p","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/minimax-h3","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:minimax/minimax-h3:image","model":"minimax-h3","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"768P","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"minimax-h3","parameters":{"aspect_ratio":"adaptive","duration":6,"generate_audio":true,"n":1,"resolution":"768P"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":6,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"768P","options":["480p","768P","1080p","2K"],"allowedValues":["480p","768P","1080p","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive"],"readOnly":true,"allowedValues":["adaptive"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/minimax-h3","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:minimax/minimax-h3:reference","model":"minimax-h3","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"768P","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"minimax-h3","parameters":{"aspect_ratio":"adaptive","duration":6,"generate_audio":true,"n":1,"resolution":"768P"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":6,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"768P","options":["480p","768P","1080p","2K"],"allowedValues":["480p","768P","1080p","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive","21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["adaptive","21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":15,"referenceUrlOnly":true,"referenceConstraints":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/minimax-h3","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"ad22256a-c37b-4459-a44e-9e51b99d7fd4","routeId":"4798457a-974d-4d56-8b83-76faa24a9089","model":"minimax-h3","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/minimax.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"minimax/minimax-h3"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":6,"maximum":15,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","768P","1080p","2K"],"type":"string","default":"768P","description":"Output resolution."},"aspect_ratio":{"enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"minimax/minimax-h3"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":6,"maximum":15,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","768P","1080p","2K"],"type":"string","default":"768P","description":"Output resolution."},"aspect_ratio":{"enum":["adaptive"],"type":"string","default":"adaptive","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"minimax/minimax-h3"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":6,"maximum":15,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","768P","1080p","2K"],"type":"string","default":"768P","description":"Output resolution."},"aspect_ratio":{"enum":["adaptive","21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"adaptive","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":15516,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":15516,"partnerCompletion":0,"promptSource":15516,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Video generation with native audio, first/last frames, multimodal references, and 480p to 2K output","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":25860,"catalogReferences":[{"unit":"second","amount":"0.02586","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3","specification_label":"6s · 2K · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"6s · 2K · adaptive · audio","partnerCompletion":0,"partnerPrompt":25860,"prompt":25860,"rangeStart":0,"resolution":"2k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["768p","r2v_voice"],"priceIndex":3},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["768p","r2v_voice"],"priceIndex":4}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.02586","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3","specification_label":"6s · 2K · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.015516","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3","specification_label":"6s · 768P · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.02586","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3","specification_label":"6s · 2K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.015516","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3","specification_label":"6s · 768P · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.016962","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3","specification_label":"6s · 768P · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.02586","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3","specification_label":"6s · 2K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.015516","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3","specification_label":"6s · 768P · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":15516,"catalogReferences":[{"unit":"second","amount":"0.015516","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3","specification_label":"6s · 768P · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"6s · 768P · adaptive · audio","partnerCompletion":0,"partnerPrompt":15516,"prompt":15516,"rangeStart":0,"resolution":"768p"},{"actualCompletion":0,"actualPrompt":25860,"catalogReferences":[{"unit":"second","amount":"0.02586","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3","specification_label":"6s · 2K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"6s · 2K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":25860,"prompt":25860,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":25860,"catalogReferences":[{"unit":"second","amount":"0.02586","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3","specification_label":"6s · 2K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"6s · 2K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":25860,"prompt":25860,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":15516,"catalogReferences":[{"unit":"second","amount":"0.015516","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3","specification_label":"6s · 768P · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"6s · 768P · 16:9 · audio","partnerCompletion":0,"partnerPrompt":15516,"prompt":15516,"rangeStart":0,"resolution":"768p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"minimax-h3","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:43Z","updatedAt":"2026-10-31T09:29:43Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 480p · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 480p · adaptive · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.05","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 768P · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 768P · adaptive · audio"}}]},"rangeStart":0,"resolution":"768p"},"price":"0.08","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.05","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 768P · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 768P · 16:9 · audio"}}]},"rangeStart":0,"resolution":"768p"},"price":"0.08","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.05","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 768P · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 768P · 16:9 · audio"}}]},"rangeStart":0,"resolution":"768p"},"price":"0.08","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"MiniMax"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/minimax/minimax-h3-max","upstreamModel":"minimax/minimax-h3-max","formats":[{"id":"yir:minimax/minimax-h3-max:text","model":"minimax-h3-max","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"minimax-h3-max","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","768P"],"allowedValues":["480p","768P"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/minimax-h3-max","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:minimax/minimax-h3-max:image","model":"minimax-h3-max","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"minimax-h3-max","parameters":{"aspect_ratio":"adaptive","duration":5,"generate_audio":true,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","768P"],"allowedValues":["480p","768P"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive"],"readOnly":true,"allowedValues":["adaptive"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/minimax-h3-max","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:minimax/minimax-h3-max:reference","model":"minimax-h3-max","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"768P","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"minimax-h3-max","parameters":{"aspect_ratio":"adaptive","duration":5,"generate_audio":true,"n":1,"resolution":"768P"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"768P","options":["480p","768P"],"allowedValues":["480p","768P"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive","21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["adaptive","21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":15,"referenceUrlOnly":true,"referenceConstraints":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"required_any_reference_roles":["reference_image","reference_video"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/minimax-h3-max","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"6beaf739-7c43-424d-8152-090b8f361134","routeId":"06e4817e-7bd1-4799-9b36-a21041ba19b5","model":"minimax-h3-max","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/minimax.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"minimax/minimax-h3-max"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","768P"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"minimax/minimax-h3-max"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","768P"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["adaptive"],"type":"string","default":"adaptive","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"minimax/minimax-h3-max"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","768P"],"type":"string","default":"768P","description":"Output resolution."},"aspect_ratio":{"enum":["adaptive","21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"adaptive","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"required_any_reference_roles":["reference_image","reference_video"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":32500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":32500,"partnerCompletion":0,"promptSource":32500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"MiniMax H3 Max video generation, post-trained by fal","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":32500,"catalogReferences":[{"unit":"second","amount":"0.0325","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 480p · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 480p · adaptive · audio","partnerCompletion":0,"partnerPrompt":32500,"prompt":32500,"rangeStart":0,"resolution":"480p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.0325","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 480p · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.052","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 768P · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.03768","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.05712","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 768P · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0325","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.052","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 768P · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":52000,"catalogReferences":[{"unit":"second","amount":"0.052","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 768P · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 768P · adaptive · audio","partnerCompletion":0,"partnerPrompt":52000,"prompt":52000,"rangeStart":0,"resolution":"768p"},{"actualCompletion":0,"actualPrompt":37680,"catalogReferences":[{"unit":"second","amount":"0.03768","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":37680,"prompt":37680,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":57120,"catalogReferences":[{"unit":"second","amount":"0.05712","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 768P · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 768P · 16:9 · audio","partnerCompletion":0,"partnerPrompt":57120,"prompt":57120,"rangeStart":0,"resolution":"768p"},{"actualCompletion":0,"actualPrompt":32500,"catalogReferences":[{"unit":"second","amount":"0.0325","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":32500,"prompt":32500,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":52000,"catalogReferences":[{"unit":"second","amount":"0.052","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"768P"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/minimax-h3-max","specification_label":"5s · 768P · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 768P · 16:9 · audio","partnerCompletion":0,"partnerPrompt":52000,"prompt":52000,"rangeStart":0,"resolution":"768p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"minimax-h3-max","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:43Z","updatedAt":"2026-10-31T09:29:43Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"meta/muse-image-1.0","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.01","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Meta"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/meta/muse-image-1-0","upstreamModel":"meta/muse-image-1.0","formats":[{"id":"yir:meta/muse-image-1.0:text","model":"muse-image-1.0","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"muse-image-1.0","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K"],"readOnly":true,"allowedValues":["1K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1"],"readOnly":true,"allowedValues":["1:1"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/meta/muse-image-1-0","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"9b3aaa65-b200-417b-b643-01b9f899056f","routeId":"dccdb284-6649-44dc-a4ef-3b99c33fcc9e","model":"muse-image-1.0","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/meta.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"meta/muse-image-1.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":10000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":10000,"partnerCompletion":0,"promptSource":10000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Meta text-to-image model based on masked discrete tokens","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":10000,"catalogReferences":[{"unit":"image","amount":"0.01","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"meta/muse-image-1.0","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":10000,"prompt":10000,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.01","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"meta/muse-image-1.0","specification_label":"1K · 1:1"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"muse-image-1.0","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:10Z","updatedAt":"2026-10-31T09:25:10Z"},{"officialPricing":{"unit":"track","prices":[{"unit":"track","match":{"kind":"tier","label":"custom lyrics","rangeEnd":null,"inputMode":"t2a","conditions":{"references":[{"unit":"track","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/music-3","specification_label":"custom lyrics"}}]},"rangeStart":0,"resolution":""},"price":"0.15","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"MiniMax"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/minimax/music-3","upstreamModel":"minimax/music-3","formats":[{"id":"yir:minimax/music-3:text","model":"music-3","provider":"yir","endpointPath":"/v1/audios","upstreamPath":"/v1/audio/generations","queryEndpointPath":"/v1/audios/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"music","inputMode":"text","displayName":"Music","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","systemPrompt":"","resolution":"","requestTemplate":{"input":{"lyrics":"[Verse]\nMorning light on an empty street\n[Chorus]\nWalk with me, slow and sweet","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","type":"text"},"model":"music-3","parameters":{"n":1},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","minLength":1,"maxLength":10000},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"lyrics","label":"Lyrics","description":"Leave lyrics empty when instrumental or automatic lyrics is enabled.","type":"textarea","valueType":"string","path":"/input/lyrics","required":false,"defaultValue":"[Verse]\nMorning light on an empty street\n[Chorus]\nWalk with me, slow and sweet","omitEmpty":true,"maxLength":5000}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/music-3","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"dddfc03f-973e-4355-94ab-de3d7f54fcce","routeId":"8ae4ae29-dcc2-4a75-acf3-668da9ecc3b1","model":"music-3","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/minimax.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/audio/generations","method":"POST","default":true,"task_kind":"audio_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"audio_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardMusicGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"minimax/music-3"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."}}}},"x-yir-operation":"generate_music","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardMusicTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"lyrics":{"type":"string","pattern":"\\S","maxLength":5000,"minLength":1,"description":"Song lyrics, lines separated by \\n; structure tags such as [Verse] and [Chorus] are allowed. Only models that accept custom lyrics take this field (per-model limit in the model contract). For vocal music send lyrics, parameters.lyrics_optimizer or parameters.instrumental as the model supports; omit it when parameters.instrumental or parameters.lyrics_optimizer is true. Sound effects take no lyrics."},"prompt":{"type":"string","pattern":"\\S","maxLength":10000,"minLength":1,"description":"Style, mood and scenario of the music, the description of a sound effect, or for text-to-speech models the exact text to read aloud (billed per character, spaces, punctuation and audio tags included). The per-model limit is in the model contract (for example 2000 for MiniMax music, 1000 for Suno, 450 for ElevenLabs sound effects, 5000 for ElevenLabs v3 and 10000 for MiniMax Speech)."}},"additionalProperties":false},"StandardMusicParameters":{"type":"object","properties":{"n":{"enum":[1,2],"type":"integer","description":"Tracks per Job. Most models make one; Suno always makes two per request."},"voice":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 _().\\-]{0,127}$","maxLength":128,"minLength":1,"description":"Text-to-speech models only: a preset voice ID of the model (for example a MiniMax system voice such as Chinese (Mandarin)_News_Anchor or an ElevenLabs voice ID). Omit for the model default; the voice does not change the price."},"duration":{"type":"integer","maximum":300,"minimum":1,"description":"Output length in seconds, only for models priced by length (ElevenLabs music and sound effects). Allowed values and the default come from the model contract; the price follows this length."},"instrumental":{"type":"boolean","default":false,"description":"Generate music without vocals. Omit input.lyrics and lyrics_optimizer."},"lyrics_optimizer":{"type":"boolean","default":false,"description":"Write the lyrics from the prompt. Omit input.lyrics. Some models add a lyrics-writing charge shown in the quote."}},"description":"Optional music, sound-effect and text-to-speech parameters; omitted fields take the model's defaults, and a model accepts only the parameters its contract declares. There is no tempo or key control; delivered audio reports its measured duration.","additionalProperties":false},"StandardMusicGenerationRequest":{"type":"object","required":["model","input"],"properties":{"input":{"$ref":"#/components/schemas/StandardMusicTextInput"},"model":{"type":"string","minLength":1,"description":"Music model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"$ref":"#/components/schemas/StandardMusicParameters"},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Music or sound-effect request: one Job delivers the tracks the model makes per request (one for most models, two for Suno) as audio files behind short-lived links.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":150000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":150000,"partnerCompletion":0,"promptSource":150000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_tiered","billingUnit":"track","modalities":["music"],"outModalities":["audio"],"description":"MiniMax's newer music model for complete vocal songs up to five minutes from a prompt and lyrics","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":150000,"catalogReferences":[{"unit":"track","amount":"0.15","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:27.398757+00:00","sourceUrl":"https://yir.ai/models/music-3","conditions":{"operation":"generate_music","dimensions":[{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/music-3","specification_label":"custom lyrics"},"approximate":false}],"completion":0,"inputMode":"t2a","label":"custom lyrics","partnerCompletion":0,"partnerPrompt":150000,"prompt":150000,"rangeStart":0,"yirPricingMapping":{"status":"mapped","reviews":[],"sourcePricing":{"mode":"reference","prices":[{"unit":"track","amount":"0.15","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:27.398757+00:00","sourceUrl":"https://yir.ai/models/music-3","conditions":{"operation":"generate_music","dimensions":[{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"minimax/music-3","specification_label":"custom lyrics"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"music-3","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:11:10Z","updatedAt":"2026-10-31T09:11:10Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"120s · auto lyrics","rangeEnd":null,"inputMode":"t2a","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"120"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"120s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"180"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"180s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"240"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"240s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"30"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"30s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"300"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"300s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"60"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"60s · auto lyrics"}}]},"rangeStart":0,"resolution":""},"price":"0.0025","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ElevenLabs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/elevenlabs/music-v2","upstreamModel":"elevenlabs/music-v2","formats":[{"id":"yir:elevenlabs/music-v2:text","model":"music-v2","provider":"yir","endpointPath":"/v1/audios","upstreamPath":"/v1/audio/generations","queryEndpointPath":"/v1/audios/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"music","inputMode":"text","displayName":"Music","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","systemPrompt":"","resolution":"","requestTemplate":{"input":{"prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","type":"text"},"model":"music-v2","parameters":{"duration":60,"instrumental":false,"lyrics_optimizer":true,"n":1},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","minLength":1,"maxLength":10000},{"name":"duration","label":"Duration","description":"Output audio length in seconds; the price follows this length.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":60,"min":30,"max":300,"allowedValues":[30,60,120,180,240,300]},{"name":"instrumental","label":"Instrumental","description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted.","type":"boolean","valueType":"boolean","path":"/parameters/instrumental","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"lyrics_optimizer","label":"Auto lyrics","description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote).","type":"boolean","valueType":"boolean","path":"/parameters/lyrics_optimizer","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"lyrics","label":"Lyrics","description":"Leave lyrics empty when instrumental or automatic lyrics is enabled.","type":"textarea","valueType":"string","path":"/input/lyrics","required":false,"defaultValue":"","omitEmpty":true,"maxLength":5000}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/elevenlabs/music-v2","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"6d22c56c-4afb-4d95-8a2c-21bee448de57","routeId":"7047a505-4e02-4f9f-a8ce-6dfb257215d6","model":"music-v2","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/providers/elevenlabs.svg?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/audio/generations","method":"POST","default":true,"task_kind":"audio_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"audio_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardMusicGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"elevenlabs/music-v2"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[30,60,120,180,240,300],"type":"integer","default":60,"maximum":300,"minimum":30,"description":"Output audio length in seconds; the price follows this length."},"instrumental":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted."},"lyrics_optimizer":{"enum":[false,true],"type":"boolean","default":false,"description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote)."}}}},"x-yir-operation":"generate_music","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardMusicTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"lyrics":{"type":"string","pattern":"\\S","maxLength":5000,"minLength":1,"description":"Song lyrics, lines separated by \\n; structure tags such as [Verse] and [Chorus] are allowed. Only models that accept custom lyrics take this field (per-model limit in the model contract). For vocal music send lyrics, parameters.lyrics_optimizer or parameters.instrumental as the model supports; omit it when parameters.instrumental or parameters.lyrics_optimizer is true. Sound effects take no lyrics."},"prompt":{"type":"string","pattern":"\\S","maxLength":10000,"minLength":1,"description":"Style, mood and scenario of the music, the description of a sound effect, or for text-to-speech models the exact text to read aloud (billed per character, spaces, punctuation and audio tags included). The per-model limit is in the model contract (for example 2000 for MiniMax music, 1000 for Suno, 450 for ElevenLabs sound effects, 5000 for ElevenLabs v3 and 10000 for MiniMax Speech)."}},"additionalProperties":false},"StandardMusicParameters":{"type":"object","properties":{"n":{"enum":[1,2],"type":"integer","description":"Tracks per Job. Most models make one; Suno always makes two per request."},"voice":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 _().\\-]{0,127}$","maxLength":128,"minLength":1,"description":"Text-to-speech models only: a preset voice ID of the model (for example a MiniMax system voice such as Chinese (Mandarin)_News_Anchor or an ElevenLabs voice ID). Omit for the model default; the voice does not change the price."},"duration":{"type":"integer","maximum":300,"minimum":1,"description":"Output length in seconds, only for models priced by length (ElevenLabs music and sound effects). Allowed values and the default come from the model contract; the price follows this length."},"instrumental":{"type":"boolean","default":false,"description":"Generate music without vocals. Omit input.lyrics and lyrics_optimizer."},"lyrics_optimizer":{"type":"boolean","default":false,"description":"Write the lyrics from the prompt. Omit input.lyrics. Some models add a lyrics-writing charge shown in the quote."}},"description":"Optional music, sound-effect and text-to-speech parameters; omitted fields take the model's defaults, and a model accepts only the parameters its contract declares. There is no tempo or key control; delivered audio reports its measured duration.","additionalProperties":false},"StandardMusicGenerationRequest":{"type":"object","required":["model","input"],"properties":{"input":{"$ref":"#/components/schemas/StandardMusicTextInput"},"model":{"type":"string","minLength":1,"description":"Music model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"$ref":"#/components/schemas/StandardMusicParameters"},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Music or sound-effect request: one Job delivers the tracks the model makes per request (one for most models, two for Suno) as audio files behind short-lived links.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":2500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":2500,"partnerCompletion":0,"promptSource":2500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["music"],"outModalities":["audio"],"description":"ElevenLabs music model for songs or instrumentals of a chosen length from a prompt","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":2500,"catalogReferences":[{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"120"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"120s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"180"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"180s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"240"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"240s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"300"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"300s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"30"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"30s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"60"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"60s · auto lyrics"},"approximate":false}],"completion":0,"inputMode":"t2a","label":"120s · auto lyrics","partnerCompletion":0,"partnerPrompt":2500,"prompt":2500,"rangeStart":0,"yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"120"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"120s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"180"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"180s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"240"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"240s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"300"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"300s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"30"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"30s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:39.874870+00:00","sourceUrl":"https://yir.ai/models/music-v2","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"60"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2","specification_label":"60s · auto lyrics"},"approximate":false}],"status":"parameter_dependent"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"music-v2","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:11:10Z","updatedAt":"2026-10-31T09:11:10Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"120s · auto lyrics","rangeEnd":null,"inputMode":"t2a","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"120"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"120s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"180"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"180s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"240"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"240s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"30"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"30s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"300"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"300s · auto lyrics"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"60"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"60s · auto lyrics"}}]},"rangeStart":0,"resolution":""},"price":"0.0025","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ElevenLabs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/elevenlabs/music-v2-5","upstreamModel":"elevenlabs/music-v2.5","formats":[{"id":"yir:elevenlabs/music-v2.5:text","model":"music-v2.5","provider":"yir","endpointPath":"/v1/audios","upstreamPath":"/v1/audio/generations","queryEndpointPath":"/v1/audios/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"music","inputMode":"text","displayName":"Music","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","systemPrompt":"","resolution":"","requestTemplate":{"input":{"prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","type":"text"},"model":"music-v2.5","parameters":{"duration":60,"instrumental":false,"lyrics_optimizer":true,"n":1},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","minLength":1,"maxLength":10000},{"name":"duration","label":"Duration","description":"Output audio length in seconds; the price follows this length.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":60,"min":30,"max":300,"allowedValues":[30,60,120,180,240,300]},{"name":"instrumental","label":"Instrumental","description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted.","type":"boolean","valueType":"boolean","path":"/parameters/instrumental","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"lyrics_optimizer","label":"Auto lyrics","description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote).","type":"boolean","valueType":"boolean","path":"/parameters/lyrics_optimizer","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"lyrics","label":"Lyrics","description":"Leave lyrics empty when instrumental or automatic lyrics is enabled.","type":"textarea","valueType":"string","path":"/input/lyrics","required":false,"defaultValue":"","omitEmpty":true,"maxLength":5000}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/elevenlabs/music-v2-5","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"529cb5ce-bec9-4aee-8cf2-a473790548c1","routeId":"45d93081-2ec0-487a-bb8e-ceeb7310b9b9","model":"music-v2.5","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/providers/elevenlabs.svg?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/audio/generations","method":"POST","default":true,"task_kind":"audio_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"audio_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardMusicGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"elevenlabs/music-v2.5"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[30,60,120,180,240,300],"type":"integer","default":60,"maximum":300,"minimum":30,"description":"Output audio length in seconds; the price follows this length."},"instrumental":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted."},"lyrics_optimizer":{"enum":[false,true],"type":"boolean","default":false,"description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote)."}}}},"x-yir-operation":"generate_music","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardMusicTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"lyrics":{"type":"string","pattern":"\\S","maxLength":5000,"minLength":1,"description":"Song lyrics, lines separated by \\n; structure tags such as [Verse] and [Chorus] are allowed. Only models that accept custom lyrics take this field (per-model limit in the model contract). For vocal music send lyrics, parameters.lyrics_optimizer or parameters.instrumental as the model supports; omit it when parameters.instrumental or parameters.lyrics_optimizer is true. Sound effects take no lyrics."},"prompt":{"type":"string","pattern":"\\S","maxLength":10000,"minLength":1,"description":"Style, mood and scenario of the music, the description of a sound effect, or for text-to-speech models the exact text to read aloud (billed per character, spaces, punctuation and audio tags included). The per-model limit is in the model contract (for example 2000 for MiniMax music, 1000 for Suno, 450 for ElevenLabs sound effects, 5000 for ElevenLabs v3 and 10000 for MiniMax Speech)."}},"additionalProperties":false},"StandardMusicParameters":{"type":"object","properties":{"n":{"enum":[1,2],"type":"integer","description":"Tracks per Job. Most models make one; Suno always makes two per request."},"voice":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 _().\\-]{0,127}$","maxLength":128,"minLength":1,"description":"Text-to-speech models only: a preset voice ID of the model (for example a MiniMax system voice such as Chinese (Mandarin)_News_Anchor or an ElevenLabs voice ID). Omit for the model default; the voice does not change the price."},"duration":{"type":"integer","maximum":300,"minimum":1,"description":"Output length in seconds, only for models priced by length (ElevenLabs music and sound effects). Allowed values and the default come from the model contract; the price follows this length."},"instrumental":{"type":"boolean","default":false,"description":"Generate music without vocals. Omit input.lyrics and lyrics_optimizer."},"lyrics_optimizer":{"type":"boolean","default":false,"description":"Write the lyrics from the prompt. Omit input.lyrics. Some models add a lyrics-writing charge shown in the quote."}},"description":"Optional music, sound-effect and text-to-speech parameters; omitted fields take the model's defaults, and a model accepts only the parameters its contract declares. There is no tempo or key control; delivered audio reports its measured duration.","additionalProperties":false},"StandardMusicGenerationRequest":{"type":"object","required":["model","input"],"properties":{"input":{"$ref":"#/components/schemas/StandardMusicTextInput"},"model":{"type":"string","minLength":1,"description":"Music model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"$ref":"#/components/schemas/StandardMusicParameters"},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Music or sound-effect request: one Job delivers the tracks the model makes per request (one for most models, two for Suno) as audio files behind short-lived links.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":2500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":2500,"partnerCompletion":0,"promptSource":2500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["music"],"outModalities":["audio"],"description":"ElevenLabs' newer music model with richer melodies and arrangements, for songs or instrumentals of a chosen length","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":2500,"catalogReferences":[{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"120"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"120s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"180"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"180s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"240"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"240s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"300"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"300s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"30"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"30s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"60"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"60s · auto lyrics"},"approximate":false}],"completion":0,"inputMode":"t2a","label":"120s · auto lyrics","partnerCompletion":0,"partnerPrompt":2500,"prompt":2500,"rangeStart":0,"yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["duration","lyrics_optimizer"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"120"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"120s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"180"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"180s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"240"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"240s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"300"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"300s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"30"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"30s · auto lyrics"},"approximate":false},{"unit":"second","amount":"0.0025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"duration","value":"60"},{"name":"n","value":"1"},{"name":"lyrics_optimizer","value":"true"}],"input_mode":"text","request_model_id":"elevenlabs/music-v2.5","specification_label":"60s · auto lyrics"},"approximate":false}],"status":"parameter_dependent"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"music-v2.5","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:11:10Z","updatedAt":"2026-10-31T09:11:10Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2.1","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.03528","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2.1","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.05208","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2.1","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.11508","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2.1","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.0336","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2.1","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.0504","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2.1","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.1134","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Google (Yir catalog estimate)"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/google/nano-banana-2-1","upstreamModel":"google/nano-banana-2.1","formats":[{"id":"yir:google/nano-banana-2.1:text","model":"nano-banana-2.1","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"nano-banana-2.1","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["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"],"allowedValues":["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"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/nano-banana-2-1","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:google/nano-banana-2.1:image","model":"nano-banana-2.1","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"nano-banana-2.1","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["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"],"allowedValues":["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"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":14,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/nano-banana-2-1","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"aa3b1db0-b572-42b2-97d1-913201fda64f","routeId":"13cd626a-3cff-41df-9548-2a5abd7a8c1e","model":"nano-banana-2.1","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/google.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"google/nano-banana-2.1"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K","2K","4K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"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"],"type":"string","default":"auto","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":12000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":12000,"partnerCompletion":0,"promptSource":12000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Google next-generation image model with wide aspect ratios, up to 14 references and 4K output","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":12000,"catalogReferences":[{"unit":"image","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2.1","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":12000,"prompt":12000,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2.1","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.014","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2.1","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.018","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2.1","specification_label":"4K · 1:1"},"approximate":false},{"unit":"image","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2.1","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.014","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2.1","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.018","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2.1","specification_label":"4K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":14000,"catalogReferences":[{"unit":"image","amount":"0.014","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2.1","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":14000,"prompt":14000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":18000,"catalogReferences":[{"unit":"image","amount":"0.018","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2.1","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":18000,"prompt":18000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":12000,"catalogReferences":[{"unit":"image","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2.1","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":12000,"prompt":12000,"rangeStart":0,"resolution":"1k"},{"actualCompletion":0,"actualPrompt":14000,"catalogReferences":[{"unit":"image","amount":"0.014","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2.1","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":14000,"prompt":14000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":18000,"catalogReferences":[{"unit":"image","amount":"0.018","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2.1","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":18000,"prompt":18000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"nano-banana-2.1","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:10Z","updatedAt":"2026-10-31T09:25:10Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-pro","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.13664","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-pro","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.13664","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-pro","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.24224","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-pro","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.1344","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-pro","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.1344","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-pro","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.24","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Google (Yir catalog estimate)"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/google/nano-banana-pro","upstreamModel":"google/nano-banana-pro","formats":[{"id":"yir:google/nano-banana-pro:text","model":"nano-banana-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"nano-banana-pro","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"allowedValues":["auto","1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/nano-banana-pro","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:google/nano-banana-pro:image","model":"nano-banana-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"nano-banana-pro","parameters":{"aspect_ratio":"auto","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"allowedValues":["auto","1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":14,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/nano-banana-pro","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"63ba5d08-97d5-4c39-ae84-ccddab9a8e07","routeId":"bb089ad8-e236-4fa0-8f86-f2cd3fa5f5ff","model":"nano-banana-pro","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/google.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"google/nano-banana-pro"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K","2K","4K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["auto","1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"type":"string","default":"auto","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":20000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":20000,"partnerCompletion":0,"promptSource":20000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Google flagship professional image model supporting up to 4K resolution","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":20000,"catalogReferences":[{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-pro","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":20000,"prompt":20000,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-pro","specification_label":"4K · 1:1"},"approximate":false},{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-pro","specification_label":"4K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":20000,"catalogReferences":[{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-pro","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":20000,"prompt":20000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":30000,"catalogReferences":[{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-pro","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":30000,"prompt":30000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":20000,"catalogReferences":[{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-pro","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":20000,"prompt":20000,"rangeStart":0,"resolution":"1k"},{"actualCompletion":0,"actualPrompt":20000,"catalogReferences":[{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-pro","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":20000,"prompt":20000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":30000,"catalogReferences":[{"unit":"image","amount":"0.03","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-pro","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":30000,"prompt":30000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"nano-banana-pro","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:10Z","updatedAt":"2026-10-31T09:25:10Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"custom-model-gi","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model"],"properties":{"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"openai\"}."},"logoAdd":{"enum":[0,1],"type":"integer","default":1,"description":"Switch for adding a label to generated images. 1 means add label; 0 means do not add label. Value 0 requires approval in Tencent Cloud TokenHub configuration to take effect. Other values are treated as 1 by default."},"contents":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","description":"Message role, for example: user."},"parts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","description":"Text prompt content. Must not be empty. Chinese is recommended. Maximum length: 60000 characters."},"inlineData":{"type":"object","properties":{"data":{"type":"string","description":"Image URL or base64 image data. Supports 1 to 11 images. Recommended: up to 6 high-fidelity object images and up to 5 portrait images for character consistency. Supported formats: png, jpg, jpeg, webp. Base64 size must not exceed 10 MB."},"mimeType":{"type":"string","description":"IANA standard MIME type of the source data, for example: image/png."}},"description":"Inline media bytes."}}},"description":"Ordered parts that make up a single message. Parts may use different MIME types."}}},"description":"The current conversation content sent to the model."},"logoParam":{"type":"object","description":"Label content settings. By default, generated images include a label such as 'Image generated by AI' in the bottom-right corner. Custom label images require approval in Tencent Cloud TokenHub configuration."},"generationConfig":{"type":"object","properties":{"imageConfig":{"type":"object","properties":{"imageSize":{"enum":["1K","2K","4K"],"type":"string","default":"2K","description":"Image resolution. Default value is 2K."},"aspectRatio":{"enum":["1:1","1:4","1:8","2:3","3:2","3:4","4:1","4:3","4:5","5:4","8:1","9:16","16:9","21:9"],"type":"string","description":"Image aspect ratio."}},"description":"Image generation configuration. If this field is set for a model that does not support these options, the system will return an error."},"thinkingConfig":{"type":"object","properties":{"thinkingLevel":{"enum":["Minimal","High"],"type":"string","default":"Minimal","description":"Controls the amount of model thinking to balance quality and latency."}},"description":"Configuration for the model thinking mode."}},"description":"Model generation and output configuration."}}},"id":"archived-0","model":"nano-banana-pro","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"contents":[{"parts":[{"text":"A simple blue circle on white background"}],"role":"user"}],"generationConfig":{"imageConfig":{"aspectRatio":"1:1","imageSize":"1K"},"responseModalities":["IMAGE"]},"model":"nano-banana-pro","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"contents","label":"contents","description":"The current conversation content sent to the model.","type":"json","valueType":"array","path":"/contents","required":false,"omitEmpty":true},{"name":"generationConfig","label":"generationConfig","description":"Model generation and output configuration.","type":"json","valueType":"object","path":"/generationConfig","required":false,"omitEmpty":true},{"name":"logoAdd","label":"logoAdd","description":"Switch for adding a label to generated images. 1 means add label; 0 means do not add label. Value 0 requires approval in Tencent Cloud TokenHub configuration to take effect. Other values are treated as 1 by default.","type":"number","valueType":"integer","path":"/logoAdd","required":false,"defaultValue":1,"allowedValues":[0,1],"omitEmpty":true},{"name":"logoParam","label":"logoParam","description":"Label content settings. By default, generated images include a label such as 'Image generated by AI' in the bottom-right corner. Custom label images require approval in Tencent Cloud TokenHub configuration.","type":"json","valueType":"object","path":"/logoParam","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"route","label":"route","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"openai\"}.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"470b8d3d-20d9-4e14-900a-81b0fb8b2408","routeId":"9552627b-934d-4d1f-8184-ea77679e570f","model":"nano-banana-pro","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/aiart/gi/models/custom-model-gi:generateContent","method":"POST"}],"curlExample":"curl --location 'https://api.getopenmodels.com/v1/images' \\\n--header 'Authorization: Bearer $OM_API_KEY' \\\n--header 'Content-Type: application/json' \\\n  -d '{\n    \"model\":\"nano-banana-pro\",\n    \"route\": { \"provider\": \"\u003cprovider-for-this-model\u003e\" },\n    \"contents\": [\n      {\n        \"role\": \"user\",\n        \"parts\": [\n          {\n            \"text\": \"A simple blue circle on white background\"\n          }\n        ]\n      }\n    ],\n    \"generationConfig\": {\n      \"responseModalities\": [\"IMAGE\"],\n      \"imageConfig\": {\n        \"aspectRatio\": \"1:1\",\n        \"imageSize\": \"1K\"\n      }\n    }\n}'\n\n# Note: If the returned URL contains the character \"\\u0026\", it means the result has been escaped (the '\u0026' character is converted to \"\\u0026\") and needs to be decoded before it can be accessed.","bodySchema":{},"matchRules":{"inputMode":"t2i","media_type":"image"},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":2000000,"completion":12013793,"imageCompletion":96143448,"partnerPriceMultiplierBps":10500,"partnerPrompt":1680000,"partnerCompletion":10091586,"partnerCacheCreationPrompt":0,"partnerCacheReadPrompt":0,"promptSource":14500000,"completionSource":87100000,"imageCompletionSource":697040000,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["image"],"outModalities":["image"],"description":"","descriptionTranslations":{},"supportedFeatures":["image_generation"],"cacheCreationPrompt":0,"cacheReadPrompt":0,"pricingTiers":[],"timePricingRules":[],"latency":129,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"nano-banana-pro","operations":[],"availableModes":[]},"createdAt":"2026-07-16T12:56:26Z","updatedAt":"2026-08-31T13:34:28Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"0.5K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"0.5K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"0.5K · 1:1"}}]},"rangeStart":0,"resolution":"0.5k"},"price":"0.04538","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.06776","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.10136","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.15176","quantity":1},{"unit":"image","match":{"kind":"tier","label":"0.5K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"0.5K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"0.5K · 1:1"}}]},"rangeStart":0,"resolution":"0.5k"},"price":"0.04482","quantity":1},{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.0672","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.1008","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.1512","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Google (Yir catalog estimate)"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/google/nano-banana-2","upstreamModel":"google/nano-banana-2","formats":[{"id":"yir:google/nano-banana-2:text","model":"nano-banana-v2","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"nano-banana-v2","parameters":{"aspect_ratio":"auto","image_search":false,"n":1,"resolution":"1K","web_search":false},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["0.5K","1K","2K","4K"],"allowedValues":["0.5K","1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["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"],"allowedValues":["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"]},{"name":"web_search","label":"Web search","description":"Use web search when supported by the selected supply. Check the quote for availability and cost.","type":"boolean","valueType":"boolean","path":"/parameters/web_search","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"image_search","label":"Image search","description":"Use image search together with web_search=true. Check the quote for supply availability and cost.","type":"boolean","valueType":"boolean","path":"/parameters/image_search","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/nano-banana-2","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:google/nano-banana-2:image","model":"nano-banana-v2","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"nano-banana-v2","parameters":{"aspect_ratio":"auto","image_search":false,"n":1,"resolution":"1K","web_search":false},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["0.5K","1K","2K","4K"],"allowedValues":["0.5K","1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["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"],"allowedValues":["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"]},{"name":"web_search","label":"Web search","description":"Use web search when supported by the selected supply. Check the quote for availability and cost.","type":"boolean","valueType":"boolean","path":"/parameters/web_search","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"image_search","label":"Image search","description":"Use image search together with web_search=true. Check the quote for supply availability and cost.","type":"boolean","valueType":"boolean","path":"/parameters/image_search","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":14,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/nano-banana-2","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"63a7b686-c606-42bf-9799-a5feb9dd1a57","routeId":"485eb0ec-1b02-49d7-9031-ae0856cc34cd","model":"nano-banana-v2","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/google.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"google/nano-banana-2"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["0.5K","1K","2K","4K"],"type":"string","default":"1K","description":"Output resolution."},"web_search":{"enum":[false,true],"type":"boolean","default":false,"description":"Use web search when supported by the selected supply. Check the quote for availability and cost."},"aspect_ratio":{"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"],"type":"string","default":"auto","description":"Output aspect ratio."},"image_search":{"enum":[false,true],"type":"boolean","default":false,"description":"Use image search together with web_search=true. Check the quote for supply availability and cost."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":12000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":12000,"partnerCompletion":0,"promptSource":12000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Google state-of-the-art image generation model with multimodal reference support","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":15000,"catalogReferences":[{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"0.5K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"0.5K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"0.5K · 1:1","partnerCompletion":0,"partnerPrompt":15000,"prompt":15000,"rangeStart":0,"resolution":"0.5k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":7}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"0.5K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"0.5K · 1:1"},"approximate":false},{"unit":"image","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.014","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.018","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"4K · 1:1"},"approximate":false},{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"0.5K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"0.5K · 1:1"},"approximate":false},{"unit":"image","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.014","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.018","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"4K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":12000,"catalogReferences":[{"unit":"image","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":12000,"prompt":12000,"rangeStart":0,"resolution":"1k"},{"actualCompletion":0,"actualPrompt":14000,"catalogReferences":[{"unit":"image","amount":"0.014","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":14000,"prompt":14000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":18000,"catalogReferences":[{"unit":"image","amount":"0.018","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/nano-banana-2","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":18000,"prompt":18000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":15000,"catalogReferences":[{"unit":"image","amount":"0.015","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"0.5K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"0.5K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"0.5K · 1:1","partnerCompletion":0,"partnerPrompt":15000,"prompt":15000,"rangeStart":0,"resolution":"0.5k"},{"actualCompletion":0,"actualPrompt":12000,"catalogReferences":[{"unit":"image","amount":"0.012","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":12000,"prompt":12000,"rangeStart":0,"resolution":"1k"},{"actualCompletion":0,"actualPrompt":14000,"catalogReferences":[{"unit":"image","amount":"0.014","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":14000,"prompt":14000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":18000,"catalogReferences":[{"unit":"image","amount":"0.018","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/nano-banana-2","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":18000,"prompt":18000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"nano-banana-v2","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:10Z","updatedAt":"2026-10-31T09:25:10Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"custom-model-gi2","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model"],"properties":{"model":{"type":"string","description":"The model to use"},"tools":{"type":"array","items":{"type":"object","properties":{"googleSearch":{"type":"object","properties":{"searchTypes":{"type":"object","properties":{"imageSearch":{"type":"object","description":"Image search configuration. Providing this object enables image search capability."}},"description":"Search type configuration used to specify enabled search capabilities."}},"description":"Google Search tool configuration. Providing this object enables web search capability."}}},"description":"Tool configuration array. Can be used to enable Google search capabilities."},"logoAdd":{"enum":[0,1],"type":"integer","default":1,"description":"Switch for adding an AI-generated content label. 1 adds the label, 0 disables it only after console approval. Other values are treated as 1 by default."},"contents":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","description":"Message role, such as user."},"parts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","description":"Text content. Must not be empty when provided. Chinese is recommended. Maximum length is 60,000 characters."},"inlineData":{"type":"object","properties":{"data":{"type":"string","description":"Inline image data or accessible image URL. Supports 1 to 11 images in total. Supported formats are png, jpg, jpeg, and webp. Base64 size must not exceed 10 MB."},"mimeType":{"type":"string","description":"IANA MIME type of the source data, such as image/png."}},"description":"Inline media bytes or media reference data."}}},"description":"Ordered parts that make up a single message. Parts may have different MIME types."}}},"description":"Conversation content sent to the model."},"logoParam":{"type":"object","description":"Logo or label configuration. By default, generated images include an AI-generated image label in the bottom-right corner. Custom label assets require console approval."},"generationConfig":{"type":"object","properties":{"imageConfig":{"type":"object","properties":{"imageSize":{"enum":["1K","2K","4K"],"type":"string","default":"2K","description":"Image resolution. Supported values are 1K, 2K, and 4K."},"aspectRatio":{"enum":["1:1","1:4","1:8","2:3","3:2","3:4","4:1","4:3","4:5","5:4","8:1","9:16","16:9","21:9"],"type":"string","description":"Image aspect ratio."}},"description":"Image generation configuration. Unsupported models may return an error when this field is set."},"thinkingConfig":{"type":"object","properties":{"thinkingLevel":{"enum":["Minimal","High"],"type":"string","default":"Minimal","description":"Controls the amount of model thinking to balance quality and latency."}},"description":"Thinking mode configuration for the model."}},"description":"Generation and output configuration options."}}},"id":"archived-0","model":"nano-banana-v2","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"contents":[{"parts":[{"text":"A simple blue circle on white background"}],"role":"user"}],"generationConfig":{"imageConfig":{"aspectRatio":"1:1","imageSize":"1K"},"responseModalities":["IMAGE"]},"model":"nano-banana-v2","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"contents","label":"contents","description":"Conversation content sent to the model.","type":"json","valueType":"array","path":"/contents","required":false,"omitEmpty":true},{"name":"generationConfig","label":"generationConfig","description":"Generation and output configuration options.","type":"json","valueType":"object","path":"/generationConfig","required":false,"omitEmpty":true},{"name":"logoAdd","label":"logoAdd","description":"Switch for adding an AI-generated content label. 1 adds the label, 0 disables it only after console approval. Other values are treated as 1 by default.","type":"number","valueType":"integer","path":"/logoAdd","required":false,"defaultValue":1,"allowedValues":[0,1],"omitEmpty":true},{"name":"logoParam","label":"logoParam","description":"Logo or label configuration. By default, generated images include an AI-generated image label in the bottom-right corner. Custom label assets require console approval.","type":"json","valueType":"object","path":"/logoParam","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"tools","label":"tools","description":"Tool configuration array. Can be used to enable Google search capabilities.","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"4e2ad776-3a30-48e6-9f33-81b8cdb91a26","routeId":"27d11543-a44c-4ecf-8ca5-47c4a9bb2d1f","model":"nano-banana-v2","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/aiart/gi/models/custom-model-gi2:generateContent","method":"POST"}],"curlExample":"curl --location 'https://api.getopenmodels.com/v1/images' \\\n--header 'Authorization: Bearer $OM_API_KEY' \\\n--header 'Content-Type: application/json' \\\n  -d '{\n    \"model\":\"nano-banana-v2\",\n    \"route\": { \"provider\": \"\u003cprovider-for-this-model\u003e\" },\n    \"contents\": [\n      {\n        \"role\": \"user\",\n        \"parts\": [\n          {\n            \"text\": \"A simple blue circle on white background\"\n          }\n        ]\n      }\n    ],\n    \"generationConfig\": {\n      \"responseModalities\": [\"IMAGE\"],\n      \"imageConfig\": {\n        \"aspectRatio\": \"1:1\",\n        \"imageSize\": \"1K\"\n      }\n    }\n}'\n\n# Note: If the returned URL contains the character \"\\u0026\", it means the result has been escaped (the '\u0026' character is converted to \"\\u0026\") and needs to be decoded before it can be accessed.","bodySchema":{},"matchRules":{"inputMode":"t2i","media_type":"image"},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":496552,"completion":3006897,"imageCompletion":48077241,"partnerPriceMultiplierBps":10500,"partnerPrompt":417103,"partnerCompletion":2525793,"partnerCacheCreationPrompt":0,"partnerCacheReadPrompt":0,"promptSource":3600000,"completionSource":21800000,"imageCompletionSource":348560000,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["image"],"outModalities":["image"],"description":"","descriptionTranslations":{},"supportedFeatures":["image_generation"],"cacheCreationPrompt":0,"cacheReadPrompt":0,"pricingTiers":[],"timePricingRules":[],"latency":124,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"nano-banana-v2","operations":[],"availableModes":[]},"createdAt":"2026-07-16T13:06:32Z","updatedAt":"2026-08-06T13:27:58Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 720p · auto · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/omnihuman-2.0","specification_label":"5s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.07","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ByteDance"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bytedance/omnihuman-2-0","upstreamModel":"bytedance/omnihuman-2.0","formats":[{"id":"yir:bytedance/omnihuman-2.0:reference","model":"omnihuman-2.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"omnihuman-2.0","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":false,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","omitEmpty":true,"minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":4,"max":300},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p"],"readOnly":true,"allowedValues":["720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":2,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":2,"prompt_optional":true,"allowed_reference_roles":["reference_image","reference_audio"],"required_reference_roles":["reference_image","reference_audio"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/omnihuman-2-0","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"a0932a1d-b837-4891-a6f4-95ae3a5225da","routeId":"6bca953b-33b4-4ba8-9424-33cf91c00165","model":"omnihuman-2.0","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bytedance.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"bytedance/omnihuman-2.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":300,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["720p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":2,"min_references":2,"prompt_optional":true,"allowed_reference_roles":["reference_image","reference_audio"],"required_reference_roles":["reference_image","reference_audio"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":70000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":70000,"partnerCompletion":0,"promptSource":70000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"ByteDance avatar model that turns one portrait and an audio track into a lip-synced, full-body performance video up to 5 minutes","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":70000,"catalogReferences":[{"unit":"second","amount":"0.07","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/omnihuman-2.0","specification_label":"5s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":70000,"prompt":70000,"rangeStart":0,"resolution":"720p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.07","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/omnihuman-2.0","specification_label":"5s · 720p · auto · audio"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"omnihuman-2.0","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:55Z","updatedAt":"2026-10-31T09:28:55Z"},{"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/qwen-image-2-1","upstreamModel":"alibaba/qwen-image-2.1","formats":[{"id":"yir:alibaba/qwen-image-2.1:text","model":"qwen-image-2.1","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"qwen-image-2.1","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K"],"allowedValues":["1K","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","3:2","2:3","16:9","9:16"],"allowedValues":["1:1","4:3","3:4","3:2","2:3","16:9","9:16"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/qwen-image-2-1","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:alibaba/qwen-image-2.1:image","model":"qwen-image-2.1","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"qwen-image-2.1","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K"],"allowedValues":["1K","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","3:2","2:3","16:9","9:16"],"allowedValues":["1:1","4:3","3:4","3:2","2:3","16:9","9:16"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":10,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":10,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/qwen-image-2-1","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"6c16b6ec-de2c-4c2e-8a6c-a7ce46e9e8a5","routeId":"577fbdbe-5f21-4516-bc55-023af0a6c08e","model":"qwen-image-2.1","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"alibaba/qwen-image-2.1"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K","2K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","3:2","2:3","16:9","9:16"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":10,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":20000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":20000,"partnerCompletion":0,"promptSource":20000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Qwen Image 2.1; Alibaba unified 7B generation and editing model with 1K/2K, native transparency and multi-reference editing","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":20000,"catalogReferences":[{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/qwen-image-2.1","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":20000,"prompt":20000,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/qwen-image-2.1","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/qwen-image-2.1","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-2.1","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-2.1","specification_label":"2K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":40000,"catalogReferences":[{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/qwen-image-2.1","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":40000,"prompt":40000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":20000,"catalogReferences":[{"unit":"image","amount":"0.02","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-2.1","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":20000,"prompt":20000,"rangeStart":0,"resolution":"1k"},{"actualCompletion":0,"actualPrompt":40000,"catalogReferences":[{"unit":"image","amount":"0.04","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-2.1","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":40000,"prompt":40000,"rangeStart":0,"resolution":"2k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen-image-2.1","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:21:25Z","updatedAt":"2026-10-31T09:21:25Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 16:9","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 1:1"}},{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"16:9"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 16:9"}},{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"3:4"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 3:4"}},{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"4:3"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 4:3"}},{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"9:16"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 9:16"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.04","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 16:9","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 1:1"}},{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 16:9"}},{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"3:4"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 3:4"}},{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"4:3"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 4:3"}},{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"9:16"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 9:16"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.075","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/qwen-image-3-0-pro","upstreamModel":"alibaba/qwen-image-3.0-pro","formats":[{"id":"yir:alibaba/qwen-image-3.0-pro:text","model":"qwen-image-3.0-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"qwen-image-3.0-pro","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K"],"allowedValues":["1K","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16"],"allowedValues":["1:1","4:3","3:4","16:9","9:16"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/qwen-image-3-0-pro","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"8c9202de-70e5-4469-9ac4-b22fef03bebd","routeId":"bebc4a36-32d2-4309-8279-93dc8dfe5da9","model":"qwen-image-3.0-pro","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"alibaba/qwen-image-3.0-pro"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K","2K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":28571,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":28571,"partnerCompletion":0,"promptSource":28571,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Qwen Image 3.0 Pro; currently supports single-image 1K/2K text-to-image generation in five aspect ratios","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":28571,"catalogReferences":[{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"16:9"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 16:9"},"approximate":false},{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"3:4"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 3:4"},"approximate":false},{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"4:3"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 4:3"},"approximate":false},{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"9:16"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 9:16"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 16:9","partnerCompletion":0,"partnerPrompt":28571,"prompt":28571,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":9}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"16:9"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 16:9"},"approximate":false},{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"3:4"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 3:4"},"approximate":false},{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"4:3"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 4:3"},"approximate":false},{"unit":"image","amount":"0.028571","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"9:16"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"1K · 9:16"},"approximate":false},{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 16:9"},"approximate":false},{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"3:4"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 3:4"},"approximate":false},{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"4:3"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 4:3"},"approximate":false},{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"9:16"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 9:16"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":57143,"catalogReferences":[{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"16:9"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 16:9"},"approximate":false},{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"3:4"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 3:4"},"approximate":false},{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"4:3"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 4:3"},"approximate":false},{"unit":"image","amount":"0.057143","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"9:16"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/qwen-image-3.0-pro","specification_label":"2K · 9:16"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 16:9","partnerCompletion":0,"partnerPrompt":57143,"prompt":57143,"rangeStart":0,"resolution":"2k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen-image-3.0-pro","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:21:25Z","updatedAt":"2026-10-31T09:21:25Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"","rangeEnd":32000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"0.028571","outputPrice":"0.114286"},{"unit":"token","match":{"kind":"tier","label":"","rangeEnd":256000,"inputMode":"","rangeStart":32000,"resolution":""},"quantity":1000000,"inputPrice":"0.085714","outputPrice":"0.342857"},{"unit":"token","match":{"kind":"tier","label":"","rangeEnd":null,"inputMode":"","rangeStart":256000,"resolution":""},"quantity":1000000,"inputPrice":"0.171429","outputPrice":"0.171429"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba "},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/qwen3.7-flash/","upstreamModel":"qwen3.7-flash","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"audio":{"type":"object","description":"Output audio configuration for Qwen-Omni models. Requires modalities to include audio."},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_k":{"type":"integer","minimum":0,"description":"Number of candidate tokens used for sampling. If null or greater than 100, top_k is disabled and only top_p takes effect. This is not a standard OpenAI parameter."},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"logprobs":{"type":"boolean","default":false,"description":"Whether to return log probabilities for output tokens. Reasoning content does not include log probabilities."},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"modalities":{"type":"array","items":{"type":"string"},"description":"Output modalities. Applies only to Qwen-Omni models. Valid values include [\"text\"] and [\"text\",\"audio\"]."},"route_mode":{"type":"string","description":"The mode for routing the request"},"audio.voice":{"type":"string","description":"Voice used for output audio."},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"tool_stream":{"type":"boolean","default":false,"description":"Controls streaming behavior for complex tool arguments when stream is true. This is not a standard OpenAI parameter."},"audio.format":{"enum":["wav"],"type":"string","description":"Output audio format. Only wav is supported."},"tools[].type":{"enum":["function"],"type":"string","description":"Tool type. Currently only function is supported."},"top_logprobs":{"type":"integer","default":0,"maximum":5,"minimum":0,"description":"Number of most likely candidate tokens to return at each generation step. Effective only when logprobs is true."},"enable_search":{"type":"boolean","default":false,"description":"Whether to enable web search. This is not a standard OpenAI parameter."},"search_options":{"type":"object","description":"Web search strategy. Effective only when enable_search is true."},"stream_options":{"type":"object","description":"Streaming options. Effective only when stream is true."},"enable_thinking":{"type":"boolean","description":"Whether to enable thinking mode for supported hybrid thinking models. Reasoning content is returned in reasoning_content."},"messages[].role":{"enum":["system","user","assistant","tool"],"type":"string","description":"Message role in the conversation."},"response_format":{"type":"object","description":"Format constraint for the response"},"thinking_budget":{"type":"integer","description":"Maximum number of tokens for the thinking process. Applies to supported Qwen reasoning models."},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"reasoning_effort":{"enum":["low","medium","high","xhigh","max","minimal","none"],"type":"string","description":"Controls reasoning effort. Qwen3.8-Max-Preview supports low, medium, and xhigh. max/high map to xhigh, minimal maps to low, and none maps to enable_thinking=false."},"tools[].function":{"type":"object","description":"Function tool definition."},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"preserve_thinking":{"type":"boolean","default":false,"description":"Whether to append historical reasoning_content from assistant messages to the model input for supported models."},"messages[].content":{"type":"object","description":"Message content. Can be text or model-specific multimodal content."},"parallel_tool_calls":{"type":"boolean","default":false,"description":"Whether to enable parallel tool calling."},"response_format.type":{"enum":["text","json_object","json_schema"],"type":"string","description":"Response format type."},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"},"tools[].function.name":{"type":"string","description":"Function name. Supports letters, digits, underscores, and hyphens. Up to 64 tokens."},"enable_code_interpreter":{"type":"boolean","default":false,"description":"Whether to enable the code interpreter feature. This is not a standard OpenAI parameter."},"vl_high_resolution_images":{"type":"boolean","default":false,"description":"Whether to increase the maximum pixel limit for input images. Applies to supported Qwen VL models. This is not a standard OpenAI parameter."},"response_format.json_schema":{"type":"object","description":"JSON Schema configuration. Required when response_format.type is json_schema."},"tools[].function.parameters":{"type":"object","description":"Function parameters described with JSON Schema."},"messages[].reasoning_content":{"type":"string","description":"Historical reasoning content from assistant messages. Required unchanged when using preserved thinking for supported models."},"search_options.forced_search":{"type":"boolean","default":false,"description":"Whether to force web search instead of letting the model decide."},"stream_options.include_usage":{"type":"boolean","default":false,"description":"Whether to include token usage information in the final streaming chunk."},"tools[].function.description":{"type":"string","description":"Function description used by the model to decide when and how to call the tool."},"search_options.search_strategy":{"enum":["turbo","max","agent","agent_max"],"type":"string","default":"turbo","description":"Search scale strategy. turbo balances speed and effectiveness; max is more comprehensive; agent and agent_max perform multi-round retrieval for supported models."},"response_format.json_schema.name":{"type":"string","description":"Unique schema name. Supports letters, numbers, underscores, and hyphens. Maximum length: 64 characters."},"response_format.json_schema.schema":{"type":"object","description":"JSON Schema object defining the output data structure."},"response_format.json_schema.strict":{"type":"boolean","default":false,"description":"Whether the model must strictly follow the schema constraints."},"search_options.enable_search_extension":{"type":"boolean","default":false,"description":"Whether to enable domain-specific search."},"response_format.json_schema.description":{"type":"string","description":"Description of the schema purpose."}}},"id":"archived-0","model":"qwen3.7-flash","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.7-flash","route":{"provider":"Neolink"}},"parameterSchema":[{"name":"audio","label":"audio","description":"Output audio configuration for Qwen-Omni models. Requires modalities to include audio.","type":"json","valueType":"object","path":"/audio","required":false,"omitEmpty":true},{"name":"audio.format","label":"audio.format","description":"Output audio format. Only wav is supported.","type":"string","valueType":"string","path":"/audio.format","required":false,"allowedValues":["wav"],"omitEmpty":true},{"name":"audio.voice","label":"audio.voice","description":"Voice used for output audio.","type":"string","valueType":"string","path":"/audio.voice","required":false,"omitEmpty":true},{"name":"enable_code_interpreter","label":"enable_code_interpreter","description":"Whether to enable the code interpreter feature. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/enable_code_interpreter","required":false,"defaultValue":false,"omitEmpty":true},{"name":"enable_search","label":"enable_search","description":"Whether to enable web search. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/enable_search","required":false,"defaultValue":false,"omitEmpty":true},{"name":"enable_thinking","label":"enable_thinking","description":"Whether to enable thinking mode for supported hybrid thinking models. Reasoning content is returned in reasoning_content.","type":"boolean","valueType":"boolean","path":"/enable_thinking","required":false,"omitEmpty":true},{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"logprobs","label":"logprobs","description":"Whether to return log probabilities for output tokens. Reasoning content does not include log probabilities.","type":"boolean","valueType":"boolean","path":"/logprobs","required":false,"defaultValue":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"messages[].content","label":"messages[].content","description":"Message content. Can be text or model-specific multimodal content.","type":"json","valueType":"object","path":"/messages[].content","required":false,"omitEmpty":true},{"name":"messages[].reasoning_content","label":"messages[].reasoning_content","description":"Historical reasoning content from assistant messages. Required unchanged when using preserved thinking for supported models.","type":"string","valueType":"string","path":"/messages[].reasoning_content","required":false,"omitEmpty":true},{"name":"messages[].role","label":"messages[].role","description":"Message role in the conversation.","type":"string","valueType":"string","path":"/messages[].role","required":false,"allowedValues":["system","user","assistant","tool"],"omitEmpty":true},{"name":"modalities","label":"modalities","description":"Output modalities. Applies only to Qwen-Omni models. Valid values include [\"text\"] and [\"text\",\"audio\"].","type":"json","valueType":"array","path":"/modalities","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","description":"Whether to enable parallel tool calling.","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"defaultValue":false,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"preserve_thinking","label":"preserve_thinking","description":"Whether to append historical reasoning_content from assistant messages to the model input for supported models.","type":"boolean","valueType":"boolean","path":"/preserve_thinking","required":false,"defaultValue":false,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Controls reasoning effort. Qwen3.8-Max-Preview supports low, medium, and xhigh. max/high map to xhigh, minimal maps to low, and none maps to enable_thinking=false.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["low","medium","high","xhigh","max","minimal","none"],"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"response_format.json_schema","label":"response_format.json_schema","description":"JSON Schema configuration. Required when response_format.type is json_schema.","type":"json","valueType":"object","path":"/response_format.json_schema","required":false,"omitEmpty":true},{"name":"response_format.json_schema.description","label":"response_format.json_schema.description","description":"Description of the schema purpose.","type":"string","valueType":"string","path":"/response_format.json_schema.description","required":false,"omitEmpty":true},{"name":"response_format.json_schema.name","label":"response_format.json_schema.name","description":"Unique schema name. Supports letters, numbers, underscores, and hyphens. Maximum length: 64 characters.","type":"string","valueType":"string","path":"/response_format.json_schema.name","required":false,"omitEmpty":true},{"name":"response_format.json_schema.schema","label":"response_format.json_schema.schema","description":"JSON Schema object defining the output data structure.","type":"json","valueType":"object","path":"/response_format.json_schema.schema","required":false,"omitEmpty":true},{"name":"response_format.json_schema.strict","label":"response_format.json_schema.strict","description":"Whether the model must strictly follow the schema constraints.","type":"boolean","valueType":"boolean","path":"/response_format.json_schema.strict","required":false,"defaultValue":false,"omitEmpty":true},{"name":"response_format.type","label":"response_format.type","description":"Response format type.","type":"string","valueType":"string","path":"/response_format.type","required":false,"allowedValues":["text","json_object","json_schema"],"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"search_options","label":"search_options","description":"Web search strategy. Effective only when enable_search is true.","type":"json","valueType":"object","path":"/search_options","required":false,"omitEmpty":true},{"name":"search_options.enable_search_extension","label":"search_options.enable_search_extension","description":"Whether to enable domain-specific search.","type":"boolean","valueType":"boolean","path":"/search_options.enable_search_extension","required":false,"defaultValue":false,"omitEmpty":true},{"name":"search_options.forced_search","label":"search_options.forced_search","description":"Whether to force web search instead of letting the model decide.","type":"boolean","valueType":"boolean","path":"/search_options.forced_search","required":false,"defaultValue":false,"omitEmpty":true},{"name":"search_options.search_strategy","label":"search_options.search_strategy","description":"Search scale strategy. turbo balances speed and effectiveness; max is more comprehensive; agent and agent_max perform multi-round retrieval for supported models.","type":"string","valueType":"string","path":"/search_options.search_strategy","required":false,"defaultValue":"turbo","allowedValues":["turbo","max","agent","agent_max"],"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","description":"Streaming options. Effective only when stream is true.","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"stream_options.include_usage","label":"stream_options.include_usage","description":"Whether to include token usage information in the final streaming chunk.","type":"boolean","valueType":"boolean","path":"/stream_options.include_usage","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking_budget","label":"thinking_budget","description":"Maximum number of tokens for the thinking process. Applies to supported Qwen reasoning models.","type":"number","valueType":"integer","path":"/thinking_budget","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","description":"Controls streaming behavior for complex tool arguments when stream is true. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"tools[].function","label":"tools[].function","description":"Function tool definition.","type":"json","valueType":"object","path":"/tools[].function","required":false,"omitEmpty":true},{"name":"tools[].function.description","label":"tools[].function.description","description":"Function description used by the model to decide when and how to call the tool.","type":"string","valueType":"string","path":"/tools[].function.description","required":false,"omitEmpty":true},{"name":"tools[].function.name","label":"tools[].function.name","description":"Function name. Supports letters, digits, underscores, and hyphens. Up to 64 tokens.","type":"string","valueType":"string","path":"/tools[].function.name","required":false,"omitEmpty":true},{"name":"tools[].function.parameters","label":"tools[].function.parameters","description":"Function parameters described with JSON Schema.","type":"json","valueType":"object","path":"/tools[].function.parameters","required":false,"omitEmpty":true},{"name":"tools[].type","label":"tools[].type","description":"Tool type. Currently only function is supported.","type":"string","valueType":"string","path":"/tools[].type","required":false,"allowedValues":["function"],"omitEmpty":true},{"name":"top_k","label":"top_k","description":"Number of candidate tokens used for sampling. If null or greater than 100, top_k is disabled and only top_p takes effect. This is not a standard OpenAI parameter.","type":"number","valueType":"integer","path":"/top_k","required":false,"min":0,"omitEmpty":true},{"name":"top_logprobs","label":"top_logprobs","description":"Number of most likely candidate tokens to return at each generation step. Effective only when logprobs is true.","type":"number","valueType":"integer","path":"/top_logprobs","required":false,"defaultValue":0,"min":0,"max":5,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"vl_high_resolution_images","label":"vl_high_resolution_images","description":"Whether to increase the maximum pixel limit for input images. Applies to supported Qwen VL models. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/vl_high_resolution_images","required":false,"defaultValue":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-d288bf61-ff0d-91eb-a838-7804c54a2c05","model":"qwen3.7-flash","usage":{"total_tokens":192,"prompt_tokens":11,"completion_tokens":181,"prompt_tokens_details":{"text_tokens":11,"cached_tokens":0},"completion_tokens_details":{"text_tokens":181,"reasoning_tokens":167}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today? 😊","reasoning_content":"Here's a thinking process:\n\n1.  **Analyze User Input:** The user said \"hello\" - a simple greeting.\n2.  **Identify Intent:** The user is initiating a conversation, likely expecting a friendly response and possibly leading to a question or request.\n3.  **Determine Response Strategy:** \n   - Acknowledge the greeting warmly\n   - Keep it open-ended to encourage further interaction\n   - Maintain a helpful, conversational tone\n4.  **Draft Response (Mental):** Hello! How can I help you today?\n5.  **Refine Response:** Check for tone, clarity, and openness. The draft is good—friendly, concise, and invites the user to share their needs.\n6.  **Final Output Generation:** Match the refined version.✅"},"finish_reason":"stop"}],"created":1793809842,"openmodels_cost":17},"responseOrigin":"user_provided_shared_example","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/qwen3.7-flash/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"b91cc069-9989-42c7-b9f8-f14091acea48","routeId":"bdfccfdf-27b8-43d5-a25a-2fad6d1d2e3a","model":"qwen3.7-flash","provider":"Neolink","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":22069,"completion":88276,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":28966,"partnerCompletion":115862,"partnerCacheCreationPrompt":36207,"partnerCacheReadPrompt":5793,"promptSource":160000,"completionSource":640000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"A native vision-language Flash model with comprehensive improvements in multimodal understanding and agent execution over 3.6-Flash. It strengthens core multimodal capabilities, offering more powerful object recognition and enhanced real-world perception and spatial intelligence. Multimodal agent scenarios such as Search Agent and CI Agent have been significantly upgraded, with more reliable end-to-end task execution. Its multimodal coding capabilities have also been optimized for a smoother vibe coding experience.","descriptionTranslations":{"ar":"نموذج Flash من سلسلة نماذج اللغة والرؤية الأصلية، يقدم تحسينات شاملة في الفهم متعدد الوسائط وقدرات تنفيذ الوكلاء مقارنةً بـ 3.6-Flash. وقد عُززت قدراته الأساسية متعددة الوسائط، مع قدرة أقوى على التعرف على مختلف العناصر وفهم أفضل للعالم الحقيقي والذكاء المكاني. كما شهدت سيناريوهات الوكلاء متعددي الوسائط، مثل Search Agent وCI Agent، ترقيات كبيرة، مع تنفيذ أكثر استقرارًا للمهام من البداية إلى النهاية. كذلك جرى تحسين قدرات البرمجة متعددة الوسائط لتوفير تجربة vibe coding أكثر سلاسة.","ja":"ネイティブな視覚言語シリーズのFlashモデルです。3.6-Flashと比べ、マルチモーダル理解力とエージェントの実行能力が全面的に向上しています。マルチモーダルの基礎能力を重点的に強化し、さまざまな対象を認識する能力に加えて、現実世界の認識力と空間知能もさらに向上しました。Search AgentやCI Agentなどのマルチモーダルエージェント用途でも能力が大幅に強化され、エンドツーエンドのタスク実行がより安定しています。さらに、マルチモーダルコーディング能力も最適化され、vibe codingをよりスムーズに体験できます。","zh":"原生视觉语言系列的 Flash 模型，相较 3.6-Flash 全面提升了多模态理解与智能体执行能力。该模型重点强化多模态基础能力，具备更强的万物识别能力，并进一步提升真实世界感知与空间智能。Search Agent、CI Agent 等多模态智能体场景能力显著升级，端到端任务执行更加稳定；同时优化多模态编程能力，带来更加流畅的 vibe coding 体验。"},"modelReleaseDate":"2026-08-13","supportedFeatures":["vision","tool_calling","content_caching","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheCreationPrompt":34483,"cacheReadPrompt":5517,"pricingTiers":[{"actualCompletion":800000,"actualPrompt":200000,"cacheCreationPrompt":34483,"cacheReadPrompt":5517,"completion":88276,"partnerCacheCreationPrompt":36207,"partnerCacheReadPrompt":5793,"partnerCompletion":115862,"partnerPrompt":28966,"prompt":22069,"rangeEnd":32000,"rangeStart":0},{"actualCompletion":2400000,"actualPrompt":600000,"cacheCreationPrompt":103448,"cacheReadPrompt":16552,"completion":264828,"partnerCacheCreationPrompt":108621,"partnerCacheReadPrompt":17379,"partnerCompletion":347586,"partnerPrompt":86897,"prompt":66207,"rangeEnd":256000,"rangeStart":32000},{"actualCompletion":4800000,"actualPrompt":1200000,"cacheCreationPrompt":206897,"cacheReadPrompt":33103,"completion":529655,"partnerCacheCreationPrompt":217241,"partnerCacheReadPrompt":34759,"partnerCompletion":695172,"partnerPrompt":173793,"prompt":132414,"rangeStart":256000}],"timePricingRules":[],"latency":4354,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.7-flash","operations":[],"availableModes":[]},"createdAt":"2026-08-13T08:55:54Z","updatedAt":"2026-11-02T09:51:41Z"},{"id":"73aee13a-1387-45de-b6b5-aa860bad84e8","routeId":"f3c32629-0c9a-4dae-8a31-b18b8390f78d","model":"qwen3.8-27b","provider":"registration-98c39b3f-3193-47b7-bc88-e5c33db29a34","modelSource":"provider","providerKind":"community","providerLogoUrl":"https://www.abhigya.ai/logo","upstreamPath":[{"type":"generations","path":"/v1/chat/completions","method":"POST"}],"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  --data-raw '{\n  \"model\": \"abhigya-qwen3.8-27b\",\n  \"route\": {\n    \"provider\": \"abhigya\"\n  },\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":100000,"completion":3300000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":105000,"partnerCompletion":3465000,"partnerCacheCreationPrompt":105000,"partnerCacheReadPrompt":105000,"promptSource":100000,"completionSource":3300000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat"],"description":"Qwen 3.8 27B","descriptionTranslations":{},"supportedFeatures":["tool_calling"],"cacheCreationPrompt":100000,"cacheReadPrompt":100000,"pricingTiers":[],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.8-27b","operations":[],"availableModes":[]},"createdAt":"2026-11-02T16:34:01Z","updatedAt":"2026-11-03T09:21:10Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba","inputPrice":"0.114286","outputPrice":"0.385714"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"qwen3.8-flash","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"qwen3.8-flash","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.8-flash","route":{"provider":"Neolink"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-2aeab26b-e441-91bd-a57f-12c87c8ee592","model":"qwen3.8-flash","usage":{"total_tokens":92,"prompt_tokens":62,"completion_tokens":30,"prompt_tokens_details":{"text_tokens":62,"cached_tokens":0},"completion_tokens_details":{"text_tokens":30,"reasoning_tokens":18}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"We need respond to user \"hello\". Simple greeting. Need final answer. Keep friendly."},"finish_reason":"stop"}],"created":1789453385,"openmodels_cost":16},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"generated_from_playground_prompt_and_settings","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"cc3a5e88-0ebf-4b23-a270-e4acb9e5dfd5","routeId":"832b5f7d-1756-4bbe-95bb-aa3e8c02064d","model":"qwen3.8-flash","provider":"Neolink","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":88221,"completion":297745,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":75310,"partnerCompletion":254172,"partnerCacheCreationPrompt":181034,"partnerCacheReadPrompt":14483,"promptSource":639600,"completionSource":2158650,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat","coding","reasoning"],"description":"","descriptionTranslations":{},"supportedFeatures":["tool_calling","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheCreationPrompt":172414,"cacheReadPrompt":13793,"pricingTiers":[],"timePricingRules":[],"latency":1406,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.8-flash","operations":[],"availableModes":[]},"createdAt":"2026-09-15T06:10:18Z","updatedAt":"2026-11-02T09:55:28Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba","inputPrice":"1.714286","outputPrice":"5.142857"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/qwen3.8-max/","upstreamModel":"qwen3.8-max","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"audio":{"type":"object","description":"Output audio configuration for Qwen-Omni models. Requires modalities to include audio."},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_k":{"type":"integer","minimum":0,"description":"Number of candidate tokens used for sampling. If null or greater than 100, top_k is disabled and only top_p takes effect. This is not a standard OpenAI parameter."},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"logprobs":{"type":"boolean","default":false,"description":"Whether to return log probabilities for output tokens. Reasoning content does not include log probabilities."},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"modalities":{"type":"array","items":{"type":"string"},"description":"Output modalities. Applies only to Qwen-Omni models. Valid values include [\"text\"] and [\"text\",\"audio\"]."},"route_mode":{"type":"string","description":"The mode for routing the request"},"audio.voice":{"type":"string","description":"Voice used for output audio."},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"tool_stream":{"type":"boolean","default":false,"description":"Controls streaming behavior for complex tool arguments when stream is true. This is not a standard OpenAI parameter."},"audio.format":{"enum":["wav"],"type":"string","description":"Output audio format. Only wav is supported."},"tools[].type":{"enum":["function"],"type":"string","description":"Tool type. Currently only function is supported."},"top_logprobs":{"type":"integer","default":0,"maximum":5,"minimum":0,"description":"Number of most likely candidate tokens to return at each generation step. Effective only when logprobs is true."},"enable_search":{"type":"boolean","default":false,"description":"Whether to enable web search. This is not a standard OpenAI parameter."},"search_options":{"type":"object","description":"Web search strategy. Effective only when enable_search is true."},"stream_options":{"type":"object","description":"Streaming options. Effective only when stream is true."},"enable_thinking":{"type":"boolean","description":"Whether to enable thinking mode for supported hybrid thinking models. Reasoning content is returned in reasoning_content."},"messages[].role":{"enum":["system","user","assistant","tool"],"type":"string","description":"Message role in the conversation."},"response_format":{"type":"object","description":"Format constraint for the response"},"thinking_budget":{"type":"integer","description":"Maximum number of tokens for the thinking process. Applies to supported Qwen reasoning models."},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"reasoning_effort":{"enum":["low","medium","high","xhigh","max","minimal","none"],"type":"string","description":"Controls reasoning effort. Qwen3.8-Max-Preview supports low, medium, and xhigh. max/high map to xhigh, minimal maps to low, and none maps to enable_thinking=false."},"tools[].function":{"type":"object","description":"Function tool definition."},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"preserve_thinking":{"type":"boolean","default":false,"description":"Whether to append historical reasoning_content from assistant messages to the model input for supported models."},"messages[].content":{"type":"object","description":"Message content. Can be text or model-specific multimodal content."},"parallel_tool_calls":{"type":"boolean","default":false,"description":"Whether to enable parallel tool calling."},"response_format.type":{"enum":["text","json_object","json_schema"],"type":"string","description":"Response format type."},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"},"tools[].function.name":{"type":"string","description":"Function name. Supports letters, digits, underscores, and hyphens. Up to 64 tokens."},"enable_code_interpreter":{"type":"boolean","default":false,"description":"Whether to enable the code interpreter feature. This is not a standard OpenAI parameter."},"vl_high_resolution_images":{"type":"boolean","default":false,"description":"Whether to increase the maximum pixel limit for input images. Applies to supported Qwen VL models. This is not a standard OpenAI parameter."},"response_format.json_schema":{"type":"object","description":"JSON Schema configuration. Required when response_format.type is json_schema."},"tools[].function.parameters":{"type":"object","description":"Function parameters described with JSON Schema."},"messages[].reasoning_content":{"type":"string","description":"Historical reasoning content from assistant messages. Required unchanged when using preserved thinking for supported models."},"search_options.forced_search":{"type":"boolean","default":false,"description":"Whether to force web search instead of letting the model decide."},"stream_options.include_usage":{"type":"boolean","default":false,"description":"Whether to include token usage information in the final streaming chunk."},"tools[].function.description":{"type":"string","description":"Function description used by the model to decide when and how to call the tool."},"search_options.search_strategy":{"enum":["turbo","max","agent","agent_max"],"type":"string","default":"turbo","description":"Search scale strategy. turbo balances speed and effectiveness; max is more comprehensive; agent and agent_max perform multi-round retrieval for supported models."},"response_format.json_schema.name":{"type":"string","description":"Unique schema name. Supports letters, numbers, underscores, and hyphens. Maximum length: 64 characters."},"response_format.json_schema.schema":{"type":"object","description":"JSON Schema object defining the output data structure."},"response_format.json_schema.strict":{"type":"boolean","default":false,"description":"Whether the model must strictly follow the schema constraints."},"search_options.enable_search_extension":{"type":"boolean","default":false,"description":"Whether to enable domain-specific search."},"response_format.json_schema.description":{"type":"string","description":"Description of the schema purpose."}}},"id":"archived-0","model":"qwen3.8-max","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.8-max","route":{"provider":"Neolink"}},"parameterSchema":[{"name":"audio","label":"audio","description":"Output audio configuration for Qwen-Omni models. Requires modalities to include audio.","type":"json","valueType":"object","path":"/audio","required":false,"omitEmpty":true},{"name":"audio.format","label":"audio.format","description":"Output audio format. Only wav is supported.","type":"string","valueType":"string","path":"/audio.format","required":false,"allowedValues":["wav"],"omitEmpty":true},{"name":"audio.voice","label":"audio.voice","description":"Voice used for output audio.","type":"string","valueType":"string","path":"/audio.voice","required":false,"omitEmpty":true},{"name":"enable_code_interpreter","label":"enable_code_interpreter","description":"Whether to enable the code interpreter feature. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/enable_code_interpreter","required":false,"defaultValue":false,"omitEmpty":true},{"name":"enable_search","label":"enable_search","description":"Whether to enable web search. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/enable_search","required":false,"defaultValue":false,"omitEmpty":true},{"name":"enable_thinking","label":"enable_thinking","description":"Whether to enable thinking mode for supported hybrid thinking models. Reasoning content is returned in reasoning_content.","type":"boolean","valueType":"boolean","path":"/enable_thinking","required":false,"omitEmpty":true},{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"logprobs","label":"logprobs","description":"Whether to return log probabilities for output tokens. Reasoning content does not include log probabilities.","type":"boolean","valueType":"boolean","path":"/logprobs","required":false,"defaultValue":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"messages[].content","label":"messages[].content","description":"Message content. Can be text or model-specific multimodal content.","type":"json","valueType":"object","path":"/messages[].content","required":false,"omitEmpty":true},{"name":"messages[].reasoning_content","label":"messages[].reasoning_content","description":"Historical reasoning content from assistant messages. Required unchanged when using preserved thinking for supported models.","type":"string","valueType":"string","path":"/messages[].reasoning_content","required":false,"omitEmpty":true},{"name":"messages[].role","label":"messages[].role","description":"Message role in the conversation.","type":"string","valueType":"string","path":"/messages[].role","required":false,"allowedValues":["system","user","assistant","tool"],"omitEmpty":true},{"name":"modalities","label":"modalities","description":"Output modalities. Applies only to Qwen-Omni models. Valid values include [\"text\"] and [\"text\",\"audio\"].","type":"json","valueType":"array","path":"/modalities","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","description":"Whether to enable parallel tool calling.","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"defaultValue":false,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"preserve_thinking","label":"preserve_thinking","description":"Whether to append historical reasoning_content from assistant messages to the model input for supported models.","type":"boolean","valueType":"boolean","path":"/preserve_thinking","required":false,"defaultValue":false,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Controls reasoning effort. Qwen3.8-Max-Preview supports low, medium, and xhigh. max/high map to xhigh, minimal maps to low, and none maps to enable_thinking=false.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["low","medium","high","xhigh","max","minimal","none"],"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"response_format.json_schema","label":"response_format.json_schema","description":"JSON Schema configuration. Required when response_format.type is json_schema.","type":"json","valueType":"object","path":"/response_format.json_schema","required":false,"omitEmpty":true},{"name":"response_format.json_schema.description","label":"response_format.json_schema.description","description":"Description of the schema purpose.","type":"string","valueType":"string","path":"/response_format.json_schema.description","required":false,"omitEmpty":true},{"name":"response_format.json_schema.name","label":"response_format.json_schema.name","description":"Unique schema name. Supports letters, numbers, underscores, and hyphens. Maximum length: 64 characters.","type":"string","valueType":"string","path":"/response_format.json_schema.name","required":false,"omitEmpty":true},{"name":"response_format.json_schema.schema","label":"response_format.json_schema.schema","description":"JSON Schema object defining the output data structure.","type":"json","valueType":"object","path":"/response_format.json_schema.schema","required":false,"omitEmpty":true},{"name":"response_format.json_schema.strict","label":"response_format.json_schema.strict","description":"Whether the model must strictly follow the schema constraints.","type":"boolean","valueType":"boolean","path":"/response_format.json_schema.strict","required":false,"defaultValue":false,"omitEmpty":true},{"name":"response_format.type","label":"response_format.type","description":"Response format type.","type":"string","valueType":"string","path":"/response_format.type","required":false,"allowedValues":["text","json_object","json_schema"],"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"search_options","label":"search_options","description":"Web search strategy. Effective only when enable_search is true.","type":"json","valueType":"object","path":"/search_options","required":false,"omitEmpty":true},{"name":"search_options.enable_search_extension","label":"search_options.enable_search_extension","description":"Whether to enable domain-specific search.","type":"boolean","valueType":"boolean","path":"/search_options.enable_search_extension","required":false,"defaultValue":false,"omitEmpty":true},{"name":"search_options.forced_search","label":"search_options.forced_search","description":"Whether to force web search instead of letting the model decide.","type":"boolean","valueType":"boolean","path":"/search_options.forced_search","required":false,"defaultValue":false,"omitEmpty":true},{"name":"search_options.search_strategy","label":"search_options.search_strategy","description":"Search scale strategy. turbo balances speed and effectiveness; max is more comprehensive; agent and agent_max perform multi-round retrieval for supported models.","type":"string","valueType":"string","path":"/search_options.search_strategy","required":false,"defaultValue":"turbo","allowedValues":["turbo","max","agent","agent_max"],"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","description":"Streaming options. Effective only when stream is true.","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"stream_options.include_usage","label":"stream_options.include_usage","description":"Whether to include token usage information in the final streaming chunk.","type":"boolean","valueType":"boolean","path":"/stream_options.include_usage","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking_budget","label":"thinking_budget","description":"Maximum number of tokens for the thinking process. Applies to supported Qwen reasoning models.","type":"number","valueType":"integer","path":"/thinking_budget","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","description":"Controls streaming behavior for complex tool arguments when stream is true. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"tools[].function","label":"tools[].function","description":"Function tool definition.","type":"json","valueType":"object","path":"/tools[].function","required":false,"omitEmpty":true},{"name":"tools[].function.description","label":"tools[].function.description","description":"Function description used by the model to decide when and how to call the tool.","type":"string","valueType":"string","path":"/tools[].function.description","required":false,"omitEmpty":true},{"name":"tools[].function.name","label":"tools[].function.name","description":"Function name. Supports letters, digits, underscores, and hyphens. Up to 64 tokens.","type":"string","valueType":"string","path":"/tools[].function.name","required":false,"omitEmpty":true},{"name":"tools[].function.parameters","label":"tools[].function.parameters","description":"Function parameters described with JSON Schema.","type":"json","valueType":"object","path":"/tools[].function.parameters","required":false,"omitEmpty":true},{"name":"tools[].type","label":"tools[].type","description":"Tool type. Currently only function is supported.","type":"string","valueType":"string","path":"/tools[].type","required":false,"allowedValues":["function"],"omitEmpty":true},{"name":"top_k","label":"top_k","description":"Number of candidate tokens used for sampling. If null or greater than 100, top_k is disabled and only top_p takes effect. This is not a standard OpenAI parameter.","type":"number","valueType":"integer","path":"/top_k","required":false,"min":0,"omitEmpty":true},{"name":"top_logprobs","label":"top_logprobs","description":"Number of most likely candidate tokens to return at each generation step. Effective only when logprobs is true.","type":"number","valueType":"integer","path":"/top_logprobs","required":false,"defaultValue":0,"min":0,"max":5,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"vl_high_resolution_images","label":"vl_high_resolution_images","description":"Whether to increase the maximum pixel limit for input images. Applies to supported Qwen VL models. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/vl_high_resolution_images","required":false,"defaultValue":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-d288bf61-ff0d-91eb-a838-7804c54a2c05","model":"qwen3.7-flash","usage":{"total_tokens":192,"prompt_tokens":11,"completion_tokens":181,"prompt_tokens_details":{"text_tokens":11,"cached_tokens":0},"completion_tokens_details":{"text_tokens":181,"reasoning_tokens":167}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today? 😊","reasoning_content":"Here's a thinking process:\n\n1.  **Analyze User Input:** The user said \"hello\" - a simple greeting.\n2.  **Identify Intent:** The user is initiating a conversation, likely expecting a friendly response and possibly leading to a question or request.\n3.  **Determine Response Strategy:** \n   - Acknowledge the greeting warmly\n   - Keep it open-ended to encourage further interaction\n   - Maintain a helpful, conversational tone\n4.  **Draft Response (Mental):** Hello! How can I help you today?\n5.  **Refine Response:** Check for tone, clarity, and openness. The draft is good—friendly, concise, and invites the user to share their needs.\n6.  **Final Output Generation:** Match the refined version.✅"},"finish_reason":"stop"}],"created":1793809842,"openmodels_cost":17},"responseOrigin":"user_provided_shared_example","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/qwen3.8-max/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"bfdf7656-b43b-4953-8f4f-af7da908ba3d","routeId":"924eae5b-0d90-409f-918c-14bdcc2189e3","model":"qwen3.8-max","provider":"Neolink","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":1344828,"completion":4034483,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":1129655,"partnerCompletion":3388966,"partnerCacheCreationPrompt":1412069,"partnerCacheReadPrompt":141207,"promptSource":9750000,"completionSource":29250000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"A flagship Mixture-of-Experts (MoE) model with 2.4 trillion parameters, delivering major advances in coding and office productivity. It can autonomously code for more than ten days and deliver complete projects. It handles hundreds of professional tasks across fields such as law, finance, and design, producing production-grade results end to end within a single conversation. Native visual understanding spans the entire planning, execution, and verification workflow, with support for deep semantic analysis of ultra-long documents and long-form videos. For long-horizon tasks, it plans autonomously, iterates in a closed loop, and continuously improves.","descriptionTranslations":{"ar":"نموذج رائد ببنية MoE يضم 2.4 تريليون معلمة، مع تطور شامل في قدرات البرمجة والعمل المكتبي. يستطيع تنفيذ مهام البرمجة بصورة مستقلة لأكثر من عشرة أيام وتسليم مشاريع متكاملة، كما يجيد مئات المهام المهنية في مجالات مثل القانون والتمويل والتصميم، ويقدم نتائج جاهزة للإنتاج من البداية إلى النهاية ضمن محادثة واحدة. تتكامل قدراته الأصلية في الفهم البصري عبر مراحل التخطيط والتنفيذ والتحقق، مع دعم التحليل الدلالي المتعمق للمستندات فائقة الطول ومقاطع الفيديو الطويلة. وفي المهام الممتدة، يخطط بصورة مستقلة ويكرر العمل ضمن حلقة مغلقة، بما يتيح له التحسن المستمر.","ja":"2.4兆パラメータのMoEアーキテクチャを採用したフラッグシップモデルです。コーディングとオフィス業務の能力が全面的に向上し、十数日間にわたって自律的に開発を進め、完成したプロジェクトを納品できます。法律、金融、デザインなど数百種類の専門業務に対応し、1回の対話で本番環境レベルの成果物をエンドツーエンドで提供します。ネイティブな視覚理解能力が計画、実行、検証の全工程に組み込まれており、超長文書や長時間動画の高度な意味解析にも対応します。長期タスクでは自律的に計画を立て、クローズドループで反復改善を重ねながら継続的に進化します。","zh":"这是一款拥有 2.4 万亿参数的 MoE 旗舰模型，编程与办公能力实现全面跃升，可连续十数天自主编程并交付完整项目。它能够胜任法律、金融、设计等数百种专业任务，在一次对话中端到端交付生产级成果。原生视觉理解能力贯穿规划、执行与验证全流程，并支持对超长文档和长视频进行深度语义解析。在长程任务中，该模型能够自主规划、闭环迭代并持续进化。"},"modelReleaseDate":"2026-08-13","supportedFeatures":["tool_calling","content_caching","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheCreationPrompt":1344828,"cacheReadPrompt":134483,"pricingTiers":[],"timePricingRules":[],"latency":503,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.8-max","operations":[],"availableModes":[]},"createdAt":"2026-08-13T08:49:41Z","updatedAt":"2026-11-02T09:56:56Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"recraft/recraft-v3","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.04","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Recraft"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/recraft/recraft-v3","upstreamModel":"recraft/recraft-v3","formats":[{"id":"yir:recraft/recraft-v3:text","model":"recraft-v3","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"recraft-v3","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K"],"readOnly":true,"allowedValues":["1K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16"],"allowedValues":["1:1","4:3","3:4","16:9","9:16"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/recraft/recraft-v3","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"eb5ab379-ccc8-483d-8a3e-d36ab9040a4a","routeId":"601a88a9-58c2-4cf0-b25b-4f2a62a85017","model":"recraft-v3","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/recraft.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"recraft/recraft-v3"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":35000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":35000,"partnerCompletion":0,"promptSource":35000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Third-generation Recraft image model; currently supports text-to-image raster generation, without vector output or custom style creation","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":35000,"catalogReferences":[{"unit":"image","amount":"0.035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"recraft/recraft-v3","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":35000,"prompt":35000,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"recraft/recraft-v3","specification_label":"1K · 1:1"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"recraft-v3","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:25:37Z","updatedAt":"2026-10-31T09:25:37Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.1166","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.0583","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.0241","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.0121","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0518","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0259","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.1166","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.0583","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.0241","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.0121","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0518","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0259","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ByteDance"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-1-5-pro","upstreamModel":"bytedance/seedance-1.5-pro","formats":[{"id":"yir:bytedance/seedance-1.5-pro:text","model":"seedance-1.5-pro","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"seedance-1.5-pro","parameters":{"aspect_ratio":"16:9","duration":4,"generate_audio":false,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":4,"min":4,"max":12},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-1-5-pro","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bytedance/seedance-1.5-pro:image","model":"seedance-1.5-pro","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"seedance-1.5-pro","parameters":{"aspect_ratio":"16:9","duration":4,"generate_audio":false,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":4,"min":4,"max":12},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-1-5-pro","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"7d075f9a-7882-404f-a9e9-1d20c7b7670e","routeId":"266a5275-cb93-4c4b-a6fa-381fc52560db","model":"seedance-1.5-pro","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bytedance.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"bytedance/seedance-1.5-pro"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":4,"maximum":12,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p","1080p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":12100,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":12100,"partnerCompletion":0,"promptSource":12100,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"ByteDance cost-effective video generation model. ByteDance shuts it down on 2026-11-11; Seedance 2.0 Mini is recommended for new projects","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":108000,"catalogReferences":[{"unit":"second","amount":"0.108","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"4s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":108000,"prompt":108000,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.108","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0583","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0204","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0121","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.044","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0259","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.108","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0583","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0204","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0121","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.044","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0259","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":58300,"catalogReferences":[{"unit":"second","amount":"0.0583","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"4s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":58300,"prompt":58300,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":20400,"catalogReferences":[{"unit":"second","amount":"0.0204","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"4s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":20400,"prompt":20400,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":12100,"catalogReferences":[{"unit":"second","amount":"0.0121","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"4s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":12100,"prompt":12100,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":44000,"catalogReferences":[{"unit":"second","amount":"0.044","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"4s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":44000,"prompt":44000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":25900,"catalogReferences":[{"unit":"second","amount":"0.0259","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"4s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":25900,"prompt":25900,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":108000,"catalogReferences":[{"unit":"second","amount":"0.108","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"4s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":108000,"prompt":108000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":58300,"catalogReferences":[{"unit":"second","amount":"0.0583","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"4s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":58300,"prompt":58300,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":20400,"catalogReferences":[{"unit":"second","amount":"0.0204","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"4s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":20400,"prompt":20400,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":12100,"catalogReferences":[{"unit":"second","amount":"0.0121","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"4s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":12100,"prompt":12100,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":44000,"catalogReferences":[{"unit":"second","amount":"0.044","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"4s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":44000,"prompt":44000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":25900,"catalogReferences":[{"unit":"second","amount":"0.0259","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.949166+00:00","sourceUrl":"https://yir.ai/models/seedance-1-5-pro","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-1.5-pro","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"4s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":25900,"prompt":25900,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"seedance-1.5-pro","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:55Z","updatedAt":"2026-10-31T09:28:55Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.035154","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.035154","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0756","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0756","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.035154","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.035154","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0756","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0756","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.035154","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.035154","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0756","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.0756","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ByteDance (Yir catalog estimate)"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0-mini","upstreamModel":"bytedance/seedance-2.0-mini","formats":[{"id":"yir:bytedance/seedance-2.0-mini:text","model":"seedance-2.0-mini","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"seedance-2.0-mini","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0-mini","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bytedance/seedance-2.0-mini:image","model":"seedance-2.0-mini","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"seedance-2.0-mini","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0-mini","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:bytedance/seedance-2.0-mini:reference","model":"seedance-2.0-mini","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"480p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"seedance-2.0-mini","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"480p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":4,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"480p","options":["480p","720p"],"allowedValues":["480p","720p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["21:9","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["21:9","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":15,"referenceUrlOnly":true,"referenceConstraints":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"required_any_reference_roles":["reference_image","reference_video"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedance-2-0-mini","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"3d75be3c-6065-4291-be77-b732ea8e686e","routeId":"51308b1c-85d4-428c-8a1e-b54bbdd5d344","model":"seedance-2.0-mini","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bytedance.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image","reference"]}}},"model":{"const":"bytedance/seedance-2.0-mini"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p"],"type":"string","default":"480p","description":"Output resolution."},"aspect_ratio":{"enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}},"reference":{"max_references":15,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":3,"minimum":0},"reference_image":{"maximum":9,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"required_any_reference_roles":["reference_image","reference_video"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":18152,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":18152,"partnerCompletion":0,"promptSource":18152,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"ByteDance lightweight video model for low latency and quick previews","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":18152,"catalogReferences":[{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":18152,"prompt":18152,"rangeStart":0,"resolution":"480p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":18152,"catalogReferences":[{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":18152,"prompt":18152,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":39035,"catalogReferences":[{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":39035,"prompt":39035,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":39035,"catalogReferences":[{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":39035,"prompt":39035,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":18152,"catalogReferences":[{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":18152,"prompt":18152,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":18152,"catalogReferences":[{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":18152,"prompt":18152,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":39035,"catalogReferences":[{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":39035,"prompt":39035,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":39035,"catalogReferences":[{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":39035,"prompt":39035,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":18152,"catalogReferences":[{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":18152,"prompt":18152,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":18152,"catalogReferences":[{"unit":"second","amount":"0.018152","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":18152,"prompt":18152,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":39035,"catalogReferences":[{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":39035,"prompt":39035,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":39035,"catalogReferences":[{"unit":"second","amount":"0.039035","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedance-2.0-mini","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":39035,"prompt":39035,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"seedance-2.0-mini","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:55Z","updatedAt":"2026-10-31T09:28:55Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-4.5","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.04","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-4.5","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.04","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-4.5","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.04","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-4.5","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.04","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ByteDance"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bytedance/seedream-4-5","upstreamModel":"bytedance/seedream-4.5","formats":[{"id":"yir:bytedance/seedream-4.5:text","model":"seedream-4.5","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"2K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"seedream-4.5","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"2K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"2K","options":["2K","4K"],"allowedValues":["2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"],"allowedValues":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedream-4-5","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bytedance/seedream-4.5:image","model":"seedream-4.5","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"2K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"seedream-4.5","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"2K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"2K","options":["2K","4K"],"allowedValues":["2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9","9:21"],"allowedValues":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9","9:21"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":10,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":10,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedream-4-5","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"4bd2704a-ac48-4751-9bdb-b671686e3067","routeId":"1f9d218d-2a29-4dc6-8387-8fbcd9498bf1","model":"seedream-4.5","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bytedance.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"bytedance/seedream-4.5"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["2K","4K"],"type":"string","default":"2K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"bytedance/seedream-4.5"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["2K","4K"],"type":"string","default":"2K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9","9:21"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"image":{"max_references":10,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":26000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":26000,"partnerCompletion":0,"promptSource":26000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"ByteDance classic high-resolution image model with default 2K output","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":26000,"catalogReferences":[{"unit":"image","amount":"0.026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-4.5","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":26000,"prompt":26000,"rangeStart":0,"resolution":"2k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-4.5","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-4.5","specification_label":"4K · 1:1"},"approximate":false},{"unit":"image","amount":"0.026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-4.5","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-4.5","specification_label":"4K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":26000,"catalogReferences":[{"unit":"image","amount":"0.026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-4.5","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":26000,"prompt":26000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":26000,"catalogReferences":[{"unit":"image","amount":"0.026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-4.5","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":26000,"prompt":26000,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":26000,"catalogReferences":[{"unit":"image","amount":"0.026","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-4.5","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":26000,"prompt":26000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"seedream-4.5","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:23:08Z","updatedAt":"2026-10-31T09:23:08Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.035","quantity":1},{"unit":"image","match":{"kind":"tier","label":"3K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"3K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0","specification_label":"3K · 1:1"}}]},"rangeStart":0,"resolution":"3k"},"price":"0.035","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"i2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.035","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.035","quantity":1},{"unit":"image","match":{"kind":"tier","label":"3K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"3K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0","specification_label":"3K · 1:1"}}]},"rangeStart":0,"resolution":"3k"},"price":"0.035","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.035","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ByteDance"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bytedance/seedream-5-0","upstreamModel":"bytedance/seedream-5.0","formats":[{"id":"yir:bytedance/seedream-5.0:text","model":"seedream-5.0","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"2K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"seedream-5.0","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"2K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"2K","options":["2K","3K","4K"],"allowedValues":["2K","3K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"],"allowedValues":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedream-5-0","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bytedance/seedream-5.0:image","model":"seedream-5.0","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"2K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"seedream-5.0","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"2K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"2K","options":["2K","3K","4K"],"allowedValues":["2K","3K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"],"allowedValues":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":14,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedream-5-0","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"36e67cae-82e4-48b3-b1db-11258221fd8d","routeId":"aba89549-0d02-4348-831d-504ba1339c38","model":"seedream-5.0","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bytedance.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"bytedance/seedream-5.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["2K","3K","4K"],"type":"string","default":"2K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16","3:2","2:3","21:9"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":14,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":27500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":27500,"partnerCompletion":0,"promptSource":27500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Seedream 5.0 image generation and editing model","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":27500,"catalogReferences":[{"unit":"image","amount":"0.0275","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":27500,"prompt":27500,"rangeStart":0,"resolution":"2k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0275","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0275","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"3K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0","specification_label":"3K · 1:1"},"approximate":false},{"unit":"image","amount":"0.028","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0","specification_label":"4K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0275","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0275","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"3K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0","specification_label":"3K · 1:1"},"approximate":false},{"unit":"image","amount":"0.028","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0","specification_label":"4K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":27500,"catalogReferences":[{"unit":"image","amount":"0.0275","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"3K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0","specification_label":"3K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"3K · 1:1","partnerCompletion":0,"partnerPrompt":27500,"prompt":27500,"rangeStart":0,"resolution":"3k"},{"actualCompletion":0,"actualPrompt":28000,"catalogReferences":[{"unit":"image","amount":"0.028","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"i2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":28000,"prompt":28000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":27500,"catalogReferences":[{"unit":"image","amount":"0.0275","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":27500,"prompt":27500,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":27500,"catalogReferences":[{"unit":"image","amount":"0.0275","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"3K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0","specification_label":"3K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"3K · 1:1","partnerCompletion":0,"partnerPrompt":27500,"prompt":27500,"rangeStart":0,"resolution":"3k"},{"actualCompletion":0,"actualPrompt":28000,"catalogReferences":[{"unit":"image","amount":"0.028","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":28000,"prompt":28000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"seedream-5.0","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:23:08Z","updatedAt":"2026-10-31T09:23:08Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.045","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.09","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ByteDance"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/bytedance/seedream-5-0-pro","upstreamModel":"bytedance/seedream-5.0-pro","formats":[{"id":"yir:bytedance/seedream-5.0-pro:text","model":"seedream-5.0-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"seedream-5.0-pro","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K"],"allowedValues":["1K","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"],"allowedValues":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"]},{"name":"size","label":"Exact size","description":"Exact output pixels; only explicitly compatible supplies are eligible. Conflicting resolution/aspect ratio is rejected.","type":"select","valueType":"string","path":"/parameters/size","required":false,"options":["1024x1024","1152x864","864x1152","1424x800","800x1424","1248x832","832x1248","1568x672","2048x2048","2368x1776","1776x2368","2816x1584","1584x2816","2496x1664","1664x2496","3136x1344"],"allowedValues":["1024x1024","1152x864","864x1152","1424x800","800x1424","1248x832","832x1248","1568x672","2048x2048","2368x1776","1776x2368","2816x1584","1584x2816","2496x1664","1664x2496","3136x1344"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedream-5-0-pro","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:bytedance/seedream-5.0-pro:image","model":"seedream-5.0-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"image","displayName":"Image to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","references":[],"type":"image"},"model":"seedream-5.0-pro","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K"],"allowedValues":["1K","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"],"allowedValues":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"]},{"name":"size","label":"Exact size","description":"Exact output pixels; only explicitly compatible supplies are eligible. Conflicting resolution/aspect ratio is rejected.","type":"select","valueType":"string","path":"/parameters/size","required":false,"options":["1024x1024","1152x864","864x1152","1424x800","800x1424","1248x832","832x1248","1568x672","2048x2048","2368x1776","1776x2368","2816x1584","1584x2816","2496x1664","1664x2496","3136x1344"],"allowedValues":["1024x1024","1152x864","864x1152","1424x800","800x1424","1248x832","832x1248","1568x672","2048x2048","2368x1776","1776x2368","2816x1584","1584x2816","2496x1664","1664x2496","3136x1344"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":10,"referenceUrlOnly":true,"referenceRole":"reference_image","referenceConstraints":{"max_references":10,"min_references":1,"allowed_reference_roles":["reference_image"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/bytedance/seedream-5-0-pro","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"90299377-50fc-44e7-af57-f52bd0dfe1ba","routeId":"609c7b73-cb44-4d73-9167-d18d26240bf4","model":"seedream-5.0-pro","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/bytedance.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"bytedance/seedream-5.0-pro"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"size":{"enum":["1024x1024","1152x864","864x1152","1424x800","800x1424","1248x832","832x1248","1568x672","2048x2048","2368x1776","1776x2368","2816x1584","1584x2816","2496x1664","1664x2496","3136x1344"],"type":"string","description":"Exact output pixels; only explicitly compatible supplies are eligible. Conflicting resolution/aspect ratio is rejected."},"resolution":{"enum":["1K","2K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":10,"min_references":1,"allowed_reference_roles":["reference_image"]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":29250,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":29250,"partnerCompletion":0,"promptSource":29250,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"ByteDance flagship image generation model with superior text rendering and aesthetics","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":29250,"catalogReferences":[{"unit":"image","amount":"0.02925","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":29250,"prompt":29250,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":11},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":12},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":13},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":14},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":15},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":16},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":17},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":18},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":19},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":20},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":21},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":0},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":1},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":2},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":3},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":4},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":5},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":6},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":7},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":8},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["1k","i2i"],"priceIndex":9},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":10},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":11},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":12},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":13},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":14},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":15},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":16},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":17},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":18},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["2k","i2i"],"priceIndex":19}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.02925","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0312","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.03315","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0351","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.03705","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.039","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.04095","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0429","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.04485","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0468","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0585","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.06045","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0624","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.06435","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0663","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.06825","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0702","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.07215","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0741","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.07605","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.02925","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0585","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":58500,"catalogReferences":[{"unit":"image","amount":"0.0585","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"bytedance/seedream-5.0-pro","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":58500,"prompt":58500,"rangeStart":0,"resolution":"2k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"seedream-5.0-pro","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:23:08Z","updatedAt":"2026-10-31T09:23:08Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · sound effect","rangeEnd":null,"inputMode":"t2a","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_sound_effect","dimensions":[{"name":"duration","value":"5"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"elevenlabs/sound-effects-v2","specification_label":"5s · sound effect"}}]},"rangeStart":0,"resolution":""},"price":"0.002","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"ElevenLabs"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/elevenlabs/sound-effects-v2","upstreamModel":"elevenlabs/sound-effects-v2","formats":[{"id":"yir:elevenlabs/sound-effects-v2:text","model":"sound-effects-v2","provider":"yir","endpointPath":"/v1/audios","upstreamPath":"/v1/audio/generations","queryEndpointPath":"/v1/audios/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"sound_effect","inputMode":"text","displayName":"Sound effect","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A heavy wooden door creaking open in an empty stone hall","systemPrompt":"","resolution":"","requestTemplate":{"input":{"prompt":"A heavy wooden door creaking open in an empty stone hall","type":"text"},"model":"sound-effects-v2","parameters":{"duration":5,"n":1},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A heavy wooden door creaking open in an empty stone hall","minLength":1,"maxLength":10000},{"name":"duration","label":"Duration","description":"Output audio length in seconds; the price follows this length.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":1,"max":22},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/elevenlabs/sound-effects-v2","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"6d730639-230d-4bf1-99cf-78643001583f","routeId":"58dd65d7-6aa1-44be-bfc1-5c8aa1bf6917","model":"sound-effects-v2","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/providers/elevenlabs.svg?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/audio/generations","method":"POST","default":true,"task_kind":"audio_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"audio_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardMusicGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"elevenlabs/sound-effects-v2"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":22,"minimum":1,"description":"Output audio length in seconds; the price follows this length."}}}},"x-yir-operation":"generate_sound_effect","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardMusicTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"lyrics":{"type":"string","pattern":"\\S","maxLength":5000,"minLength":1,"description":"Song lyrics, lines separated by \\n; structure tags such as [Verse] and [Chorus] are allowed. Only models that accept custom lyrics take this field (per-model limit in the model contract). For vocal music send lyrics, parameters.lyrics_optimizer or parameters.instrumental as the model supports; omit it when parameters.instrumental or parameters.lyrics_optimizer is true. Sound effects take no lyrics."},"prompt":{"type":"string","pattern":"\\S","maxLength":10000,"minLength":1,"description":"Style, mood and scenario of the music, the description of a sound effect, or for text-to-speech models the exact text to read aloud (billed per character, spaces, punctuation and audio tags included). The per-model limit is in the model contract (for example 2000 for MiniMax music, 1000 for Suno, 450 for ElevenLabs sound effects, 5000 for ElevenLabs v3 and 10000 for MiniMax Speech)."}},"additionalProperties":false},"StandardMusicParameters":{"type":"object","properties":{"n":{"enum":[1,2],"type":"integer","description":"Tracks per Job. Most models make one; Suno always makes two per request."},"voice":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 _().\\-]{0,127}$","maxLength":128,"minLength":1,"description":"Text-to-speech models only: a preset voice ID of the model (for example a MiniMax system voice such as Chinese (Mandarin)_News_Anchor or an ElevenLabs voice ID). Omit for the model default; the voice does not change the price."},"duration":{"type":"integer","maximum":300,"minimum":1,"description":"Output length in seconds, only for models priced by length (ElevenLabs music and sound effects). Allowed values and the default come from the model contract; the price follows this length."},"instrumental":{"type":"boolean","default":false,"description":"Generate music without vocals. Omit input.lyrics and lyrics_optimizer."},"lyrics_optimizer":{"type":"boolean","default":false,"description":"Write the lyrics from the prompt. Omit input.lyrics. Some models add a lyrics-writing charge shown in the quote."}},"description":"Optional music, sound-effect and text-to-speech parameters; omitted fields take the model's defaults, and a model accepts only the parameters its contract declares. There is no tempo or key control; delivered audio reports its measured duration.","additionalProperties":false},"StandardMusicGenerationRequest":{"type":"object","required":["model","input"],"properties":{"input":{"$ref":"#/components/schemas/StandardMusicTextInput"},"model":{"type":"string","minLength":1,"description":"Music model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"$ref":"#/components/schemas/StandardMusicParameters"},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Music or sound-effect request: one Job delivers the tracks the model makes per request (one for most models, two for Suno) as audio files behind short-lived links.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":2000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":2000,"partnerCompletion":0,"promptSource":2000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["audio"],"outModalities":["audio"],"description":"ElevenLabs sound effects model for 1-22 second sound effects from a text description","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":2000,"catalogReferences":[{"unit":"second","amount":"0.002","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:25.193203+00:00","sourceUrl":"https://yir.ai/models/sound-effects-v2","conditions":{"operation":"generate_sound_effect","dimensions":[{"name":"duration","value":"5"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"elevenlabs/sound-effects-v2","specification_label":"5s · sound effect"},"approximate":false}],"completion":0,"inputMode":"t2a","label":"5s · sound effect","partnerCompletion":0,"partnerPrompt":2000,"prompt":2000,"rangeStart":0,"yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["duration"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.002","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:25.193203+00:00","sourceUrl":"https://yir.ai/models/sound-effects-v2","conditions":{"operation":"generate_sound_effect","dimensions":[{"name":"duration","value":"5"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"elevenlabs/sound-effects-v2","specification_label":"5s · sound effect"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"sound-effects-v2","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:11:10Z","updatedAt":"2026-10-31T09:11:10Z"},{"officialPricing":{"unit":"character","prices":[{"unit":"character","match":{"kind":"tier","label":"1000 characters","rangeEnd":null,"inputMode":"t2a","conditions":{"references":[{"unit":"character","quantity":1000,"conditions":{"operation":"generate_speech","dimensions":[{"name":"n","value":"1"},{"name":"characters","value":"1000"}],"input_mode":"text","request_model_id":"minimax/speech-2.8-hd","specification_label":"1000 characters"}}]},"rangeStart":0,"resolution":""},"price":"0.1","quantity":1000}],"currency":"USD","quantity":1000,"checkedAt":"2026-10-31","publisher":"MiniMax"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/minimax/speech-2-8-hd","upstreamModel":"minimax/speech-2.8-hd","formats":[{"id":"yir:minimax/speech-2.8-hd:text","model":"speech-2.8-hd","provider":"yir","endpointPath":"/v1/audios","upstreamPath":"/v1/audio/generations","queryEndpointPath":"/v1/audios/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"speech","inputMode":"text","displayName":"Speech","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"Good morning. The city is still waking up.","systemPrompt":"","resolution":"","requestTemplate":{"input":{"prompt":"Good morning. The city is still waking up.","type":"text"},"model":"speech-2.8-hd","parameters":{"n":1,"voice":"English_expressive_narrator"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"Good morning. The city is still waking up.","minLength":1,"maxLength":10000},{"name":"voice","label":"Voice","description":"Preset voice ID of this model (for example a MiniMax system voice or an ElevenLabs voice ID). The price does not depend on the voice.","type":"string","valueType":"string","path":"/parameters/voice","required":false,"defaultValue":"English_expressive_narrator"},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/minimax/speech-2-8-hd","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"5481f90c-8040-445d-b17f-725cfbc29ff5","routeId":"011cff28-3d60-481f-abf1-7cd4e1dc012d","model":"speech-2.8-hd","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/minimax.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/audio/generations","method":"POST","default":true,"task_kind":"audio_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"audio_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardMusicGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"minimax/speech-2.8-hd"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"voice":{"type":"string","default":"English_expressive_narrator","description":"Preset voice ID of this model (for example a MiniMax system voice or an ElevenLabs voice ID). The price does not depend on the voice."}}}},"x-yir-operation":"generate_speech","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardMusicTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"lyrics":{"type":"string","pattern":"\\S","maxLength":5000,"minLength":1,"description":"Song lyrics, lines separated by \\n; structure tags such as [Verse] and [Chorus] are allowed. Only models that accept custom lyrics take this field (per-model limit in the model contract). For vocal music send lyrics, parameters.lyrics_optimizer or parameters.instrumental as the model supports; omit it when parameters.instrumental or parameters.lyrics_optimizer is true. Sound effects take no lyrics."},"prompt":{"type":"string","pattern":"\\S","maxLength":10000,"minLength":1,"description":"Style, mood and scenario of the music, the description of a sound effect, or for text-to-speech models the exact text to read aloud (billed per character, spaces, punctuation and audio tags included). The per-model limit is in the model contract (for example 2000 for MiniMax music, 1000 for Suno, 450 for ElevenLabs sound effects, 5000 for ElevenLabs v3 and 10000 for MiniMax Speech)."}},"additionalProperties":false},"StandardMusicParameters":{"type":"object","properties":{"n":{"enum":[1,2],"type":"integer","description":"Tracks per Job. Most models make one; Suno always makes two per request."},"voice":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 _().\\-]{0,127}$","maxLength":128,"minLength":1,"description":"Text-to-speech models only: a preset voice ID of the model (for example a MiniMax system voice such as Chinese (Mandarin)_News_Anchor or an ElevenLabs voice ID). Omit for the model default; the voice does not change the price."},"duration":{"type":"integer","maximum":300,"minimum":1,"description":"Output length in seconds, only for models priced by length (ElevenLabs music and sound effects). Allowed values and the default come from the model contract; the price follows this length."},"instrumental":{"type":"boolean","default":false,"description":"Generate music without vocals. Omit input.lyrics and lyrics_optimizer."},"lyrics_optimizer":{"type":"boolean","default":false,"description":"Write the lyrics from the prompt. Omit input.lyrics. Some models add a lyrics-writing charge shown in the quote."}},"description":"Optional music, sound-effect and text-to-speech parameters; omitted fields take the model's defaults, and a model accepts only the parameters its contract declares. There is no tempo or key control; delivered audio reports its measured duration.","additionalProperties":false},"StandardMusicGenerationRequest":{"type":"object","required":["model","input"],"properties":{"input":{"$ref":"#/components/schemas/StandardMusicTextInput"},"model":{"type":"string","minLength":1,"description":"Music model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"$ref":"#/components/schemas/StandardMusicParameters"},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Music or sound-effect request: one Job delivers the tracks the model makes per request (one for most models, two for Suno) as audio files behind short-lived links.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":100,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":100,"partnerCompletion":0,"promptSource":100,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_tiered","billingUnit":"character","modalities":["tts"],"outModalities":["audio"],"description":"MiniMax text-to-speech model with strong Chinese output that reads text aloud in a preset voice","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":100,"catalogReferences":[{"unit":"character","amount":"0.1","origin":"official","currency":"USD","quantity":1000,"checkedAt":"2026-10-30T07:30:30.848574+00:00","sourceUrl":"https://yir.ai/models/speech-2-8-hd","conditions":{"operation":"generate_speech","dimensions":[{"name":"n","value":"1"},{"name":"characters","value":"1000"}],"input_mode":"text","request_model_id":"minimax/speech-2.8-hd","specification_label":"1000 characters"},"approximate":false}],"completion":0,"inputMode":"t2a","label":"1000 characters","partnerCompletion":0,"partnerPrompt":100,"prompt":100,"rangeStart":0,"yirPricingMapping":{"status":"mapped","reviews":[],"sourcePricing":{"mode":"reference","prices":[{"unit":"character","amount":"0.1","origin":"official","currency":"USD","quantity":1000,"checkedAt":"2026-10-30T07:30:30.848574+00:00","sourceUrl":"https://yir.ai/models/speech-2-8-hd","conditions":{"operation":"generate_speech","dimensions":[{"name":"n","value":"1"},{"name":"characters","value":"1000"}],"input_mode":"text","request_model_id":"minimax/speech-2.8-hd","specification_label":"1000 characters"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"speech-2.8-hd","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:11:10Z","updatedAt":"2026-10-31T09:11:10Z"},{"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/suno/suno-v6","upstreamModel":"suno/suno-v6","formats":[{"id":"yir:suno/suno-v6:text","model":"suno-v6","provider":"yir","endpointPath":"/v1/audios","upstreamPath":"/v1/audio/generations","queryEndpointPath":"/v1/audios/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"music","inputMode":"text","displayName":"Music","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","systemPrompt":"","resolution":"","requestTemplate":{"input":{"lyrics":"[Verse]\nMorning light on an empty street\n[Chorus]\nWalk with me, slow and sweet","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","type":"text"},"model":"suno-v6","parameters":{"instrumental":false,"lyrics_optimizer":false,"n":2},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","minLength":1,"maxLength":10000},{"name":"instrumental","label":"Instrumental","description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted.","type":"boolean","valueType":"boolean","path":"/parameters/instrumental","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"lyrics_optimizer","label":"Auto lyrics","description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote).","type":"boolean","valueType":"boolean","path":"/parameters/lyrics_optimizer","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":2,"min":2,"max":2,"readOnly":true,"allowedValues":[2]},{"name":"lyrics","label":"Lyrics","description":"Leave lyrics empty when instrumental or automatic lyrics is enabled.","type":"textarea","valueType":"string","path":"/input/lyrics","required":false,"defaultValue":"[Verse]\nMorning light on an empty street\n[Chorus]\nWalk with me, slow and sweet","omitEmpty":true,"maxLength":5000}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/suno/suno-v6","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"25699c3e-da19-4071-baf7-70b2e0336794","routeId":"cf9808ff-7a19-43f9-a142-e19268974159","model":"suno-v6","provider":"yir","modelSource":"platform","providerKind":"third_party","upstreamPath":[{"type":"generations","path":"/v1/audio/generations","method":"POST","default":true,"task_kind":"audio_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"audio_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardMusicGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"suno/suno-v6"},"parameters":{"type":"object","properties":{"n":{"enum":[2],"type":"integer","default":2,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"instrumental":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted."},"lyrics_optimizer":{"enum":[false,true],"type":"boolean","default":false,"description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote)."}}}},"x-yir-operation":"generate_music","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardMusicTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"lyrics":{"type":"string","pattern":"\\S","maxLength":5000,"minLength":1,"description":"Song lyrics, lines separated by \\n; structure tags such as [Verse] and [Chorus] are allowed. Only models that accept custom lyrics take this field (per-model limit in the model contract). For vocal music send lyrics, parameters.lyrics_optimizer or parameters.instrumental as the model supports; omit it when parameters.instrumental or parameters.lyrics_optimizer is true. Sound effects take no lyrics."},"prompt":{"type":"string","pattern":"\\S","maxLength":10000,"minLength":1,"description":"Style, mood and scenario of the music, the description of a sound effect, or for text-to-speech models the exact text to read aloud (billed per character, spaces, punctuation and audio tags included). The per-model limit is in the model contract (for example 2000 for MiniMax music, 1000 for Suno, 450 for ElevenLabs sound effects, 5000 for ElevenLabs v3 and 10000 for MiniMax Speech)."}},"additionalProperties":false},"StandardMusicParameters":{"type":"object","properties":{"n":{"enum":[1,2],"type":"integer","description":"Tracks per Job. Most models make one; Suno always makes two per request."},"voice":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 _().\\-]{0,127}$","maxLength":128,"minLength":1,"description":"Text-to-speech models only: a preset voice ID of the model (for example a MiniMax system voice such as Chinese (Mandarin)_News_Anchor or an ElevenLabs voice ID). Omit for the model default; the voice does not change the price."},"duration":{"type":"integer","maximum":300,"minimum":1,"description":"Output length in seconds, only for models priced by length (ElevenLabs music and sound effects). Allowed values and the default come from the model contract; the price follows this length."},"instrumental":{"type":"boolean","default":false,"description":"Generate music without vocals. Omit input.lyrics and lyrics_optimizer."},"lyrics_optimizer":{"type":"boolean","default":false,"description":"Write the lyrics from the prompt. Omit input.lyrics. Some models add a lyrics-writing charge shown in the quote."}},"description":"Optional music, sound-effect and text-to-speech parameters; omitted fields take the model's defaults, and a model accepts only the parameters its contract declares. There is no tempo or key control; delivered audio reports its measured duration.","additionalProperties":false},"StandardMusicGenerationRequest":{"type":"object","required":["model","input"],"properties":{"input":{"$ref":"#/components/schemas/StandardMusicTextInput"},"model":{"type":"string","minLength":1,"description":"Music model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"$ref":"#/components/schemas/StandardMusicParameters"},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Music or sound-effect request: one Job delivers the tracks the model makes per request (one for most models, two for Suno) as audio files behind short-lived links.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":25000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":25000,"partnerCompletion":0,"promptSource":25000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_tiered","billingUnit":"track","modalities":["music"],"outModalities":["audio"],"description":"Suno music model that makes two vocal songs or instrumentals per request. Suno has no official API; Yir accesses it unofficially through third-party channels","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":25000,"catalogReferences":[{"unit":"track","amount":"0.025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"n","value":"2"}],"input_mode":"text","request_model_id":"suno/suno-v6","specification_label":"custom lyrics · 2 outputs"},"approximate":false}],"completion":0,"inputMode":"t2a","label":"custom lyrics · 2 outputs","partnerCompletion":0,"partnerPrompt":25000,"prompt":25000,"rangeStart":0,"yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["n"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"track","amount":"0.025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_music","dimensions":[{"name":"n","value":"2"}],"input_mode":"text","request_model_id":"suno/suno-v6","specification_label":"custom lyrics · 2 outputs"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"suno-v6","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:11:10Z","updatedAt":"2026-10-31T09:11:10Z"},{"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/suno/suno-v6-mini","upstreamModel":"suno/suno-v6-mini","formats":[{"id":"yir:suno/suno-v6-mini:text","model":"suno-v6-mini","provider":"yir","endpointPath":"/v1/audios","upstreamPath":"/v1/audio/generations","queryEndpointPath":"/v1/audios/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"music","inputMode":"text","displayName":"Music","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","systemPrompt":"","resolution":"","requestTemplate":{"input":{"lyrics":"[Verse]\nMorning light on an empty street\n[Chorus]\nWalk with me, slow and sweet","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","type":"text"},"model":"suno-v6-mini","parameters":{"instrumental":false,"lyrics_optimizer":false,"n":2},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","minLength":1,"maxLength":10000},{"name":"instrumental","label":"Instrumental","description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted.","type":"boolean","valueType":"boolean","path":"/parameters/instrumental","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"lyrics_optimizer","label":"Auto lyrics","description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote).","type":"boolean","valueType":"boolean","path":"/parameters/lyrics_optimizer","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":2,"min":2,"max":2,"readOnly":true,"allowedValues":[2]},{"name":"lyrics","label":"Lyrics","description":"Leave lyrics empty when instrumental or automatic lyrics is enabled.","type":"textarea","valueType":"string","path":"/input/lyrics","required":false,"defaultValue":"[Verse]\nMorning light on an empty street\n[Chorus]\nWalk with me, slow and sweet","omitEmpty":true,"maxLength":5000}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/suno/suno-v6-mini","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"b0da4af4-cd77-48e7-b15f-7b80f0ec2f4d","routeId":"4b01fcb4-4eaa-414a-8a24-820101dad9eb","model":"suno-v6-mini","provider":"yir","modelSource":"platform","providerKind":"third_party","upstreamPath":[{"type":"generations","path":"/v1/audio/generations","method":"POST","default":true,"task_kind":"audio_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"audio_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardMusicGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"suno/suno-v6-mini"},"parameters":{"type":"object","properties":{"n":{"enum":[2],"type":"integer","default":2,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"instrumental":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted."},"lyrics_optimizer":{"enum":[false,true],"type":"boolean","default":false,"description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote)."}}}},"x-yir-operation":"generate_music","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardMusicTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"lyrics":{"type":"string","pattern":"\\S","maxLength":5000,"minLength":1,"description":"Song lyrics, lines separated by \\n; structure tags such as [Verse] and [Chorus] are allowed. Only models that accept custom lyrics take this field (per-model limit in the model contract). For vocal music send lyrics, parameters.lyrics_optimizer or parameters.instrumental as the model supports; omit it when parameters.instrumental or parameters.lyrics_optimizer is true. Sound effects take no lyrics."},"prompt":{"type":"string","pattern":"\\S","maxLength":10000,"minLength":1,"description":"Style, mood and scenario of the music, the description of a sound effect, or for text-to-speech models the exact text to read aloud (billed per character, spaces, punctuation and audio tags included). The per-model limit is in the model contract (for example 2000 for MiniMax music, 1000 for Suno, 450 for ElevenLabs sound effects, 5000 for ElevenLabs v3 and 10000 for MiniMax Speech)."}},"additionalProperties":false},"StandardMusicParameters":{"type":"object","properties":{"n":{"enum":[1,2],"type":"integer","description":"Tracks per Job. Most models make one; Suno always makes two per request."},"voice":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 _().\\-]{0,127}$","maxLength":128,"minLength":1,"description":"Text-to-speech models only: a preset voice ID of the model (for example a MiniMax system voice such as Chinese (Mandarin)_News_Anchor or an ElevenLabs voice ID). Omit for the model default; the voice does not change the price."},"duration":{"type":"integer","maximum":300,"minimum":1,"description":"Output length in seconds, only for models priced by length (ElevenLabs music and sound effects). Allowed values and the default come from the model contract; the price follows this length."},"instrumental":{"type":"boolean","default":false,"description":"Generate music without vocals. Omit input.lyrics and lyrics_optimizer."},"lyrics_optimizer":{"type":"boolean","default":false,"description":"Write the lyrics from the prompt. Omit input.lyrics. Some models add a lyrics-writing charge shown in the quote."}},"description":"Optional music, sound-effect and text-to-speech parameters; omitted fields take the model's defaults, and a model accepts only the parameters its contract declares. There is no tempo or key control; delivered audio reports its measured duration.","additionalProperties":false},"StandardMusicGenerationRequest":{"type":"object","required":["model","input"],"properties":{"input":{"$ref":"#/components/schemas/StandardMusicTextInput"},"model":{"type":"string","minLength":1,"description":"Music model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"$ref":"#/components/schemas/StandardMusicParameters"},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Music or sound-effect request: one Job delivers the tracks the model makes per request (one for most models, two for Suno) as audio files behind short-lived links.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":25000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":25000,"partnerCompletion":0,"promptSource":25000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_tiered","billingUnit":"track","modalities":["music"],"outModalities":["audio"],"description":"Suno's efficient music model that makes two vocal songs or instrumentals per request. Suno has no official API; Yir accesses it unofficially through third-party channels","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":25000,"catalogReferences":[{"unit":"track","amount":"0.025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:41.010153+00:00","sourceUrl":"https://yir.ai/models/suno-v6-mini","conditions":{"operation":"generate_music","dimensions":[{"name":"n","value":"2"}],"input_mode":"text","request_model_id":"suno/suno-v6-mini","specification_label":"custom lyrics · 2 outputs"},"approximate":false}],"completion":0,"inputMode":"t2a","label":"custom lyrics · 2 outputs","partnerCompletion":0,"partnerPrompt":25000,"prompt":25000,"rangeStart":0,"yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["n"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"track","amount":"0.025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:41.010153+00:00","sourceUrl":"https://yir.ai/models/suno-v6-mini","conditions":{"operation":"generate_music","dimensions":[{"name":"n","value":"2"}],"input_mode":"text","request_model_id":"suno/suno-v6-mini","specification_label":"custom lyrics · 2 outputs"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"suno-v6-mini","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:11:10Z","updatedAt":"2026-10-31T09:11:10Z"},{"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/suno/suno-v6-wild","upstreamModel":"suno/suno-v6-wild","formats":[{"id":"yir:suno/suno-v6-wild:text","model":"suno-v6-wild","provider":"yir","endpointPath":"/v1/audios","upstreamPath":"/v1/audio/generations","queryEndpointPath":"/v1/audios/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"music","inputMode":"text","displayName":"Music","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","systemPrompt":"","resolution":"","requestTemplate":{"input":{"lyrics":"[Verse]\nMorning light on an empty street\n[Chorus]\nWalk with me, slow and sweet","prompt":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","type":"text"},"model":"suno-v6-wild","parameters":{"instrumental":false,"lyrics_optimizer":false,"n":2},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"Warm indie folk, acoustic guitar and soft vocals, a quiet morning walk","minLength":1,"maxLength":10000},{"name":"instrumental","label":"Instrumental","description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted.","type":"boolean","valueType":"boolean","path":"/parameters/instrumental","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"lyrics_optimizer","label":"Auto lyrics","description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote).","type":"boolean","valueType":"boolean","path":"/parameters/lyrics_optimizer","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":2,"min":2,"max":2,"readOnly":true,"allowedValues":[2]},{"name":"lyrics","label":"Lyrics","description":"Leave lyrics empty when instrumental or automatic lyrics is enabled.","type":"textarea","valueType":"string","path":"/input/lyrics","required":false,"defaultValue":"[Verse]\nMorning light on an empty street\n[Chorus]\nWalk with me, slow and sweet","omitEmpty":true,"maxLength":5000}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/suno/suno-v6-wild","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"351aa3bd-cea2-4a71-952e-ff6d2ec5e616","routeId":"02a380f1-933e-4f1f-8f72-73d1e36d0934","model":"suno-v6-wild","provider":"yir","modelSource":"platform","providerKind":"third_party","upstreamPath":[{"type":"generations","path":"/v1/audio/generations","method":"POST","default":true,"task_kind":"audio_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"audio_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardMusicGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"suno/suno-v6-wild"},"parameters":{"type":"object","properties":{"n":{"enum":[2],"type":"integer","default":2,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"instrumental":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate music without vocals. input.lyrics and lyrics_optimizer must be omitted."},"lyrics_optimizer":{"enum":[false,true],"type":"boolean","default":false,"description":"Write lyrics from the prompt. Omit input.lyrics; some models add a lyrics-writing charge (see the quote)."}}}},"x-yir-operation":"generate_music","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardMusicTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"lyrics":{"type":"string","pattern":"\\S","maxLength":5000,"minLength":1,"description":"Song lyrics, lines separated by \\n; structure tags such as [Verse] and [Chorus] are allowed. Only models that accept custom lyrics take this field (per-model limit in the model contract). For vocal music send lyrics, parameters.lyrics_optimizer or parameters.instrumental as the model supports; omit it when parameters.instrumental or parameters.lyrics_optimizer is true. Sound effects take no lyrics."},"prompt":{"type":"string","pattern":"\\S","maxLength":10000,"minLength":1,"description":"Style, mood and scenario of the music, the description of a sound effect, or for text-to-speech models the exact text to read aloud (billed per character, spaces, punctuation and audio tags included). The per-model limit is in the model contract (for example 2000 for MiniMax music, 1000 for Suno, 450 for ElevenLabs sound effects, 5000 for ElevenLabs v3 and 10000 for MiniMax Speech)."}},"additionalProperties":false},"StandardMusicParameters":{"type":"object","properties":{"n":{"enum":[1,2],"type":"integer","description":"Tracks per Job. Most models make one; Suno always makes two per request."},"voice":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 _().\\-]{0,127}$","maxLength":128,"minLength":1,"description":"Text-to-speech models only: a preset voice ID of the model (for example a MiniMax system voice such as Chinese (Mandarin)_News_Anchor or an ElevenLabs voice ID). Omit for the model default; the voice does not change the price."},"duration":{"type":"integer","maximum":300,"minimum":1,"description":"Output length in seconds, only for models priced by length (ElevenLabs music and sound effects). Allowed values and the default come from the model contract; the price follows this length."},"instrumental":{"type":"boolean","default":false,"description":"Generate music without vocals. Omit input.lyrics and lyrics_optimizer."},"lyrics_optimizer":{"type":"boolean","default":false,"description":"Write the lyrics from the prompt. Omit input.lyrics. Some models add a lyrics-writing charge shown in the quote."}},"description":"Optional music, sound-effect and text-to-speech parameters; omitted fields take the model's defaults, and a model accepts only the parameters its contract declares. There is no tempo or key control; delivered audio reports its measured duration.","additionalProperties":false},"StandardMusicGenerationRequest":{"type":"object","required":["model","input"],"properties":{"input":{"$ref":"#/components/schemas/StandardMusicTextInput"},"model":{"type":"string","minLength":1,"description":"Music model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"$ref":"#/components/schemas/StandardMusicParameters"},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Music or sound-effect request: one Job delivers the tracks the model makes per request (one for most models, two for Suno) as audio files behind short-lived links.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":25000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":25000,"partnerCompletion":0,"promptSource":25000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"usage_tiered","billingUnit":"track","modalities":["music"],"outModalities":["audio"],"description":"Suno's experimental music model that makes two vocal songs or instrumentals per request. Suno has no official API; Yir accesses it unofficially through third-party channels","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":25000,"catalogReferences":[{"unit":"track","amount":"0.025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:27.186712+00:00","sourceUrl":"https://yir.ai/models/suno-v6-wild","conditions":{"operation":"generate_music","dimensions":[{"name":"n","value":"2"}],"input_mode":"text","request_model_id":"suno/suno-v6-wild","specification_label":"custom lyrics · 2 outputs"},"approximate":false}],"completion":0,"inputMode":"t2a","label":"custom lyrics · 2 outputs","partnerCompletion":0,"partnerPrompt":25000,"prompt":25000,"rangeStart":0,"yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["n"],"priceIndex":0}],"sourcePricing":{"mode":"reference","prices":[{"unit":"track","amount":"0.025","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:27.186712+00:00","sourceUrl":"https://yir.ai/models/suno-v6-wild","conditions":{"operation":"generate_music","dimensions":[{"name":"n","value":"2"}],"input_mode":"text","request_model_id":"suno/suno-v6-wild","specification_label":"custom lyrics · 2 outputs"},"approximate":false}],"status":"published_starting"}}}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"suno-v6-wild","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:11:10Z","updatedAt":"2026-10-31T09:11:10Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"vd-video-q3-pro","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"images":{"type":"array","items":{"type":"string"}},"prompt":{"type":"string"},"duration":{"type":"number"},"resolution":{"type":"string"},"aspect_ratio":{"type":"string"}}},"id":"archived-0","model":"vd-video-q3-pro","provider":"Tencent","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"duration":4,"model":"vd-video-q3-pro","prompt":"a fish swimming","resolution":"720p","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"aspect_ratio","label":"aspect_ratio","type":"string","valueType":"string","path":"/aspect_ratio","required":false,"omitEmpty":true},{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"images","label":"images","type":"json","valueType":"array","path":"/images","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"resolution","label":"resolution","type":"string","valueType":"string","path":"/resolution","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_modelprice","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"46094f68-a639-4b82-8bd9-60e7179547ae","routeId":"10d2b7e5-9bf8-48a2-b161-dff827c104c2","model":"vd-video-q3-pro","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/videos/vidu/text2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/vidu/text2video/{task_id}","method":"GET"},{"type":"generations","path":"/v1/videos/vidu/image2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/vidu/image2video/{task_id}","method":"GET"}],"curlExample":"// create videos\ncurl --request POST 'https://api.getopenmodels.com/v1/videos' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\\n--data-raw '{\n    \"model\": \"vd-video-q3-pro\",\n    \"prompt\": \"a fish swimming\",\n    \"resolution\": \"720p\",\n    \"duration\": 4\n  }'\n\n// get videos\ncurl --request GET 'https://api.getopenmodels.com/v1/videos/{id}' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"images":{"type":"array","items":{"type":"string"}},"prompt":{"type":"string"},"duration":{"type":"number"},"resolution":{"type":"string"},"aspect_ratio":{"type":"string"}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":38793,"completion":38793,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":38793,"partnerCompletion":38793,"promptSource":281250,"completionSource":281250,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Built upon advanced audio-visual generation, it delivers enhanced performance with higher fidelity in visuals, improved audio-video synchronization accuracy, and seamless multi-character storytelling. It can generate 16 seconds of 1080P video with sound in one go, making it ideal for professional creation demanding the highest standards in image quality and audio performance.","descriptionTranslations":{},"modelReleaseDate":"2026-07-06","supportedFeatures":["audio_output"],"pricingTiers":[{"actualCompletion":281250,"actualPrompt":281250,"completion":38793,"inputMode":"input_without_video_text","label":"540P","partnerCompletion":38793,"partnerPrompt":38793,"prompt":38793,"rangeStart":0,"resolution":"540p"},{"actualCompletion":625000,"actualPrompt":625000,"completion":86207,"inputMode":"input_without_video_text","label":"720P","partnerCompletion":86207,"partnerPrompt":86207,"prompt":86207,"rangeStart":0,"resolution":"720p"},{"actualCompletion":750000,"actualPrompt":750000,"completion":103448,"inputMode":"input_without_video_text","label":"1080P","partnerCompletion":103448,"partnerPrompt":103448,"prompt":103448,"rangeStart":0,"resolution":"1080p"}],"timePricingRules":[],"latency":299,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"vd-video-q3-pro","operations":[],"availableModes":[]},"createdAt":"2026-07-06T09:55:16Z","updatedAt":"2026-07-08T01:04:17Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"vd-video-q3-turbo","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"style":{"type":"string"},"images":{"type":"array","items":{"type":"string"}},"prompt":{"type":"string"},"duration":{"type":"number"},"aspect_ratio":{"type":"string"}}},"id":"archived-0","model":"vd-video-q3-turbo","provider":"Tencent","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"duration":4,"model":"vd-video-q3-turbo","prompt":"a fish swimming","resolution":"720p","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"aspect_ratio","label":"aspect_ratio","type":"string","valueType":"string","path":"/aspect_ratio","required":false,"omitEmpty":true},{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"images","label":"images","type":"json","valueType":"array","path":"/images","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"style","label":"style","type":"string","valueType":"string","path":"/style","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_modelprice","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"78bb348f-5639-41a7-91d5-6a04caeff52b","routeId":"a4057c85-b799-4c9b-b277-6e7a9224278f","model":"vd-video-q3-turbo","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/videos/vidu/text2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/vidu/text2video/{task_id}","method":"GET"},{"type":"generations","path":"/v1/videos/vidu/image2video/submit","method":"POST"},{"type":"get","path":"/v1/videos/vidu/image2video/{task_id}","method":"GET"}],"curlExample":"// create videos\ncurl --request POST 'https://api.getopenmodels.com/v1/videos' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\\n--data-raw '{\n    \"model\": \"vd-video-q3-pro\",\n    \"prompt\": \"a fish swimming\",\n    \"resolution\": \"720p\",\n    \"duration\": 4\n  }'\n\n// get videos\ncurl --request GET 'https://api.getopenmodels.com/v1/videos/{id}' \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: Bearer $OM_API_KEY\" \\","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"style":{"type":"string"},"images":{"type":"array","items":{"type":"string"}},"prompt":{"type":"string"},"duration":{"type":"number"},"aspect_ratio":{"type":"string"}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":30172,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":30172,"partnerCompletion":0,"promptSource":218750,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_request","billingUnit":"request","modalities":["video"],"outModalities":["video"],"description":"With a faster generation speed and lower cost for production, it enables 16-second audio and video direct output, suitable for large-scale content production and high-frequency iterative scenarios.","descriptionTranslations":{},"modelReleaseDate":"2026-07-06","supportedFeatures":["audio_output"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":218750,"completion":0,"inputMode":"t2v_image_ref","label":"540p","partnerCompletion":0,"partnerPrompt":30172,"prompt":30172,"rangeStart":0,"resolution":"540p"},{"actualCompletion":0,"actualPrompt":375000,"completion":0,"inputMode":"t2v_image_ref","label":"720p","partnerCompletion":0,"partnerPrompt":51724,"prompt":51724,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":406250,"completion":0,"inputMode":"t2v_image_ref","label":"1080P","partnerCompletion":0,"partnerPrompt":56034,"prompt":56034,"rangeStart":0,"resolution":"1080p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"vd-video-q3-turbo","operations":[],"availableModes":[]},"createdAt":"2026-07-06T13:15:24Z","updatedAt":"2026-07-08T01:04:26Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"4s · 720p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"6s · 720p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.08","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.12","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.1","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.3","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 4K · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.25","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"4s · 720p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"6s · 720p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.08","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.12","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.1","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.3","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 4K · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.25","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Google"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/google/veo-3-1-fast-generate-001","upstreamModel":"google/veo-3.1-fast-generate-001","formats":[{"id":"yir:google/veo-3.1-fast-generate-001:text","model":"veo-3.1-fast-generate-001","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"veo-3.1-fast-generate-001","parameters":{"aspect_ratio":"16:9","duration":8,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":4,"max":8,"allowedValues":[4,6,8]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p","4K"],"allowedValues":["720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16"],"allowedValues":["16:9","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/veo-3-1-fast-generate-001","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:google/veo-3.1-fast-generate-001:image","model":"veo-3.1-fast-generate-001","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"veo-3.1-fast-generate-001","parameters":{"aspect_ratio":"16:9","duration":8,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":4,"max":8,"allowedValues":[4,6,8]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p","4K"],"allowedValues":["720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16"],"allowedValues":["16:9","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/veo-3-1-fast-generate-001","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"a3bca77d-f154-4c17-bc12-97ea3b8aec7d","routeId":"78a8e866-9311-4cc4-83e2-033b8dc48f16","model":"veo-3.1-fast-generate-001","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/google.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"google/veo-3.1-fast-generate-001"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[4,6,8],"type":"integer","default":8,"maximum":8,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p","4K"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":17500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":17500,"partnerCompletion":0,"promptSource":17500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Google fast high-fidelity video generation model balancing low latency, quality and cost","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":64000,"catalogReferences":[{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"6s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"4s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":64000,"prompt":64000,"rangeStart":0,"resolution":"720p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":12},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":13},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":14},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":15},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":16},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":17},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":18},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":19},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","i2v_voice"],"priceIndex":0},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","i2v_voice"],"priceIndex":2},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","i2v_voice"],"priceIndex":8},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","t2v_voice"],"priceIndex":10},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","t2v_voice"],"priceIndex":12},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","t2v_voice"],"priceIndex":18}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"6s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"6s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0175","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.2","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0175","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"6s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"6s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0175","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.2","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.0175","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":17500,"catalogReferences":[{"unit":"second","amount":"0.0175","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"8s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":17500,"prompt":17500,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":80000,"catalogReferences":[{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"8s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":80000,"prompt":80000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":80000,"catalogReferences":[{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"8s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":80000,"prompt":80000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":200000,"catalogReferences":[{"unit":"second","amount":"0.2","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"8s · 4K · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":200000,"prompt":200000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":64000,"catalogReferences":[{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"6s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.064","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"4s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":64000,"prompt":64000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":17500,"catalogReferences":[{"unit":"second","amount":"0.0175","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"8s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":17500,"prompt":17500,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":80000,"catalogReferences":[{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"8s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":80000,"prompt":80000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":80000,"catalogReferences":[{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"8s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":80000,"prompt":80000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":200000,"catalogReferences":[{"unit":"second","amount":"0.2","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-fast-generate-001","specification_label":"8s · 4K · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"8s · 4K · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":200000,"prompt":200000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"veo-3.1-fast-generate-001","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:12Z","updatedAt":"2026-10-31T09:29:12Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"4s · 720p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"6s · 720p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.2","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.4","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.2","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.6","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 4K · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.4","quantity":1},{"unit":"second","match":{"kind":"tier","label":"4s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"4s · 720p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"6s · 720p · 16:9 · no audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.2","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.4","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.2","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 4K · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.6","quantity":1},{"unit":"second","match":{"kind":"tier","label":"8s · 4K · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.4","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Google"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/google/veo-3-1-generate-001","upstreamModel":"google/veo-3.1-generate-001","formats":[{"id":"yir:google/veo-3.1-generate-001:text","model":"veo-3.1-generate-001","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"veo-3.1-generate-001","parameters":{"aspect_ratio":"16:9","duration":8,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":4,"max":8,"allowedValues":[4,6,8]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p","4K"],"allowedValues":["720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16"],"allowedValues":["16:9","9:16"]},{"name":"fps","label":"Frame rate","description":"Optional native output frame rate. Only explicitly certified supplies are eligible; no frame interpolation or transcoding.","type":"number","valueType":"integer","path":"/parameters/fps","required":false,"min":24,"max":24,"readOnly":true,"allowedValues":[24]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/veo-3-1-generate-001","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:google/veo-3.1-generate-001:image","model":"veo-3.1-generate-001","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"veo-3.1-generate-001","parameters":{"aspect_ratio":"16:9","duration":8,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":false,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","omitEmpty":true,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":8,"min":4,"max":8,"allowedValues":[4,6,8]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p","4K"],"allowedValues":["720p","1080p","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16"],"allowedValues":["16:9","9:16"]},{"name":"fps","label":"Frame rate","description":"Optional native output frame rate. Only explicitly certified supplies are eligible; no frame interpolation or transcoding.","type":"number","valueType":"integer","path":"/parameters/fps","required":false,"min":24,"max":24,"readOnly":true,"allowedValues":[24]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"prompt_optional":true,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/google/veo-3-1-generate-001","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"1e505dd1-244f-46a6-a50e-52c6b87d0ae6","routeId":"73e8ec2e-884b-45f8-95af-cc5fcfabebf6","model":"veo-3.1-generate-001","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/google.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"google/veo-3.1-generate-001"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"fps":{"enum":[24],"type":"integer","description":"Optional native output frame rate. Only explicitly certified supplies are eligible; no frame interpolation or transcoding."},"duration":{"enum":[4,6,8],"type":"integer","default":8,"maximum":8,"minimum":4,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p","4K"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":2,"min_references":1,"prompt_optional":true,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":125000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":125000,"partnerCompletion":0,"promptSource":125000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Google state-of-the-art flagship video generation model supporting up to 4K resolution","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":160000,"catalogReferences":[{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"6s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"4s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":160000,"prompt":160000,"rangeStart":0,"resolution":"720p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":12},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":13},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":14},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":15},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":16},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":17},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":18},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":19},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","i2v_voice"],"priceIndex":0},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","i2v_voice"],"priceIndex":2},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","i2v_voice"],"priceIndex":8},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","t2v_voice"],"priceIndex":10},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","t2v_voice"],"priceIndex":12},{"reason":"PARAMETER_PRICE_CONFLICT","parameters":["720p","t2v_voice"],"priceIndex":18}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.32","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.32","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"6s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"6s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.1875","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.32","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.32","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"4s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.32","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"6s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"6s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.1875","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.32","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":125000,"catalogReferences":[{"unit":"second","amount":"0.125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"8s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":125000,"prompt":125000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":160000,"catalogReferences":[{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"8s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":160000,"prompt":160000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":187500,"catalogReferences":[{"unit":"second","amount":"0.1875","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"8s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":187500,"prompt":187500,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":320000,"catalogReferences":[{"unit":"second","amount":"0.32","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"8s · 4K · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":320000,"prompt":320000,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":160000,"catalogReferences":[{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"4"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"4s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"6"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"6s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"4s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":160000,"prompt":160000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":125000,"catalogReferences":[{"unit":"second","amount":"0.125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"8s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":125000,"prompt":125000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":160000,"catalogReferences":[{"unit":"second","amount":"0.16","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"8s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":160000,"prompt":160000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":187500,"catalogReferences":[{"unit":"second","amount":"0.1875","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"8s · 4K · 16:9 · audio","partnerCompletion":0,"partnerPrompt":187500,"prompt":187500,"rangeStart":0,"resolution":"4k"},{"actualCompletion":0,"actualPrompt":320000,"catalogReferences":[{"unit":"second","amount":"0.32","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"8"},{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"google/veo-3.1-generate-001","specification_label":"8s · 4K · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"8s · 4K · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":320000,"prompt":320000,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"veo-3.1-generate-001","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:29Z","updatedAt":"2026-10-31T09:29:29Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.15","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1","quantity":1},{"unit":"second","match":{"kind":"tier","label":"10s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"10s · 1080p · 16:9 · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.15","quantity":1},{"unit":"second","match":{"kind":"tier","label":"10s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"10s · 720p · 16:9 · audio"}},{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.15","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.1","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-6","upstreamModel":"alibaba/wan-2.6","formats":[{"id":"yir:alibaba/wan-2.6:text","model":"wan-2.6","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"wan-2.6","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1"],"allowedValues":["16:9","9:16","1:1"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-6","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:alibaba/wan-2.6:image","model":"wan-2.6","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"wan-2.6","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1"],"allowedValues":["16:9","9:16","1:1"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":1,"referenceUrlOnly":true,"referenceRole":"first_frame","referenceConstraints":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-6","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:alibaba/wan-2.6:reference","model":"wan-2.6","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"wan-2.6","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":5,"max":10,"allowedValues":[5,10]},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","4:3","1:1","3:4","9:16"],"allowedValues":["16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":5,"referenceUrlOnly":true,"referenceConstraints":{"max_references":5,"min_references":1,"allowed_reference_roles":["reference_image","reference_video"],"reference_counts_by_role":{"reference_image":{"maximum":5,"minimum":0},"reference_video":{"maximum":3,"minimum":0}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-6","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"3b2dc5e3-6b4a-4861-bc0e-4ebd56d560e3","routeId":"c147e729-7696-4fdd-b113-4eff2e05cfb8","model":"wan-2.6","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image"]}}},"model":{"const":"alibaba/wan-2.6"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":1,"min_references":1,"allowed_reference_roles":["first_frame"]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"alibaba/wan-2.6"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"enum":[5,10],"type":"integer","default":5,"maximum":10,"minimum":5,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":5,"min_references":1,"allowed_reference_roles":["reference_image","reference_video"],"reference_counts_by_role":{"reference_image":{"maximum":5,"minimum":0},"reference_video":{"maximum":3,"minimum":0}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":50000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":50000,"partnerCompletion":0,"promptSource":50000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Alibaba Wan 2.6 classic video model supporting text and image conditions","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":84000,"catalogReferences":[{"unit":"second","amount":"0.084","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":84000,"prompt":84000,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.084","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.05","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.15","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"10s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"10s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.15","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.084","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.05","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":50000,"catalogReferences":[{"unit":"second","amount":"0.05","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":50000,"prompt":50000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":150000,"catalogReferences":[{"unit":"second","amount":"0.15","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"10s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.15","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"10s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":150000,"prompt":150000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":100000,"catalogReferences":[{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"10"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"10s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.1","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"10s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":100000,"prompt":100000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":84000,"catalogReferences":[{"unit":"second","amount":"0.084","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":84000,"prompt":84000,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":50000,"catalogReferences":[{"unit":"second","amount":"0.05","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.6","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":50000,"prompt":50000,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"wan-2.6","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:25Z","updatedAt":"2026-10-31T09:28:25Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 1080p · adaptive · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.143353","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · adaptive · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 720p · adaptive · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.086012","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.143353","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.086012","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.143353","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.086012","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-7","upstreamModel":"alibaba/wan-2.7","formats":[{"id":"yir:alibaba/wan-2.7:text","model":"wan-2.7","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"wan-2.7","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":2,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","4:3","3:4"],"allowedValues":["16:9","9:16","1:1","4:3","3:4"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-7","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:alibaba/wan-2.7:reference","model":"wan-2.7","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"wan-2.7","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":2,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","4:3","3:4"],"allowedValues":["16:9","9:16","1:1","4:3","3:4"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":5,"referenceUrlOnly":true,"referenceConstraints":{"max_references":5,"min_references":1,"allowed_reference_roles":["reference_image","reference_video"],"reference_counts_by_role":{"reference_image":{"maximum":5,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"max_duration_by_reference_role":{"reference_video":10}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-7","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:alibaba/wan-2.7:image","model":"wan-2.7","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"1080p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"wan-2.7","parameters":{"aspect_ratio":"adaptive","duration":5,"generate_audio":true,"n":1,"resolution":"1080p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":2,"max":15},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1080p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive"],"readOnly":true,"allowedValues":["adaptive"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":3,"referenceUrlOnly":true,"referenceConstraints":{"max_references":3,"min_references":1,"allowed_reference_roles":["first_frame","last_frame","reference_audio"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1},"reference_audio":{"maximum":1,"minimum":0}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-7","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"c0ccfe78-39ba-4397-8f38-638fac99f835","routeId":"fde60710-ed0a-4733-b2a2-19b6c2286235","model":"wan-2.7","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","reference"]}}},"model":{"const":"alibaba/wan-2.7"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":2,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1","4:3","3:4"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"reference":{"max_references":5,"min_references":1,"allowed_reference_roles":["reference_image","reference_video"],"reference_counts_by_role":{"reference_image":{"maximum":5,"minimum":0},"reference_video":{"maximum":3,"minimum":0}},"max_duration_by_reference_role":{"reference_video":10}}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"alibaba/wan-2.7"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":15,"minimum":2,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"1080p","description":"Output resolution."},"aspect_ratio":{"enum":["adaptive"],"type":"string","default":"adaptive","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":3,"min_references":1,"allowed_reference_roles":["first_frame","last_frame","reference_audio"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1},"reference_audio":{"maximum":1,"minimum":0}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":66400,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":66400,"partnerCompletion":0,"promptSource":66400,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Wan 2.7 video generation model","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":120000,"catalogReferences":[{"unit":"second","amount":"0.12","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 1080p · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 1080p · adaptive · audio","partnerCompletion":0,"partnerPrompt":120000,"prompt":120000,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.12","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 1080p · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 720p · adaptive · audio"},"approximate":false},{"unit":"second","amount":"0.1096","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0664","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.1096","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0664","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":80000,"catalogReferences":[{"unit":"second","amount":"0.08","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"adaptive"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 720p · adaptive · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 720p · adaptive · audio","partnerCompletion":0,"partnerPrompt":80000,"prompt":80000,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":109600,"catalogReferences":[{"unit":"second","amount":"0.1096","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":109600,"prompt":109600,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":66400,"catalogReferences":[{"unit":"second","amount":"0.0664","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":66400,"prompt":66400,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":109600,"catalogReferences":[{"unit":"second","amount":"0.1096","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":109600,"prompt":109600,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":66400,"catalogReferences":[{"unit":"second","amount":"0.0664","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":66400,"prompt":66400,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"wan-2.7","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:25Z","updatedAt":"2026-10-31T09:28:25Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.165025","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.165025","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.041256","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.041256","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.082513","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"i2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.082513","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.165025","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.165025","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.041256","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.041256","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.082513","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"r2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.082513","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.165025","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.165025","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.041256","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.041256","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.082513","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · no audio","rangeEnd":null,"inputMode":"t2v","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · no audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.082513","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-3-0","upstreamModel":"alibaba/wan-3.0","formats":[{"id":"yir:alibaba/wan-3.0:text","model":"wan-3.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"wan-3.0","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":2,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["adaptive","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["adaptive","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-3-0","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:alibaba/wan-3.0:image","model":"wan-3.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"wan-3.0","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":2,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["adaptive","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["adaptive","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-3-0","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:alibaba/wan-3.0:reference","model":"wan-3.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"wan-3.0","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":false,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":2,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["adaptive","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["adaptive","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":false,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":20,"referenceUrlOnly":true,"referenceConstraints":{"max_references":20,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":5,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-3-0","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"76939e5b-dbcd-447c-9ae2-585b1f85c32e","routeId":"0e7e9a6b-bab8-4a81-a52b-fa5bd45f9ef4","model":"wan-3.0","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image","reference"]}}},"model":{"const":"alibaba/wan-3.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":2,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["adaptive","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":false,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}},"reference":{"max_references":20,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":5,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":32880,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":32880,"partnerCompletion":0,"promptSource":32880,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Alibaba Wan 3.0 next-generation video model with fluid motion and superior prompt following","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":131504,"catalogReferences":[{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":131504,"prompt":131504,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":6},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":7},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":8},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":9},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":10},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":11},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":12},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":13},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":14},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":15},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":16},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":17}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false},{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":131504,"catalogReferences":[{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":131504,"prompt":131504,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":32880,"catalogReferences":[{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":32880,"prompt":32880,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":32880,"catalogReferences":[{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":32880,"prompt":32880,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":65752,"catalogReferences":[{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":65752,"prompt":65752,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":65752,"catalogReferences":[{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"i2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":65752,"prompt":65752,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":131504,"catalogReferences":[{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":131504,"prompt":131504,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":131504,"catalogReferences":[{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":131504,"prompt":131504,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":32880,"catalogReferences":[{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":32880,"prompt":32880,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":32880,"catalogReferences":[{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":32880,"prompt":32880,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":65752,"catalogReferences":[{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":65752,"prompt":65752,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":65752,"catalogReferences":[{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"r2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":65752,"prompt":65752,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":131504,"catalogReferences":[{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":131504,"prompt":131504,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":131504,"catalogReferences":[{"unit":"second","amount":"0.131504","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 1080p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 1080p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":131504,"prompt":131504,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":32880,"catalogReferences":[{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":32880,"prompt":32880,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":32880,"catalogReferences":[{"unit":"second","amount":"0.03288","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 480p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 480p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":32880,"prompt":32880,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":65752,"catalogReferences":[{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":65752,"prompt":65752,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":65752,"catalogReferences":[{"unit":"second","amount":"0.065752","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"false"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0","specification_label":"5s · 720p · 16:9 · no audio"},"approximate":false}],"completion":0,"inputMode":"t2v","label":"5s · 720p · 16:9 · no audio","partnerCompletion":0,"partnerPrompt":65752,"prompt":65752,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"wan-3.0","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:25Z","updatedAt":"2026-10-31T09:28:25Z"},{"officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.254399","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.0636","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.254399","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.0636","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.254399","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 480p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 480p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"480p"},"price":"0.0636","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-3-0-prime","upstreamModel":"alibaba/wan-3.0-prime","formats":[{"id":"yir:alibaba/wan-3.0-prime:text","model":"wan-3.0-prime","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"1080p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"wan-3.0-prime","parameters":{"aspect_ratio":"adaptive","duration":5,"generate_audio":true,"n":1,"resolution":"1080p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":2,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1080p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["adaptive","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-3-0-prime","isDefault":true,"active":true,"sortOrder":0},{"id":"yir:alibaba/wan-3.0-prime:image","model":"wan-3.0-prime","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"1080p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"wan-3.0-prime","parameters":{"aspect_ratio":"adaptive","duration":5,"generate_audio":true,"n":1,"resolution":"1080p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":2,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1080p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["adaptive","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":2,"referenceUrlOnly":true,"referenceConstraints":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-3-0-prime","isDefault":false,"active":true,"sortOrder":1},{"id":"yir:alibaba/wan-3.0-prime:reference","model":"wan-3.0-prime","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"1080p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"wan-3.0-prime","parameters":{"aspect_ratio":"adaptive","duration":5,"generate_audio":true,"n":1,"resolution":"1080p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":2,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1080p","options":["480p","720p","1080p"],"allowedValues":["480p","720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"adaptive","options":["adaptive","16:9","4:3","1:1","3:4","9:16"],"allowedValues":["adaptive","16:9","4:3","1:1","3:4","9:16"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"allowedValues":[false,true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":20,"referenceUrlOnly":true,"referenceConstraints":{"max_references":20,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":5,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-3-0-prime","isDefault":false,"active":true,"sortOrder":2}],"missing":[]},"id":"20313a34-b9d5-44fc-8aff-6bd43bd31004","routeId":"dbbb0a25-e009-4a07-92b1-ff97e2ce5bc5","model":"wan-3.0-prime","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text","image","reference"]}}},"model":{"const":"alibaba/wan-3.0-prime"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":2,"description":"Output video duration in seconds."},"resolution":{"enum":["480p","720p","1080p"],"type":"string","default":"1080p","description":"Output resolution."},"aspect_ratio":{"enum":["adaptive","16:9","4:3","1:1","3:4","9:16"],"type":"string","default":"adaptive","description":"Output aspect ratio."},"generate_audio":{"enum":[false,true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]},"image":{"max_references":2,"min_references":1,"allowed_reference_roles":["first_frame","last_frame"],"reference_counts_by_role":{"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}},"reference":{"max_references":20,"min_references":1,"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":5,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":63600,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":63600,"partnerCompletion":0,"promptSource":63600,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Faster Alibaba Wan 3.0 with the same capabilities as the standard model","descriptionTranslations":{},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":254399,"catalogReferences":[{"unit":"second","amount":"0.254399","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":254399,"prompt":254399,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.254399","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0636","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.254399","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0636","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.254399","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.0636","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":63600,"catalogReferences":[{"unit":"second","amount":"0.0636","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":63600,"prompt":63600,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":254399,"catalogReferences":[{"unit":"second","amount":"0.254399","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":254399,"prompt":254399,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":63600,"catalogReferences":[{"unit":"second","amount":"0.0636","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":63600,"prompt":63600,"rangeStart":0,"resolution":"480p"},{"actualCompletion":0,"actualPrompt":254399,"catalogReferences":[{"unit":"second","amount":"0.254399","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":254399,"prompt":254399,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":63600,"catalogReferences":[{"unit":"second","amount":"0.0636","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"480p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-3.0-prime","specification_label":"5s · 480p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 480p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":63600,"prompt":63600,"rangeStart":0,"resolution":"480p"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"wan-3.0-prime","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:28:25Z","updatedAt":"2026-10-31T09:28:25Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.03","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.03","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-7-image","upstreamModel":"alibaba/wan-2.7-image","formats":[{"id":"yir:alibaba/wan-2.7-image:text","model":"wan2.7-image","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"wan2.7-image","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K"],"allowedValues":["1K","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"allowedValues":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-7-image","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"1376e5f2-4f71-4a9d-8342-611e6e7f0ffa","routeId":"c4946c36-93b5-44d8-9f28-78594f622f21","model":"wan2.7-image","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"alibaba/wan-2.7-image"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K","2K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":21600,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":21600,"partnerCompletion":0,"promptSource":21600,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Alibaba Wan 2.7 professional image generation model with rich stylistic rendering","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":21600,"catalogReferences":[{"unit":"image","amount":"0.0216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":21600,"prompt":21600,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image","specification_label":"2K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":21600,"catalogReferences":[{"unit":"image","amount":"0.0216","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":21600,"prompt":21600,"rangeStart":0,"resolution":"2k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"wan2.7-image","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:21:25Z","updatedAt":"2026-10-31T09:21:25Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image-pro","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.075","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image-pro","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.075","quantity":1},{"unit":"image","match":{"kind":"tier","label":"4K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image-pro","specification_label":"4K · 1:1"}}]},"rangeStart":0,"resolution":"4k"},"price":"0.075","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-7-image-pro","upstreamModel":"alibaba/wan-2.7-image-pro","formats":[{"id":"yir:alibaba/wan-2.7-image-pro:text","model":"wan2.7-image-pro","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"2K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"wan2.7-image-pro","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"2K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"2K","options":["1K","2K","4K"],"allowedValues":["1K","2K","4K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"allowedValues":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/wan-2-7-image-pro","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"677957b7-e1f7-4164-bbd6-fba7c86cd874","routeId":"0055a7ba-3bf5-4fc7-9c97-0687980eb1df","model":"wan2.7-image-pro","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"alibaba/wan-2.7-image-pro"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K","2K","4K"],"type":"string","default":"2K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":54400,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":54400,"partnerCompletion":0,"promptSource":54400,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Alibaba Wan 2.7 Pro flagship image generation model with 4K resolution","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":54400,"catalogReferences":[{"unit":"image","amount":"0.0544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image-pro","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":54400,"prompt":54400,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":2}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.0544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image-pro","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image-pro","specification_label":"2K · 1:1"},"approximate":false},{"unit":"image","amount":"0.0544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image-pro","specification_label":"4K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":54400,"catalogReferences":[{"unit":"image","amount":"0.0544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image-pro","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":54400,"prompt":54400,"rangeStart":0,"resolution":"2k"},{"actualCompletion":0,"actualPrompt":54400,"catalogReferences":[{"unit":"image","amount":"0.0544","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"4K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/wan-2.7-image-pro","specification_label":"4K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"4K · 1:1","partnerCompletion":0,"partnerPrompt":54400,"prompt":54400,"rangeStart":0,"resolution":"4k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"wan2.7-image-pro","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:21:25Z","updatedAt":"2026-10-31T09:21:25Z"},{"officialPricing":{"unit":"image","prices":[{"unit":"image","match":{"kind":"tier","label":"1K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/z-image-turbo","specification_label":"1K · 1:1"}}]},"rangeStart":0,"resolution":"1k"},"price":"0.015","quantity":1},{"unit":"image","match":{"kind":"tier","label":"2K · 1:1","rangeEnd":null,"inputMode":"t2i","conditions":{"references":[{"unit":"image","quantity":1,"conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/z-image-turbo","specification_label":"2K · 1:1"}}]},"rangeStart":0,"resolution":"2k"},"price":"0.015","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/alibaba/z-image-turbo","upstreamModel":"alibaba/z-image-turbo","formats":[{"id":"yir:alibaba/z-image-turbo:text","model":"z-image-turbo","provider":"yir","endpointPath":"/v1/images","upstreamPath":"/v1/images/generations","queryEndpointPath":"/v1/images/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"image","inputMode":"text","displayName":"Text to image","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A watercolor fox reading a map in a pine forest","systemPrompt":"","resolution":"1K","requestTemplate":{"input":{"prompt":"A watercolor fox reading a map in a pine forest","type":"text"},"model":"z-image-turbo","parameters":{"aspect_ratio":"1:1","n":1,"resolution":"1K"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A watercolor fox reading a map in a pine forest","minLength":1,"maxLength":20000},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"1K","options":["1K","2K"],"allowedValues":["1K","2K"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"1:1","options":["1:1","4:3","3:4","16:9","9:16","3:2","2:3"],"allowedValues":["1:1","4:3","3:4","16:9","9:16","3:2","2:3"]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/alibaba/z-image-turbo","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"05de8dbc-9bce-4d73-a3e7-37004560003f","routeId":"e6d7d952-3c8b-44f6-b7ef-d81924ca7bef","model":"z-image-turbo","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/alibaba.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST","default":true,"task_kind":"image_generation"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"image_generation"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardImageGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"alibaba/z-image-turbo"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"resolution":{"enum":["1K","2K"],"type":"string","default":"1K","description":"Output resolution."},"aspect_ratio":{"enum":["1:1","4:3","3:4","16:9","9:16","3:2","2:3"],"type":"string","default":"1:1","description":"Output aspect ratio."}}}},"x-yir-operation":"generate_image","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardImageTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardImageReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardImageGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardImageTextInput"},{"$ref":"#/components/schemas/StandardImageReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"quality":{"type":"string","description":"Minimum image quality tier; allowed values come from the model contract. For GPT Image the tier is a routing constraint: only channels that serve it run the request, and it is never ignored or lowered. When omitted, any channel may run and quality-capable channels use medium. auto is rejected."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable image request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":10000,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":10000,"partnerCompletion":0,"promptSource":10000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"Alibaba ultra-fast image generation model with high responsiveness","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[{"actualCompletion":0,"actualPrompt":10000,"catalogReferences":[{"unit":"image","amount":"0.01","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/z-image-turbo","specification_label":"1K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"1K · 1:1","partnerCompletion":0,"partnerPrompt":10000,"prompt":10000,"rangeStart":0,"resolution":"1k","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio"],"priceIndex":1}],"sourcePricing":{"mode":"reference","prices":[{"unit":"image","amount":"0.01","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"1K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/z-image-turbo","specification_label":"1K · 1:1"},"approximate":false},{"unit":"image","amount":"0.01","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/z-image-turbo","specification_label":"2K · 1:1"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":10000,"catalogReferences":[{"unit":"image","amount":"0.01","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_image","dimensions":[{"name":"resolution","value":"2K"},{"name":"aspect_ratio","value":"1:1"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"alibaba/z-image-turbo","specification_label":"2K · 1:1"},"approximate":false}],"completion":0,"inputMode":"t2i","label":"2K · 1:1","partnerCompletion":0,"partnerPrompt":10000,"prompt":10000,"rangeStart":0,"resolution":"2k"}],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"z-image-turbo","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:21:25Z","updatedAt":"2026-10-31T09:21:25Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"hy-mt2-lite","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"hy-mt2-lite","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"hy-mt2-lite","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"da2808ab-bd82-4bd4-9aca-6fcc3b5b1244","routeId":"f15b6ea1-f91f-42eb-97ee-12e32e10995a","model":"hy-mt2-lite","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":28800,"completion":115200,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":25200,"partnerCompletion":100800,"promptSource":208800,"completionSource":835200,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":1,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"Hy-MT2-Lite is a lightweight Hunyuan translation model with 1.8B parameters and an 8K context window. It supports broad language coverage, with a focus on mutual translation across 33 languages and 5 ethnic Chinese languages or dialects. It performs strongly on open benchmarks such as Flores200 and WMT25, and supports translation instruction-following tasks including structured translation, delimiter-aware translation, context-aware translation, glossary translation, and style translation.","descriptionTranslations":{},"modelReleaseDate":"2026-07-07","supportedFeatures":["json_mode"],"contextWindowTokens":8000,"maxOutputTokens":4000,"pricingTiers":[{"actualCompletion":696000,"actualPrompt":174000,"completion":115200,"label":"default","partnerCompletion":100800,"partnerPrompt":25200,"prompt":28800,"rangeStart":0}],"timePricingRules":[],"latency":656,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"hy-mt2-lite","operations":[],"availableModes":[]},"createdAt":"2026-07-07T00:43:51Z","updatedAt":"2026-07-10T06:29:28Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"hy-vision-2.0-instruct","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"hy-vision-2.0-instruct","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"hy-vision-2.0-instruct","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"55502117-c2ff-4d76-a16e-65c26cd52bd5","routeId":"9f89f89e-4619-4b4d-b9e0-72fa1b37d886","model":"hy-vision-2.0-instruct","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":720000,"completion":1680000,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":630000,"partnerCompletion":1470000,"promptSource":5220000,"completionSource":12180000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":1,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","image"],"outModalities":["chat","image"],"description":"HY-Vision-2.0-Instruct is a fast-thinking model for general image-text scenarios, with improved perception, content recognition, knowledge, OCR, STEM, reasoning, and chart understanding.","descriptionTranslations":{},"modelReleaseDate":"2026-07-06","supportedFeatures":["vision"],"contextWindowTokens":44000,"maxOutputTokens":16000,"pricingTiers":[{"actualCompletion":10150000,"actualPrompt":4350000,"completion":1680000,"label":"default","partnerCompletion":1470000,"partnerPrompt":630000,"prompt":720000,"rangeStart":0}],"timePricingRules":[],"latency":2340,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"hy-vision-2.0-instruct","operations":[],"availableModes":[]},"createdAt":"2026-07-06T14:43:31Z","updatedAt":"2026-07-06T14:45:02Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/glm-5v-turbo/","upstreamModel":"glm-5v-turbo","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"user_id":{"type":"string","description":"End-user identifier associated with the request."},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"thinking":{"type":"object","description":"Thinking configuration object for GLM reasoning behavior. eg: {\"type\": \"disabled\" }"},"do_sample":{"type":"boolean","default":true,"description":"Whether to enable sampling. When true, the model uses sampling-based generation."},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"request_id":{"type":"string","description":"Client-provided request identifier for tracing and idempotency."},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"tool_stream":{"type":"boolean","default":false,"description":"Whether to enable streaming output for tool calls."},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"reasoning_effort":{"enum":["max","xhigh","high","medium","low","minimal","none"],"type":"string","description":"Controls the reasoning effort level used by the model."},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"glm-5v-turbo","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"glm-5v-turbo","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"do_sample","label":"do_sample","description":"Whether to enable sampling. When true, the model uses sampling-based generation.","type":"boolean","valueType":"boolean","path":"/do_sample","required":false,"defaultValue":true,"omitEmpty":true},{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Controls the reasoning effort level used by the model.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["max","xhigh","high","medium","low","minimal","none"],"omitEmpty":true},{"name":"request_id","label":"request_id","description":"Client-provided request identifier for tracing and idempotency.","type":"string","valueType":"string","path":"/request_id","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking configuration object for GLM reasoning behavior. eg: {\"type\": \"disabled\" }","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","description":"Whether to enable streaming output for tool calls.","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","description":"End-user identifier associated with the request.","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"playground.curl_example","sourceUrl":"https://openany.si/models/glm-5v-turbo/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"5b16d374-53f2-4e23-97b1-5d10eb3f06f7","routeId":"9accfb01-8a3c-4c80-b57f-bc1a2564c4d4","model":"glm-5v-turbo","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":973568,"completion":3245006,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":929315,"partnerCompletion":3097506,"partnerCacheReadPrompt":185863,"promptSource":7058370,"completionSource":23526294,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":2,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat","coding","reasoning"],"description":"GLM-5V-Turbo is Zhipu AI's first multimodal coding foundation model, designed for visual programming tasks. It can natively process image, video, and text inputs, and is strong at long-horizon planning, complex programming, and action execution. It is deeply adapted to agent workflows and can collaborate closely with agents such as Claude Code and OpenClaw.","descriptionTranslations":{},"modelReleaseDate":"2026-07-06","supportedFeatures":["content_caching","structured_outputs","tool_calling","reasoning","vision"],"contextWindowTokens":200000,"maxOutputTokens":128000,"cacheReadPrompt":177012,"pricingTiers":[{"actualCompletion":21387540,"actualPrompt":6416700,"cacheReadPrompt":177012,"completion":3245006,"label":"default","partnerCacheReadPrompt":185863,"partnerCompletion":3097506,"partnerPrompt":929315,"prompt":973568,"rangeStart":0}],"timePricingRules":[],"latency":1599,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5v-turbo","operations":[],"availableModes":[]},"createdAt":"2026-07-06T09:09:27Z","updatedAt":"2026-07-20T11:40:13Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/glm-5v-turbo/","upstreamModel":"glm-5v-turbo","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"user_id":{"type":"string","description":"End-user identifier associated with the request."},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"thinking":{"type":"object","description":"Thinking configuration object for GLM reasoning behavior. eg: {\"type\": \"disabled\" }"},"do_sample":{"type":"boolean","default":true,"description":"Whether to enable sampling. When true, the model uses sampling-based generation."},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"request_id":{"type":"string","description":"Client-provided request identifier for tracing and idempotency."},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"tool_stream":{"type":"boolean","default":false,"description":"Whether to enable streaming output for tool calls."},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"reasoning_effort":{"enum":["max","xhigh","high","medium","low","minimal","none"],"type":"string","description":"Controls the reasoning effort level used by the model."},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"glm-5v-turbo","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"glm-5v-turbo","route":{"provider":"Tencent-Intl"},"route_mode":"balanced"},"parameterSchema":[{"name":"do_sample","label":"do_sample","description":"Whether to enable sampling. When true, the model uses sampling-based generation.","type":"boolean","valueType":"boolean","path":"/do_sample","required":false,"defaultValue":true,"omitEmpty":true},{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Controls the reasoning effort level used by the model.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["max","xhigh","high","medium","low","minimal","none"],"omitEmpty":true},{"name":"request_id","label":"request_id","description":"Client-provided request identifier for tracing and idempotency.","type":"string","valueType":"string","path":"/request_id","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking configuration object for GLM reasoning behavior. eg: {\"type\": \"disabled\" }","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","description":"Whether to enable streaming output for tool calls.","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","description":"End-user identifier associated with the request.","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"playground.curl_example","sourceUrl":"https://openany.si/models/glm-5v-turbo/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"ea532822-2211-4d34-bd99-bcacb7785ff0","routeId":"ec431033-aecb-4990-9603-ac0bafd9102f","model":"glm-5v-turbo","provider":"Tencent-Intl","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":973568,"completion":3245006,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":929315,"partnerCompletion":3097506,"partnerCacheReadPrompt":185863,"promptSource":7058370,"completionSource":23526294,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":2,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat","coding","reasoning"],"description":"GLM-5V-Turbo is Zhipu AI's first multimodal coding foundation model, designed for visual programming tasks. It can natively process image, video, and text inputs, and is strong at long-horizon planning, complex programming, and action execution. It is deeply adapted to agent workflows and can collaborate closely with agents such as Claude Code and OpenClaw.","descriptionTranslations":{},"modelReleaseDate":"2026-07-06","supportedFeatures":["content_caching","structured_outputs","tool_calling","reasoning","vision"],"contextWindowTokens":200000,"maxOutputTokens":128000,"cacheReadPrompt":177012,"pricingTiers":[{"actualCompletion":21387540,"actualPrompt":6416700,"cacheReadPrompt":177012,"completion":3245006,"label":"default","partnerCacheReadPrompt":185863,"partnerCompletion":3097506,"partnerPrompt":929315,"prompt":973568,"rangeStart":0}],"timePricingRules":[],"latency":1270,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5v-turbo","operations":[],"availableModes":[]},"createdAt":"2026-07-06T08:47:41Z","updatedAt":"2026-07-20T11:40:13Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"doubao-seedance-2-0-fast-260128","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","content"],"properties":{"seed":{"type":"integer","default":-1,"maximum":4294967295,"minimum":-1,"description":"Random seed for controlling generation randomness. -1 means random. Seedance 2.0 series currently does not support this parameter."},"draft":{"type":"boolean","default":false,"description":"Whether to enable draft mode. Supported only by Seedance 1.5 Pro. Draft mode uses 480p resolution, does not support return_last_frame, and does not support offline inference."},"model":{"type":"string","description":"Model ID or Endpoint ID to call."},"ratio":{"enum":["16:9","4:3","1:1","3:4","9:16","21:9","adaptive"],"type":"string","description":"Generated video aspect ratio. Seedance 2.0 series and Seedance 1.5 Pro default to adaptive. example:16:9、4:3、1:1、3:4、9:16、21:9、adaptive"},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"enum":["web_search"],"type":"string","description":"Tool type. web_search enables online search capability."}}},"description":"Tools available to the model. Supported by Seedance 2.0 series."},"frames":{"type":"integer","maximum":289,"minimum":29,"description":"Generated video frame count. frames has higher priority than duration. Supported values are integers in [29,289] matching 25 + 4n. Seedance 2.0 series and Seedance 1.5 Pro currently do not support this parameter."},"content":{"type":"array","items":{"type":"object","required":["type"],"properties":{"role":{"enum":["first_frame","last_frame","reference_image","reference_video","reference_audio"],"type":"string","description":"Role or purpose of the media input. Use first_frame/last_frame for first/last frame image generation, reference_image for reference images, reference_video for reference videos, and reference_audio for reference audio."},"text":{"type":"string","description":"Text prompt describing the expected video. Chinese and English are supported; Seedance 2.0 also supports Japanese, Indonesian, Spanish, and Portuguese."},"type":{"enum":["text","image_url","video_url","audio_url","draft_task"],"type":"string","description":"Input content type."},"audio_url":{"type":"object","properties":{"url":{"type":"string","description":"Audio URL, base64 audio data, or asset ID. Base64 format example: data:audio/wav;base64,{base64_audio}."}},"description":"Audio input object. Audio input is supported by Seedance 2.0 series and cannot be used alone; at least one reference image or video is required."},"image_url":{"type":"object","properties":{"url":{"type":"string","description":"Image URL, base64 image data, or asset ID. Asset ID format: asset://."}},"description":"Image input object."},"video_url":{"type":"object","properties":{"url":{"type":"string","description":"Video URL or asset ID. Asset ID format: asset://."}},"description":"Video input object. Video input is supported by Seedance 2.0 series."},"draft_task":{"type":"object","properties":{"id":{"type":"string","description":"Draft video task ID."}},"description":"Draft task object. Supported by Seedance 1.5 Pro for generating final video from a draft video task."}}},"description":"Input content for video generation. Supports text, image, audio, video, and draft task ID."},"duration":{"type":"integer","default":5,"description":"Generated video duration in seconds. duration and frames are mutually optional; frames has higher priority. Seedance 2.0 supports integers in [4,15] or -1 for automatic duration."},"priority":{"type":"integer","default":0,"maximum":9,"minimum":0,"description":"Execution priority for Seedance 2.0 series. Higher values are scheduled earlier in the queue. Not supported when service_tier is flex."},"watermark":{"type":"boolean","default":false,"description":"Whether the generated video contains an AI-generated watermark."},"resolution":{"enum":["480p","720p","1080p","4k"],"type":"string","description":"Video resolution. Seedance 2.0 series and Seedance 1.5 Pro default to 720p. Seedance 1.0 Pro and Pro Fast default to 1080p. 4k is supported only by Seedance 2.0."},"callback_url":{"type":"string","description":"Callback URL for task status updates. The callback body is consistent with the query task API response."},"camera_fixed":{"type":"boolean","default":false,"description":"Whether to fix the camera. Reference image scenarios and Seedance 2.0 series currently do not support this parameter."},"service_tier":{"enum":["default","flex"],"type":"string","default":"default","description":"Service tier. default means online inference; flex means offline inference. Seedance 2.0 series only supports online inference and does not support this parameter."},"generate_audio":{"type":"boolean","default":true,"description":"Whether to generate synchronized audio. Supported by Seedance 2.0 series and Seedance 1.5 Pro. true generates voice, sound effects, and background music; false generates silent video."},"return_last_frame":{"type":"boolean","default":false,"description":"Whether to return the last frame image of the generated video. The last frame can be retrieved from the query task API."},"safety_identifier":{"type":"string","description":"Stable and unique end-user identifier for safety detection. Use an English string up to 64 characters. Avoid private user information; hashed user ID is recommended."},"execution_expires_after":{"type":"integer","default":172800,"maximum":259200,"minimum":3600,"description":"Task expiration threshold in seconds, calculated from the created_at timestamp. Default is 172800 seconds, or 48 hours."}}},"id":"archived-0","model":"doubao-seedance-2-0-fast","provider":"ByteDance","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"content":[{"text":"Generate a video of a carp leaping over the Dragon Gate.","type":"text"}],"duration":5,"generate_audio":true,"model":"doubao-seedance-2-0-fast","ratio":"16:9","resolution":"720p","route":{"provider":"ByteDance"},"route_mode":"balanced","watermark":false},"parameterSchema":[{"name":"callback_url","label":"callback_url","description":"Callback URL for task status updates. The callback body is consistent with the query task API response.","type":"string","valueType":"string","path":"/callback_url","required":false,"omitEmpty":true},{"name":"camera_fixed","label":"camera_fixed","description":"Whether to fix the camera. Reference image scenarios and Seedance 2.0 series currently do not support this parameter.","type":"boolean","valueType":"boolean","path":"/camera_fixed","required":false,"defaultValue":false,"omitEmpty":true},{"name":"content","label":"content","description":"Input content for video generation. Supports text, image, audio, video, and draft task ID.","type":"json","valueType":"array","path":"/content","required":true},{"name":"draft","label":"draft","description":"Whether to enable draft mode. Supported only by Seedance 1.5 Pro. Draft mode uses 480p resolution, does not support return_last_frame, and does not support offline inference.","type":"boolean","valueType":"boolean","path":"/draft","required":false,"defaultValue":false,"omitEmpty":true},{"name":"duration","label":"duration","description":"Generated video duration in seconds. duration and frames are mutually optional; frames has higher priority. Seedance 2.0 supports integers in [4,15] or -1 for automatic duration.","type":"number","valueType":"integer","path":"/duration","required":false,"defaultValue":5,"omitEmpty":true},{"name":"execution_expires_after","label":"execution_expires_after","description":"Task expiration threshold in seconds, calculated from the created_at timestamp. Default is 172800 seconds, or 48 hours.","type":"number","valueType":"integer","path":"/execution_expires_after","required":false,"defaultValue":172800,"min":3600,"max":259200,"omitEmpty":true},{"name":"frames","label":"frames","description":"Generated video frame count. frames has higher priority than duration. Supported values are integers in [29,289] matching 25 + 4n. Seedance 2.0 series and Seedance 1.5 Pro currently do not support this parameter.","type":"number","valueType":"integer","path":"/frames","required":false,"min":29,"max":289,"omitEmpty":true},{"name":"generate_audio","label":"generate_audio","description":"Whether to generate synchronized audio. Supported by Seedance 2.0 series and Seedance 1.5 Pro. true generates voice, sound effects, and background music; false generates silent video.","type":"boolean","valueType":"boolean","path":"/generate_audio","required":false,"defaultValue":true,"omitEmpty":true},{"name":"model","label":"model","description":"Model ID or Endpoint ID to call.","type":"string","valueType":"string","path":"/model","required":true},{"name":"priority","label":"priority","description":"Execution priority for Seedance 2.0 series. Higher values are scheduled earlier in the queue. Not supported when service_tier is flex.","type":"number","valueType":"integer","path":"/priority","required":false,"defaultValue":0,"min":0,"max":9,"omitEmpty":true},{"name":"ratio","label":"ratio","description":"Generated video aspect ratio. Seedance 2.0 series and Seedance 1.5 Pro default to adaptive. example:16:9、4:3、1:1、3:4、9:16、21:9、adaptive","type":"string","valueType":"string","path":"/ratio","required":false,"allowedValues":["16:9","4:3","1:1","3:4","9:16","21:9","adaptive"],"omitEmpty":true},{"name":"resolution","label":"resolution","description":"Video resolution. Seedance 2.0 series and Seedance 1.5 Pro default to 720p. Seedance 1.0 Pro and Pro Fast default to 1080p. 4k is supported only by Seedance 2.0.","type":"string","valueType":"string","path":"/resolution","required":false,"allowedValues":["480p","720p","1080p","4k"],"omitEmpty":true},{"name":"return_last_frame","label":"return_last_frame","description":"Whether to return the last frame image of the generated video. The last frame can be retrieved from the query task API.","type":"boolean","valueType":"boolean","path":"/return_last_frame","required":false,"defaultValue":false,"omitEmpty":true},{"name":"safety_identifier","label":"safety_identifier","description":"Stable and unique end-user identifier for safety detection. Use an English string up to 64 characters. Avoid private user information; hashed user ID is recommended.","type":"string","valueType":"string","path":"/safety_identifier","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Random seed for controlling generation randomness. -1 means random. Seedance 2.0 series currently does not support this parameter.","type":"number","valueType":"integer","path":"/seed","required":false,"defaultValue":-1,"min":-1,"max":4294967295,"omitEmpty":true},{"name":"service_tier","label":"service_tier","description":"Service tier. default means online inference; flex means offline inference. Seedance 2.0 series only supports online inference and does not support this parameter.","type":"string","valueType":"string","path":"/service_tier","required":false,"defaultValue":"default","allowedValues":["default","flex"],"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model. Supported by Seedance 2.0 series.","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"watermark","label":"watermark","description":"Whether the generated video contains an AI-generated watermark.","type":"boolean","valueType":"boolean","path":"/watermark","required":false,"defaultValue":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"bf0fe5dd-edff-4d90-9ac8-2e007a398758","routeId":"23047256-83ca-4ceb-b954-931b41f4c761","model":"doubao-seedance-2-0-fast","provider":"ByteDance","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/contents/generations/tasks","method":"POST"},{"type":"get","path":"/v1/contents/generations/tasks/{task_id}","method":"GET"}],"curlExample":"curl 'https://api.openany.si/v1/videos' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"doubao-seedance-2-0-fast\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Generate a video of a carp leaping over the Dragon Gate.\"\n    }\n  ],\n  \"generate_audio\": true,\n  \"resolution\": \"720p\",\n  \"ratio\": \"16:9\",\n  \"duration\": 5,\n  \"watermark\": false\n}'\n\ncurl 'https://api.openany.si/v1/videos/YOUR_TASK_ID' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":0,"completion":3034483,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":0,"partnerCompletion":3034483,"promptSource":0,"completionSource":22000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":5,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat","image","video","audio"],"outModalities":["video"],"description":"Seedance 2.0 Fast is a new-generation multimodal video creation model launched by the Doupai Large Model Team, offering faster generation speeds.","descriptionTranslations":{"ar":"Seedance 2.0 Fast هو نموذج من الجيل الجديد لإنشاء الفيديو متعدد الوسائط، أطلقه Doupai Large Model Team، ويوفر سرعات توليد أعلى.","ja":"Seedance 2.0 Fastは、Doupai Large Model Teamが提供する次世代のマルチモーダル動画制作モデルで、より高速に生成できます。","zh":"Seedance 2.0 Fast 是 Doupai 大模型团队推出的新一代多模态视频创作模型，生成速度更快。"},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":37000000,"actualPrompt":0,"completion":5103448,"inputMode":"input_without_video","label":"480p/720p input without video","partnerCompletion":5103448,"partnerPrompt":0,"prompt":0,"rangeStart":0,"resolution":"480p/720p"},{"actualCompletion":22000000,"actualPrompt":0,"completion":3034483,"inputMode":"input_with_video","label":"480p/720p input with video","partnerCompletion":3034483,"partnerPrompt":0,"prompt":0,"rangeStart":0,"resolution":"480p/720p"}],"timePricingRules":[],"latency":228,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"doubao-seedance-2-0-fast","operations":[],"availableModes":[]},"createdAt":"2026-06-17T00:55:16Z","updatedAt":"2026-11-02T14:37:53Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"DeepSeek","inputPrice":"0.66","outputPrice":"1.98"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/deepseek-v4-pro-202606/","upstreamModel":"deepseek-v4-pro-202606","formats":[{"jsonSchema":{"type":"object","allOf":[{"if":{"required":["top_logprobs"],"properties":{"top_logprobs":{"type":"integer"}}},"then":{"required":["logprobs"],"properties":{"logprobs":{"const":true}}}}],"$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"maxItems":16,"minItems":1}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"user_id":{"type":"string"},"logprobs":{"type":"boolean"},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"thinking":{"type":"object","required":["type"],"properties":{"type":{"enum":["enabled","disabled"],"type":"string"}},"description":"Thinking mode for the model."},"max_tokens":{"type":"integer","maximum":393216,"minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","maximum":2,"minimum":0},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"top_logprobs":{"type":"integer","maximum":20,"minimum":0},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string"}}},"reasoning_effort":{"enum":["none","minimal","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."}}},"id":"archived-0","model":"deepseek-v4-pro","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"deepseek-v4-pro","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"logprobs","label":"logprobs","type":"boolean","valueType":"boolean","path":"/logprobs","required":false,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":393216,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","minimal","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking mode for the model.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_logprobs","label":"top_logprobs","type":"number","valueType":"integer","path":"/top_logprobs","required":false,"min":0,"max":20,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"954e4ffe-9c59-4216-8ee6-6235f72f81f9","model":"deepseek-v4-flash","usage":{"total_tokens":222,"prompt_tokens":5,"completion_tokens":217,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":161}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"你好！👋 很高兴见到你！我是 DeepSeek，你的免费 AI 助手。有什么我可以帮你的吗？无论是回答问题、写作、编程、翻译，还是随便聊聊天，我都非常乐意帮忙！😊 请随时告诉我你的需求吧～","reasoning_content":"好的，用户发来一个简单的问候“hello”。这是一个非常基础的打招呼，没有其他具体指令或问题。用户可能只是测试连接、开启对话，或者想打个招呼开始交流。深层需求应该是希望获得一个友好、热情的回应，并了解我能提供什么帮助。\n\n想到了用同样自然友好的方式回复“hello”，加上问候和自我介绍，表明我是DeepSeek助手。然后主动提供帮助选项，列举几个常见的我能做的事情，比如回答问题、写作、编程、聊天等。最后用开放式的邀请结束，让用户提出具体需求。整个回复保持热情、开放和乐于助人的语气。\n\n嗯，回复结构就这样：先问候和自我介绍，然后列举服务范围，最后邀请用户提出请求。用点表情符号增加亲和力，但保持简洁清晰。"},"logprobs":null,"finish_reason":"stop"}],"created":1784221144,"openmodels_cost":55},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/deepseek-v4-pro-202606/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"cfb5be3f-c51b-4615-bcf7-46f7311216d9","routeId":"868389f9-776c-4c19-96df-3662c8637789","model":"deepseek-v4-pro","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://qcloudimg.tencent-cloud.cn/raw/eb73bf9964b1e5a67cd798270fc55ce4.png","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"deepseek-v4-pro\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":620706,"completion":1862119,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":475759,"partnerCompletion":1427276,"partnerCacheReadPrompt":21724,"promptSource":4500122,"completionSource":13500365,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":6,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat","reasoning"],"description":"DeepSeek-V4-Pro is provided directly by DeepSeek. TokenHub does not provide SLA guarantees for this service. By using this model, users acknowledge and agree to follow DeepSeek's terms of service and should read the relevant terms before use. If the terms are not accepted, use should be stopped.","descriptionTranslations":{},"modelReleaseDate":"2026-05-29","supportedFeatures":["content_caching","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":384000,"cacheReadPrompt":20690,"pricingTiers":[],"timePricingRules":[{"label":"PEAK1","daysOfWeekUtc":[1,2,3,4,5],"startMinuteUtc":60,"endMinuteUtc":240,"prompt":1241413,"completion":3724238,"partnerPrompt":951517,"partnerCompletion":2854552,"cacheReadPrompt":41379,"partnerCacheReadPrompt":43448},{"label":"PEAK2","daysOfWeekUtc":[1,2,3,4,5],"startMinuteUtc":360,"endMinuteUtc":600,"prompt":1241413,"completion":3724238,"partnerPrompt":951517,"partnerCompletion":2854552,"cacheReadPrompt":41379,"partnerCacheReadPrompt":43448}],"latency":1466,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"deepseek-v4-pro","operations":[],"availableModes":[]},"createdAt":"2026-07-06T06:56:42Z","updatedAt":"2026-11-02T06:40:03Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"doubao-seedance-2-0-260128","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","content"],"properties":{"seed":{"type":"integer","default":-1,"maximum":4294967295,"minimum":-1,"description":"Random seed for controlling generation randomness. -1 means random. Seedance 2.0 series currently does not support this parameter."},"draft":{"type":"boolean","default":false,"description":"Whether to enable draft mode. Supported only by Seedance 1.5 Pro. Draft mode uses 480p resolution, does not support return_last_frame, and does not support offline inference."},"model":{"type":"string","description":"Model ID or Endpoint ID to call."},"ratio":{"enum":["16:9","4:3","1:1","3:4","9:16","21:9","adaptive"],"type":"string","description":"Generated video aspect ratio. Seedance 2.0 series and Seedance 1.5 Pro default to adaptive. example:16:9、4:3、1:1、3:4、9:16、21:9、adaptive"},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"enum":["web_search"],"type":"string","description":"Tool type. web_search enables online search capability."}}},"description":"Tools available to the model. Supported by Seedance 2.0 series."},"frames":{"type":"integer","maximum":289,"minimum":29,"description":"Generated video frame count. frames has higher priority than duration. Supported values are integers in [29,289] matching 25 + 4n. Seedance 2.0 series and Seedance 1.5 Pro currently do not support this parameter."},"content":{"type":"array","items":{"type":"object","required":["type"],"properties":{"role":{"enum":["first_frame","last_frame","reference_image","reference_video","reference_audio"],"type":"string","description":"Role or purpose of the media input. Use first_frame/last_frame for first/last frame image generation, reference_image for reference images, reference_video for reference videos, and reference_audio for reference audio."},"text":{"type":"string","description":"Text prompt describing the expected video. Chinese and English are supported; Seedance 2.0 also supports Japanese, Indonesian, Spanish, and Portuguese."},"type":{"enum":["text","image_url","video_url","audio_url","draft_task"],"type":"string","description":"Input content type."},"audio_url":{"type":"object","properties":{"url":{"type":"string","description":"Audio URL, base64 audio data, or asset ID. Base64 format example: data:audio/wav;base64,{base64_audio}."}},"description":"Audio input object. Audio input is supported by Seedance 2.0 series and cannot be used alone; at least one reference image or video is required."},"image_url":{"type":"object","properties":{"url":{"type":"string","description":"Image URL, base64 image data, or asset ID. Asset ID format: asset://."}},"description":"Image input object."},"video_url":{"type":"object","properties":{"url":{"type":"string","description":"Video URL or asset ID. Asset ID format: asset://."}},"description":"Video input object. Video input is supported by Seedance 2.0 series."},"draft_task":{"type":"object","properties":{"id":{"type":"string","description":"Draft video task ID."}},"description":"Draft task object. Supported by Seedance 1.5 Pro for generating final video from a draft video task."}}},"description":"Input content for video generation. Supports text, image, audio, video, and draft task ID."},"duration":{"type":"integer","default":5,"description":"Generated video duration in seconds. duration and frames are mutually optional; frames has higher priority. Seedance 2.0 supports integers in [4,15] or -1 for automatic duration."},"priority":{"type":"integer","default":0,"maximum":9,"minimum":0,"description":"Execution priority for Seedance 2.0 series. Higher values are scheduled earlier in the queue. Not supported when service_tier is flex."},"watermark":{"type":"boolean","default":false,"description":"Whether the generated video contains an AI-generated watermark."},"resolution":{"enum":["480p","720p","1080p","4k"],"type":"string","description":"Video resolution. Seedance 2.0 series and Seedance 1.5 Pro default to 720p. Seedance 1.0 Pro and Pro Fast default to 1080p. 4k is supported only by Seedance 2.0."},"callback_url":{"type":"string","description":"Callback URL for task status updates. The callback body is consistent with the query task API response."},"camera_fixed":{"type":"boolean","default":false,"description":"Whether to fix the camera. Reference image scenarios and Seedance 2.0 series currently do not support this parameter."},"service_tier":{"enum":["default","flex"],"type":"string","default":"default","description":"Service tier. default means online inference; flex means offline inference. Seedance 2.0 series only supports online inference and does not support this parameter."},"generate_audio":{"type":"boolean","default":true,"description":"Whether to generate synchronized audio. Supported by Seedance 2.0 series and Seedance 1.5 Pro. true generates voice, sound effects, and background music; false generates silent video."},"return_last_frame":{"type":"boolean","default":false,"description":"Whether to return the last frame image of the generated video. The last frame can be retrieved from the query task API."},"safety_identifier":{"type":"string","description":"Stable and unique end-user identifier for safety detection. Use an English string up to 64 characters. Avoid private user information; hashed user ID is recommended."},"execution_expires_after":{"type":"integer","default":172800,"maximum":259200,"minimum":3600,"description":"Task expiration threshold in seconds, calculated from the created_at timestamp. Default is 172800 seconds, or 48 hours."}}},"id":"archived-0","model":"doubao-seedance-2-0","provider":"ByteDance","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"content":[{"text":"Generate a video of a carp leaping over the Dragon Gate.","type":"text"}],"duration":5,"generate_audio":true,"model":"doubao-seedance-2-0","ratio":"16:9","resolution":"720p","route":{"provider":"ByteDance"},"route_mode":"balanced","watermark":false},"parameterSchema":[{"name":"callback_url","label":"callback_url","description":"Callback URL for task status updates. The callback body is consistent with the query task API response.","type":"string","valueType":"string","path":"/callback_url","required":false,"omitEmpty":true},{"name":"camera_fixed","label":"camera_fixed","description":"Whether to fix the camera. Reference image scenarios and Seedance 2.0 series currently do not support this parameter.","type":"boolean","valueType":"boolean","path":"/camera_fixed","required":false,"defaultValue":false,"omitEmpty":true},{"name":"content","label":"content","description":"Input content for video generation. Supports text, image, audio, video, and draft task ID.","type":"json","valueType":"array","path":"/content","required":true},{"name":"draft","label":"draft","description":"Whether to enable draft mode. Supported only by Seedance 1.5 Pro. Draft mode uses 480p resolution, does not support return_last_frame, and does not support offline inference.","type":"boolean","valueType":"boolean","path":"/draft","required":false,"defaultValue":false,"omitEmpty":true},{"name":"duration","label":"duration","description":"Generated video duration in seconds. duration and frames are mutually optional; frames has higher priority. Seedance 2.0 supports integers in [4,15] or -1 for automatic duration.","type":"number","valueType":"integer","path":"/duration","required":false,"defaultValue":5,"omitEmpty":true},{"name":"execution_expires_after","label":"execution_expires_after","description":"Task expiration threshold in seconds, calculated from the created_at timestamp. Default is 172800 seconds, or 48 hours.","type":"number","valueType":"integer","path":"/execution_expires_after","required":false,"defaultValue":172800,"min":3600,"max":259200,"omitEmpty":true},{"name":"frames","label":"frames","description":"Generated video frame count. frames has higher priority than duration. Supported values are integers in [29,289] matching 25 + 4n. Seedance 2.0 series and Seedance 1.5 Pro currently do not support this parameter.","type":"number","valueType":"integer","path":"/frames","required":false,"min":29,"max":289,"omitEmpty":true},{"name":"generate_audio","label":"generate_audio","description":"Whether to generate synchronized audio. Supported by Seedance 2.0 series and Seedance 1.5 Pro. true generates voice, sound effects, and background music; false generates silent video.","type":"boolean","valueType":"boolean","path":"/generate_audio","required":false,"defaultValue":true,"omitEmpty":true},{"name":"model","label":"model","description":"Model ID or Endpoint ID to call.","type":"string","valueType":"string","path":"/model","required":true},{"name":"priority","label":"priority","description":"Execution priority for Seedance 2.0 series. Higher values are scheduled earlier in the queue. Not supported when service_tier is flex.","type":"number","valueType":"integer","path":"/priority","required":false,"defaultValue":0,"min":0,"max":9,"omitEmpty":true},{"name":"ratio","label":"ratio","description":"Generated video aspect ratio. Seedance 2.0 series and Seedance 1.5 Pro default to adaptive. example:16:9、4:3、1:1、3:4、9:16、21:9、adaptive","type":"string","valueType":"string","path":"/ratio","required":false,"allowedValues":["16:9","4:3","1:1","3:4","9:16","21:9","adaptive"],"omitEmpty":true},{"name":"resolution","label":"resolution","description":"Video resolution. Seedance 2.0 series and Seedance 1.5 Pro default to 720p. Seedance 1.0 Pro and Pro Fast default to 1080p. 4k is supported only by Seedance 2.0.","type":"string","valueType":"string","path":"/resolution","required":false,"allowedValues":["480p","720p","1080p","4k"],"omitEmpty":true},{"name":"return_last_frame","label":"return_last_frame","description":"Whether to return the last frame image of the generated video. The last frame can be retrieved from the query task API.","type":"boolean","valueType":"boolean","path":"/return_last_frame","required":false,"defaultValue":false,"omitEmpty":true},{"name":"safety_identifier","label":"safety_identifier","description":"Stable and unique end-user identifier for safety detection. Use an English string up to 64 characters. Avoid private user information; hashed user ID is recommended.","type":"string","valueType":"string","path":"/safety_identifier","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Random seed for controlling generation randomness. -1 means random. Seedance 2.0 series currently does not support this parameter.","type":"number","valueType":"integer","path":"/seed","required":false,"defaultValue":-1,"min":-1,"max":4294967295,"omitEmpty":true},{"name":"service_tier","label":"service_tier","description":"Service tier. default means online inference; flex means offline inference. Seedance 2.0 series only supports online inference and does not support this parameter.","type":"string","valueType":"string","path":"/service_tier","required":false,"defaultValue":"default","allowedValues":["default","flex"],"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model. Supported by Seedance 2.0 series.","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"watermark","label":"watermark","description":"Whether the generated video contains an AI-generated watermark.","type":"boolean","valueType":"boolean","path":"/watermark","required":false,"defaultValue":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"d79c96de-d24a-4152-8c18-389964a30115","routeId":"a03b3596-748b-4ff6-9971-c9e08e1f985d","model":"doubao-seedance-2-0","provider":"ByteDance","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/contents/generations/tasks","method":"POST"},{"type":"get","path":"/v1/contents/generations/tasks/{task_id}","method":"GET"}],"curlExample":"curl 'https://api.openany.si/v1/videos' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"doubao-seedance-2-0\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Generate a video of a carp leaping over the Dragon Gate.\"\n    }\n  ],\n  \"generate_audio\": true,\n  \"resolution\": \"720p\",\n  \"ratio\": \"16:9\",\n  \"duration\": 5,\n  \"watermark\": false\n}'\n\n\ncurl 'https://api.openany.si/v1/videos/YOUR_TASK_ID' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":0,"completion":3862069,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":0,"partnerCompletion":3862069,"promptSource":0,"completionSource":28000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":6,"billingType":"usage_tiered","billingUnit":"token","modalities":["video"],"outModalities":["video"],"description":"The Doubao Large Model Team has launched Seedance 2.0, a new-generation professional multimodal video creation model.","descriptionTranslations":{"ar":"أطلق Doubao Large Model Team نموذج Seedance 2.0، وهو نموذج احترافي من الجيل الجديد لإنشاء الفيديو متعدد الوسائط.","ja":"Doubao Large Model Teamは、次世代のプロ向けマルチモーダル動画制作モデルSeedance 2.0を発表しました。","zh":"豆包大模型团队推出了 Seedance 2.0，这是一款新一代专业级多模态视频创作模型。"},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":46000000,"actualPrompt":0,"completion":6344828,"inputMode":"input_without_video","label":"480p/720p input_without_video","partnerCompletion":6344828,"partnerPrompt":0,"prompt":0,"rangeStart":0,"resolution":"480p/720p"},{"actualCompletion":28000000,"actualPrompt":0,"completion":3862069,"inputMode":"input_with_video","label":"480p/720p input_with_video","partnerCompletion":3862069,"partnerPrompt":0,"prompt":0,"rangeStart":0,"resolution":"480p/720p"},{"actualCompletion":51000000,"actualPrompt":0,"completion":7034483,"inputMode":"input_without_video","label":"1080p input_without_video","partnerCompletion":7034483,"partnerPrompt":0,"prompt":0,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":31000000,"actualPrompt":0,"completion":4275862,"inputMode":"input_with_video","label":"1080p input_with_video","partnerCompletion":4275862,"partnerPrompt":0,"prompt":0,"rangeStart":0,"resolution":"1080p"}],"timePricingRules":[],"latency":316,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"doubao-seedance-2-0","operations":[],"availableModes":[]},"createdAt":"2026-06-17T00:57:42Z","updatedAt":"2026-11-02T14:37:51Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"kimi-k2.5","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"thinking":{"type":"object","description":"Kimi thinking configuration. K2.6 supports enabled or disabled; K2.7 Code only supports enabled."},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"stream_options":{"type":"object","description":"Streaming options, such as include_usage."},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"kimi-k2.5","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"kimi-k2.5","route":{"provider":"Tencent"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","description":"Streaming options, such as include_usage.","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Kimi thinking configuration. K2.6 supports enabled or disabled; K2.7 Code only supports enabled.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"cc0e9f7a7bbe0ead34787584381dd1d4","model":"kimi-k2.5","usage":{"total_tokens":102,"prompt_tokens":8,"completion_tokens":94,"prompt_tokens_details":{"cached_tokens":8},"completion_tokens_details":{"reasoning_tokens":83}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user said \"hello\". This is a simple greeting. I should respond in a friendly, helpful manner. Since there's no specific question or task yet, I'll keep it open-ended to invite further conversation.\n\nI should:\n1. Greet them back\n2. Ask how I can help them today\n3. Keep it concise and warm\n\nNo complex reasoning needed here - just a standard polite greeting response."},"finish_reason":"stop"}],"created":1793805552,"openmodels_cost":277},"responseOrigin":"user_provided_shared_example","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"fc298889-beb9-490d-9208-fca830e39cb8","routeId":"fd1c5eb3-47c4-4e36-8a4c-1829f23cca1c","model":"kimi-k2.5","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":586808,"completion":2933908,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":560135,"partnerCompletion":2800548,"partnerCacheReadPrompt":93292,"promptSource":4254360,"completionSource":21270832,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":6,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat","reasoning"],"description":"Kimi K2.5 is Kimi's most capable model to date. Its native multimodal architecture supports visual and text inputs, reasoning and non-reasoning modes, conversation, and agent tasks.","descriptionTranslations":{"ar":"Kimi K2.5 هو أقوى نماذج Kimi حتى الآن. وتدعم بنيته الأصلية متعددة الوسائط المدخلات المرئية والنصية، ونمطي الاستدلال وعدم الاستدلال، والمحادثات، ومهام الوكلاء.","ja":"Kimi K2.5は、Kimi史上最も高性能なモデルです。ネイティブマルチモーダルアーキテクチャを採用し、視覚およびテキスト入力、推論モードと非推論モード、会話、エージェントタスクに対応しています。","zh":"Kimi K2.5 是 Kimi 迄今能力最强的模型，采用原生多模态架构，支持视觉和文本输入、推理与非推理模式、对话以及智能体任务。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["content_caching","structured_outputs","tool_calling","reasoning"],"contextWindowTokens":256000,"maxOutputTokens":256000,"cacheReadPrompt":88850,"pricingTiers":[{"actualCompletion":19337120,"actualPrompt":3867600,"cacheReadPrompt":88850,"completion":2933908,"label":"default","partnerCacheReadPrompt":93292,"partnerCompletion":2800548,"partnerPrompt":560135,"prompt":586808,"rangeStart":0}],"timePricingRules":[],"latency":4400,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kimi-k2.5","operations":[],"availableModes":[]},"createdAt":"2026-07-06T09:09:27Z","updatedAt":"2026-09-15T05:49:53Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"kimi-k2.5","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"thinking":{"type":"object","description":"Kimi thinking configuration. K2.6 supports enabled or disabled; K2.7 Code only supports enabled."},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"stream_options":{"type":"object","description":"Streaming options, such as include_usage."},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"kimi-k2.5","provider":"Tencent-Intl","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"kimi-k2.5","route":{"provider":"Tencent-Intl"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","description":"Streaming options, such as include_usage.","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Kimi thinking configuration. K2.6 supports enabled or disabled; K2.7 Code only supports enabled.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"cc0e9f7a7bbe0ead34787584381dd1d4","model":"kimi-k2.5","usage":{"total_tokens":102,"prompt_tokens":8,"completion_tokens":94,"prompt_tokens_details":{"cached_tokens":8},"completion_tokens_details":{"reasoning_tokens":83}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user said \"hello\". This is a simple greeting. I should respond in a friendly, helpful manner. Since there's no specific question or task yet, I'll keep it open-ended to invite further conversation.\n\nI should:\n1. Greet them back\n2. Ask how I can help them today\n3. Keep it concise and warm\n\nNo complex reasoning needed here - just a standard polite greeting response."},"finish_reason":"stop"}],"created":1793805552,"openmodels_cost":277},"responseOrigin":"user_provided_shared_example","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"d2130868-1ead-4571-8d79-e6f1675f45ca","routeId":"0f1ebb8f-47af-49f7-b7f5-4816581f7995","model":"kimi-k2.5","provider":"Tencent-Intl","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":586808,"completion":2933908,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":560135,"partnerCompletion":2800548,"partnerCacheReadPrompt":93292,"promptSource":4254360,"completionSource":21270832,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":6,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat","reasoning"],"description":"Kimi K2.5 is Kimi's most capable model to date. Its native multimodal architecture supports visual and text inputs, reasoning and non-reasoning modes, conversation, and agent tasks.","descriptionTranslations":{"ar":"Kimi K2.5 هو أقوى نماذج Kimi حتى الآن. وتدعم بنيته متعددة الوسائط أصيلة البنية المدخلات المرئية والنصية، ونمطي الاستدلال وعدم الاستدلال، والمحادثات، ومهام الوكلاء.","ja":"Kimi K2.5は、Kimiがこれまでに提供した中で最も高性能なモデルです。ネイティブマルチモーダルアーキテクチャにより、画像とテキストの入力、推論モードと非推論モード、対話、エージェントタスクに対応します。","zh":"Kimi K2.5 是 Kimi 迄今能力最强的模型。其原生多模态架构支持视觉和文本输入、推理与非推理模式，以及对话和智能体任务。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["content_caching","structured_outputs","tool_calling","reasoning"],"contextWindowTokens":256000,"maxOutputTokens":256000,"cacheReadPrompt":88850,"pricingTiers":[{"actualCompletion":19337120,"actualPrompt":3867600,"cacheReadPrompt":88850,"completion":2933908,"label":"default","partnerCacheReadPrompt":93292,"partnerCompletion":2800548,"partnerPrompt":560135,"prompt":586808,"rangeStart":0}],"timePricingRules":[],"latency":1756,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kimi-k2.5","operations":[],"availableModes":[]},"createdAt":"2026-07-06T08:47:41Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/glm-5-turbo/","upstreamModel":"glm-5-turbo","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"user_id":{"type":"string","description":"End-user identifier associated with the request."},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"thinking":{"type":"object","description":"Thinking configuration object for GLM reasoning behavior. eg: {\"type\": \"disabled\" }"},"do_sample":{"type":"boolean","default":true,"description":"Whether to enable sampling. When true, the model uses sampling-based generation."},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"request_id":{"type":"string","description":"Client-provided request identifier for tracing and idempotency."},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"tool_stream":{"type":"boolean","default":false,"description":"Whether to enable streaming output for tool calls."},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"reasoning_effort":{"enum":["max","xhigh","high","medium","low","minimal","none"],"type":"string","description":"Controls the reasoning effort level used by the model."},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"glm-5-turbo","provider":"Tencent","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"glm-5-turbo","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"do_sample","label":"do_sample","description":"Whether to enable sampling. When true, the model uses sampling-based generation.","type":"boolean","valueType":"boolean","path":"/do_sample","required":false,"defaultValue":true,"omitEmpty":true},{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Controls the reasoning effort level used by the model.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["max","xhigh","high","medium","low","minimal","none"],"omitEmpty":true},{"name":"request_id","label":"request_id","description":"Client-provided request identifier for tracing and idempotency.","type":"string","valueType":"string","path":"/request_id","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking configuration object for GLM reasoning behavior. eg: {\"type\": \"disabled\" }","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","description":"Whether to enable streaming output for tool calls.","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","description":"End-user identifier associated with the request.","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/glm-5-turbo/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"29777af0-b341-4cb1-96aa-61bf1039d6f1","routeId":"cbfea91e-720a-482e-975c-b1a7dbe1e52b","model":"glm-5-turbo","provider":"Tencent","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/favicon.ico","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5-turbo\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":973568,"completion":3245006,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":929315,"partnerCompletion":3097506,"partnerCacheReadPrompt":185863,"promptSource":7058370,"completionSource":23526294,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":7,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat","coding","reasoning"],"description":"GLM-5-Turbo is deeply optimized for real-world long-chain agent tasks, with major gains in complex instruction decomposition, tool calling, scheduled continuous execution, and long-task stability.","descriptionTranslations":{"ar":"حُسِّن GLM-5-Turbo بعمق لمهام الوكلاء طويلة السلسلة في الواقع، مع تحسينات كبيرة في تفكيك التعليمات المعقدة، واستدعاء الأدوات، والتنفيذ المستمر المجدول، واستقرار المهام طويلة الأمد.","ja":"GLM-5-Turboは、実環境における長い処理チェーンを伴うエージェントタスク向けに徹底的に最適化されており、複雑な指示の分解、ツール呼び出し、スケジュールされた継続実行、長期タスクの安定性が大幅に向上しています。","zh":"GLM-5-Turbo 针对真实场景中的长链路智能体任务进行了深度优化，在复杂指令拆解、工具调用、定时持续执行和长任务稳定性方面均有显著提升。"},"modelReleaseDate":"2026-07-06","supportedFeatures":["content_caching","structured_outputs","tool_calling","reasoning"],"contextWindowTokens":200000,"maxOutputTokens":128000,"cacheReadPrompt":177012,"pricingTiers":[{"actualCompletion":21387540,"actualPrompt":6416700,"cacheReadPrompt":177012,"completion":3245006,"label":"default","partnerCacheReadPrompt":185863,"partnerCompletion":3097506,"partnerPrompt":929315,"prompt":973568,"rangeStart":0}],"timePricingRules":[],"latency":814,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5-turbo","operations":[],"availableModes":[]},"createdAt":"2026-07-06T09:09:27Z","updatedAt":"2026-11-04T00:18:54Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"custom-model-md-v7","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","prompt"],"properties":{"--bs":{"enum":[1,2,4],"type":"integer","default":4,"maximum":4,"minimum":1,"description":"Video batch size parameter. Controls the number of videos generated from each video prompt. Supported values are 1, 2, and 4. Default is 4."},"--iw":{"type":"number","default":1,"maximum":3,"minimum":0,"description":"Image weight parameter. Controls how strongly image prompts affect the final image. V8.1 and V7 support 0 to 3;"},"--no":{"type":"string","description":"Negative prompt parameter. Tells Midjourney what should not appear in the image. Multiple items can be separated with commas."},"--sv":{"enum":[1,2,3,4,5,6],"type":"integer","default":6,"maximum":6,"minimum":1,"description":"Style reference version parameter. V7 supports six style reference versions and defaults to 6. V6 supports 1, 2, 3, and 4, with 4 as default."},"--sw":{"type":"integer","default":100,"maximum":1000,"minimum":0,"description":"Style weight parameter. Controls the strength of style references. Supported range is 0 to 1000."},"--end":{"type":"string","description":"Video end-frame parameter. Provide an image URL to use as the ending frame."},"--raw":{"type":"boolean","default":false,"description":"Raw mode parameter. Reduces Midjourney's default styling. Compatible with versions 5.1 and later."},"model":{"type":"string","description":"Model name."},"--fast":{"type":"boolean","default":false,"description":"Fast mode parameter. Uses Fast GPU time."},"--loop":{"type":"boolean","default":false,"description":"Video loop parameter. Reuses the starting frame as the ending frame to create a looping video."},"--oref":{"type":"array","items":{"type":"string"},"description":"Omni reference parameter. Use image URLs. Compatible with V7 only; Only one Omni Reference image is supported."},"--seed":{"type":"integer","maximum":4294967295,"minimum":0,"description":"Seed parameter. Uses a whole number from 0 to 4294967295."},"--sref":{"type":"array","items":{"type":"string"},"description":"Style reference parameter. Use image URLs, style reference codes, or random. Multiple references are supported."},"--tile":{"type":"boolean","default":false,"description":"Tile parameter. Creates seamless repeating patterns."},"prompt":{"type":"string","description":"Text prompt for image generation. Aspect ratio, quality, style, and other Midjourney-style parameters should be defined inside the prompt, such as --ar 16:9, --q 2, and --style raw."},"--chaos":{"type":"integer","default":0,"maximum":100,"minimum":0,"description":"Chaos or variety parameter. Alias: --c. Higher values produce more varied results. Supported range is 0 to 100."},"--draft":{"type":"boolean","default":false,"description":"Draft parameter. Generates draft images at reduced GPU cost. Compatible with V7, V8.1, with different behavior by version."},"--relax":{"type":"boolean","default":false,"description":"Relax mode parameter. Available depending on subscription plan. Repeat, permutations, HD videos, and some legacy upscale behavior are not available in Relax mode."},"--video":{"type":"boolean","default":false,"description":"Video generation parameter. Video generations are compatible only with video-specific parameters: --motion low, --motion high, --raw, --loop, --end, and --bs."},"--weird":{"type":"integer","default":0,"maximum":3000,"minimum":0,"description":"Weird parameter. Alias: --w. Adds unusual or experimental qualities. Supported range is 0 to 3000."},"--aspect":{"type":"string","default":"1:1","description":"Aspect ratio parameter. Alias: --ar. Default is 1:1. Common values include 1:1, 4:3, 2:3, 16:9, and 9:16. Custom integer ratios are supported; decimals are not supported. Current versions support up to 14:1, or 4:1 for HD images."},"--motion":{"enum":["low","high"],"type":"string","default":"low","description":"Video motion parameter. Use low or high. Low is the default and produces subtler motion; high produces larger camera or character motion."},"--public":{"type":"boolean","default":false,"description":"Public mode parameter. Makes creations public on the Midjourney website."},"--repeat":{"type":"integer","maximum":40,"minimum":2,"description":"Repeat parameter. Alias: --r. Generates multiple image sets from one prompt. Basic plan supports 2-4, Standard supports 2-10, Pro and Mega support 2-40. Works only in Fast and Turbo modes."},"--profile":{"type":"string","description":"Personalization profile parameter. Alias: --p. Use without a value to apply the default profile, or provide a profile ID/code."},"--stealth":{"type":"boolean","default":false,"description":"Stealth mode parameter. Makes creations private on the Midjourney website when available for the account plan. Available only to Pro and Mega plans."},"--stylize":{"type":"integer","default":100,"maximum":1000,"minimum":0,"description":"Stylize parameter. Alias: --s. Controls how strongly Midjourney applies its artistic style. Supported range is 0 to 1000."}}},"id":"archived-0","model":"Midjourney-v7","provider":"Tencent","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"Midjourney-v7","prompt":"An elegant commercial product photograph of a transparent glass tumbler with ice and lemon slices.  --ar 16:9","route":{"provider":"Tencent"},"route_mode":"balanced"},"parameterSchema":[{"name":"--aspect","label":"--aspect","description":"Aspect ratio parameter. Alias: --ar. Default is 1:1. Common values include 1:1, 4:3, 2:3, 16:9, and 9:16. Custom integer ratios are supported; decimals are not supported. Current versions support up to 14:1, or 4:1 for HD images.","type":"string","valueType":"string","path":"/--aspect","required":false,"defaultValue":"1:1","omitEmpty":true},{"name":"--bs","label":"--bs","description":"Video batch size parameter. Controls the number of videos generated from each video prompt. Supported values are 1, 2, and 4. Default is 4.","type":"number","valueType":"integer","path":"/--bs","required":false,"defaultValue":4,"min":1,"max":4,"allowedValues":[1,2,4],"omitEmpty":true},{"name":"--chaos","label":"--chaos","description":"Chaos or variety parameter. Alias: --c. Higher values produce more varied results. Supported range is 0 to 100.","type":"number","valueType":"integer","path":"/--chaos","required":false,"defaultValue":0,"min":0,"max":100,"omitEmpty":true},{"name":"--draft","label":"--draft","description":"Draft parameter. Generates draft images at reduced GPU cost. Compatible with V7, V8.1, with different behavior by version.","type":"boolean","valueType":"boolean","path":"/--draft","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--end","label":"--end","description":"Video end-frame parameter. Provide an image URL to use as the ending frame.","type":"string","valueType":"string","path":"/--end","required":false,"omitEmpty":true},{"name":"--fast","label":"--fast","description":"Fast mode parameter. Uses Fast GPU time.","type":"boolean","valueType":"boolean","path":"/--fast","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--iw","label":"--iw","description":"Image weight parameter. Controls how strongly image prompts affect the final image. V8.1 and V7 support 0 to 3;","type":"number","valueType":"number","path":"/--iw","required":false,"defaultValue":1,"min":0,"max":3,"omitEmpty":true},{"name":"--loop","label":"--loop","description":"Video loop parameter. Reuses the starting frame as the ending frame to create a looping video.","type":"boolean","valueType":"boolean","path":"/--loop","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--motion","label":"--motion","description":"Video motion parameter. Use low or high. Low is the default and produces subtler motion; high produces larger camera or character motion.","type":"string","valueType":"string","path":"/--motion","required":false,"defaultValue":"low","allowedValues":["low","high"],"omitEmpty":true},{"name":"--no","label":"--no","description":"Negative prompt parameter. Tells Midjourney what should not appear in the image. Multiple items can be separated with commas.","type":"string","valueType":"string","path":"/--no","required":false,"omitEmpty":true},{"name":"--oref","label":"--oref","description":"Omni reference parameter. Use image URLs. Compatible with V7 only; Only one Omni Reference image is supported.","type":"json","valueType":"array","path":"/--oref","required":false,"omitEmpty":true},{"name":"--profile","label":"--profile","description":"Personalization profile parameter. Alias: --p. Use without a value to apply the default profile, or provide a profile ID/code.","type":"string","valueType":"string","path":"/--profile","required":false,"omitEmpty":true},{"name":"--public","label":"--public","description":"Public mode parameter. Makes creations public on the Midjourney website.","type":"boolean","valueType":"boolean","path":"/--public","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--raw","label":"--raw","description":"Raw mode parameter. Reduces Midjourney's default styling. Compatible with versions 5.1 and later.","type":"boolean","valueType":"boolean","path":"/--raw","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--relax","label":"--relax","description":"Relax mode parameter. Available depending on subscription plan. Repeat, permutations, HD videos, and some legacy upscale behavior are not available in Relax mode.","type":"boolean","valueType":"boolean","path":"/--relax","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--repeat","label":"--repeat","description":"Repeat parameter. Alias: --r. Generates multiple image sets from one prompt. Basic plan supports 2-4, Standard supports 2-10, Pro and Mega support 2-40. Works only in Fast and Turbo modes.","type":"number","valueType":"integer","path":"/--repeat","required":false,"min":2,"max":40,"omitEmpty":true},{"name":"--seed","label":"--seed","description":"Seed parameter. Uses a whole number from 0 to 4294967295.","type":"number","valueType":"integer","path":"/--seed","required":false,"min":0,"max":4294967295,"omitEmpty":true},{"name":"--sref","label":"--sref","description":"Style reference parameter. Use image URLs, style reference codes, or random. Multiple references are supported.","type":"json","valueType":"array","path":"/--sref","required":false,"omitEmpty":true},{"name":"--stealth","label":"--stealth","description":"Stealth mode parameter. Makes creations private on the Midjourney website when available for the account plan. Available only to Pro and Mega plans.","type":"boolean","valueType":"boolean","path":"/--stealth","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--stylize","label":"--stylize","description":"Stylize parameter. Alias: --s. Controls how strongly Midjourney applies its artistic style. Supported range is 0 to 1000.","type":"number","valueType":"integer","path":"/--stylize","required":false,"defaultValue":100,"min":0,"max":1000,"omitEmpty":true},{"name":"--sv","label":"--sv","description":"Style reference version parameter. V7 supports six style reference versions and defaults to 6. V6 supports 1, 2, 3, and 4, with 4 as default.","type":"number","valueType":"integer","path":"/--sv","required":false,"defaultValue":6,"min":1,"max":6,"allowedValues":[1,2,3,4,5,6],"omitEmpty":true},{"name":"--sw","label":"--sw","description":"Style weight parameter. Controls the strength of style references. Supported range is 0 to 1000.","type":"number","valueType":"integer","path":"/--sw","required":false,"defaultValue":100,"min":0,"max":1000,"omitEmpty":true},{"name":"--tile","label":"--tile","description":"Tile parameter. Creates seamless repeating patterns.","type":"boolean","valueType":"boolean","path":"/--tile","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--video","label":"--video","description":"Video generation parameter. Video generations are compatible only with video-specific parameters: --motion low, --motion high, --raw, --loop, --end, and --bs.","type":"boolean","valueType":"boolean","path":"/--video","required":false,"defaultValue":false,"omitEmpty":true},{"name":"--weird","label":"--weird","description":"Weird parameter. Alias: --w. Adds unusual or experimental qualities. Supported range is 0 to 3000.","type":"number","valueType":"integer","path":"/--weird","required":false,"defaultValue":0,"min":0,"max":3000,"omitEmpty":true},{"name":"model","label":"model","description":"Model name.","type":"string","valueType":"string","path":"/model","required":true},{"name":"prompt","label":"prompt","description":"Text prompt for image generation. Aspect ratio, quality, style, and other Midjourney-style parameters should be defined inside the prompt, such as --ar 16:9, --q 2, and --style raw.","type":"string","valueType":"string","path":"/prompt","required":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_modelprice","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"54625209-7c75-46e6-a015-73352a7a2d05","routeId":"f9194860-c4f4-420b-96d1-dde376f5212f","model":"Midjourney-v7","provider":"Tencent","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://cloudcache.tencent-cloud.com/qcloud/app/resource/ac/favicon.ico","upstreamPath":[{"type":"generations","path":"/v1/wand/md-image/generation","method":"POST"},{"type":"get","path":"/v1/wand/md-image/tasks/{task_id}","method":"GET"}],"curlExample":"curl https://api.openany.si/v1/images \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -d '{\n  \"model\": \"Midjourney-v7\",\n  \"route\": {\n    \"provider\": \"Tencent\"\n  },\n  \"route_mode\": \"balanced\",\n  \"prompt\": \"An elegant commercial product photograph of a transparent glass tumbler with ice and lemon slices.  --ar 16:9\"\n}'\n// Text prompt for image generation. Aspect ratio, quality, style, and other Midjourney-style parameters should be defined inside the prompt, such as --ar 16:9, --q 2, and --style raw.\n\n\ncurl https://api.openany.si/v1/images/{task_id} \\\n--header \"Authorization: Bearer $OPENANY_API_KEY\" \\\n--header 'Content-Type: application/json'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":0,"completion":1379310,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":0,"partnerCompletion":1448276,"promptSource":0,"completionSource":10000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":10,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["image"],"description":"","descriptionTranslations":{},"supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":7,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"Midjourney-v7","operations":[],"availableModes":[]},"createdAt":"2026-09-12T14:33:08Z","updatedAt":"2026-10-28T07:46:54Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"MiniMax/MiniMax-M2.7","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"MiniMax-M2.7","provider":"MiniMax","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"MiniMax-M2.7","route":{"provider":"MiniMax"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"0c4780e1-9046-4b2b-8b38-0e8c590dc844","model":"MiniMax-M2.7","usage":{"total_tokens":79,"prompt_tokens":42,"completion_tokens":37,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":28}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user has simply said \"hello\" - this is a greeting. I should respond in a friendly and welcoming manner."},"finish_reason":"stop"}],"created":1784615368,"openmodels_cost":50},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"4d2dd823-3201-44e0-946c-417cb9d6f53d","routeId":"20f47c51-d04f-4406-a3eb-7daa8bca8ad0","model":"MiniMax-M2.7","provider":"MiniMax","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/minimax-color.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":289637,"completion":1158546,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":282848,"partnerCompletion":1131393,"partnerCacheCreationPrompt":353568,"partnerCacheReadPrompt":56570,"promptSource":2099866,"completionSource":8399462,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":30,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat","reasoning","coding"],"description":"MiniMax/MiniMax-M2.7 is a MiniMax chat and reasoning model designed for agentic workflows and multi-turn conversations.","descriptionTranslations":{"ar":"MiniMax/MiniMax-M2.7 هو نموذج للمحادثة والاستدلال من MiniMax، صُمم لسير العمل القائم على الوكلاء والمحادثات متعددة الجولات.","ja":"MiniMax/MiniMax-M2.7はMiniMaxが提供するチャット・推論モデルで、エージェント型ワークフローとマルチターン会話向けに設計されています。","zh":"MiniMax/MiniMax-M2.7 是 MiniMax 推出的聊天与推理模型，适用于智能体工作流和多轮对话。"},"supportedFeatures":[],"contextWindowTokens":2000000,"maxOutputTokens":131000,"cacheCreationPrompt":336731,"cacheReadPrompt":53876,"pricingTiers":[],"timePricingRules":[],"latency":3746,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"MiniMax-M2.7","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-07-24T06:30:19Z"},{"officialPricing":{"unit":"token","currency":"CNY","quantity":1000000,"checkedAt":"2026-11-02","publisher":"MiniMax","inputPrice":"2.1","outputPrice":"8.4"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"MiniMax/MiniMax-M2.5","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"anyOf":[{"enum":["none","auto","required"],"type":"string"},{"type":"object"}],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"MiniMax-M2.5","provider":"MiniMax","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"MiniMax-M2.5","route":{"provider":"MiniMax"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"0c4780e1-9046-4b2b-8b38-0e8c590dc844","model":"MiniMax-M2.5","usage":{"total_tokens":79,"prompt_tokens":42,"completion_tokens":37,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":28}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user has simply said \"hello\" - this is a greeting. I should respond in a friendly and welcoming manner."},"finish_reason":"stop"}],"created":1784615368,"openmodels_cost":50},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"de4b6da5-ed59-4101-b439-87392f51a0bb","routeId":"51e7f4d2-2239-4c74-ac60-15356a62497e","model":"MiniMax-M2.5","provider":"MiniMax","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/minimax-color.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":289637,"completion":1158546,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":282848,"partnerCompletion":1131393,"partnerCacheCreationPrompt":353568,"partnerCacheReadPrompt":28285,"promptSource":2099866,"completionSource":8399462,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":40,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat","coding","reasoning"],"description":"MiniMax/MiniMax-M2.5 is a MiniMax chat and reasoning model designed for agentic workflows, software engineering and coding, multi-turn conversations, and long-context document analysis.","descriptionTranslations":{"ar":"MiniMax/MiniMax-M2.5 هو نموذج للمحادثة والاستدلال من MiniMax، صُمم لسير العمل القائم على الوكلاء وهندسة البرمجيات والبرمجة والمحادثات متعددة الجولات وتحليل المستندات ذات السياق الطويل.","ja":"MiniMax/MiniMax-M2.5はMiniMaxが提供するチャット・推論モデルで、エージェント型ワークフロー、ソフトウェアエンジニアリングとコーディング、マルチターン会話、長いコンテキストを用いた文書分析向けに設計されています。","zh":"MiniMax/MiniMax-M2.5 是 MiniMax 推出的聊天与推理模型，适用于智能体工作流、软件工程与编程、多轮对话以及长上下文文档分析。"},"supportedFeatures":[],"contextWindowTokens":200000,"maxOutputTokens":128000,"cacheCreationPrompt":336731,"cacheReadPrompt":26938,"pricingTiers":[],"timePricingRules":[],"latency":1414,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"MiniMax-M2.5","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T07:02:27Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"≤ 512k","rangeEnd":512000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"0.30","outputPrice":"1.20"},{"unit":"token","match":{"kind":"tier","label":"\u003e 512k","rangeEnd":null,"inputMode":"","rangeStart":512000,"resolution":""},"quantity":1000000,"inputPrice":"0.60","outputPrice":"2.40"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"MinMax"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","upstreamModel":"MiniMax/MiniMax-M3","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"model":{"type":"string","description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","parameters"],"properties":{"name":{"type":"string"},"parameters":{"type":"object"}}}}}},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"enum":["text","image_url","video_url"],"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"detail":{"enum":["low","default","high"],"type":"string"},"max_long_side_pixel":{"type":"integer","minimum":1}}},"video_url":{"type":"object","required":["url"],"properties":{"fps":{"type":"number","maximum":5,"minimum":0.2},"url":{"type":"string"},"detail":{"enum":["low","default","high"],"type":"string"},"max_long_side_pixel":{"type":"integer","minimum":1}}}}}}]},"tool_calls":{"type":"array","items":{"type":"object","required":["id","type","function"],"properties":{"id":{"type":"string"},"type":{"enum":["function"],"type":"string"},"function":{"type":"object","required":["name","arguments"],"properties":{"name":{"type":"string"},"arguments":{"type":"string"}}}}}},"tool_call_id":{"type":"string"}}},"description":"Messages in conversation order."},"thinking":{"type":"object","required":[],"properties":{"type":{"enum":["disabled","adaptive"],"type":"string"}},"description":"Thinking mode for the model."},"max_tokens":{"type":"integer","minimum":1,"deprecated":true},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"service_tier":{"enum":["standard","priority"],"type":"string"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"reasoning_split":{"type":"boolean"},"max_completion_tokens":{"type":"integer","maximum":524288,"minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"MiniMax-M3","provider":"MiniMax","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"MiniMax-M3","route":{"provider":"MiniMax"}},"parameterSchema":[{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"max":524288,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_split","label":"reasoning_split","type":"boolean","valueType":"boolean","path":"/reasoning_split","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"service_tier","label":"service_tier","type":"string","valueType":"string","path":"/service_tier","required":false,"allowedValues":["standard","priority"],"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking mode for the model.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true}],"responseBody":{"id":"0c4780e1-9046-4b2b-8b38-0e8c590dc844","model":"MiniMax-M3","usage":{"total_tokens":79,"prompt_tokens":42,"completion_tokens":37,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":28}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user has simply said \"hello\" - this is a greeting. I should respond in a friendly and welcoming manner."},"finish_reason":"stop"}],"created":1784615368,"openmodels_cost":50},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"user_confirmed_default","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"e880beaf-2c26-46aa-9ef7-f8e5ad8c0721","routeId":"44b53846-f5bc-44c0-9263-bcef34400cde","model":"MiniMax-M3","provider":"MiniMax","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/minimax-color.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":3,"prompt":277461,"completion":1109843,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":282848,"partnerCompletion":1131393,"partnerCacheReadPrompt":56570,"promptSource":2011590,"completionSource":8046360,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":50,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat"],"outModalities":["chat","coding","reasoning"],"description":"MiniMax/MiniMax-M3 is a MiniMax chat and reasoning model designed for agentic workflows, software engineering and coding, multi-turn conversations, and long-context document analysis.","descriptionTranslations":{"ar":"MiniMax/MiniMax-M3 هو نموذج للمحادثة والاستدلال من MiniMax، صُمم لسير العمل القائم على الوكلاء وهندسة البرمجيات والبرمجة والمحادثات متعددة الجولات وتحليل المستندات ذات السياق الطويل.","ja":"MiniMax/MiniMax-M3はMiniMaxが提供するチャット・推論モデルで、エージェント型ワークフロー、ソフトウェアエンジニアリングとコーディング、マルチターン会話、長いコンテキストを用いた文書分析向けに設計されています。視覚入力に対応しています。","zh":"MiniMax/MiniMax-M3 是 MiniMax 推出的聊天与推理模型，适用于智能体工作流、软件工程与编程、多轮对话以及长上下文文档分析，并支持视觉输入。"},"supportedFeatures":["vision"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheReadPrompt":53876,"pricingTiers":[{"actualCompletion":7812000,"actualPrompt":1953000,"cacheReadPrompt":53876,"completion":1109843,"label":"≤ 512k","partnerCacheReadPrompt":56570,"partnerCompletion":1131393,"partnerPrompt":282848,"prompt":277461,"rangeEnd":512000,"rangeStart":0},{"actualCompletion":15624000,"actualPrompt":3906000,"cacheReadPrompt":107752,"completion":2219686,"label":"\u003e 512k","partnerCacheReadPrompt":113139,"partnerCompletion":2262786,"partnerPrompt":565697,"prompt":554921,"rangeStart":512000}],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"MiniMax-M3","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T12:20:27Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"≤256k","rangeEnd":256000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"0.285714","outputPrice":"1.142857"},{"unit":"token","match":{"kind":"tier","label":"\u003e256k","rangeEnd":null,"inputMode":"","rangeStart":256000,"resolution":""},"quantity":1000000,"inputPrice":"0.857143","outputPrice":"3.428571"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/qwen3.7-plus/","upstreamModel":"qwen3.7-plus","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"seed":{"type":"integer","maximum":2147483647,"minimum":0},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"integer"}}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_k":{"type":"integer","minimum":0},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"max_tokens":{"type":"integer","minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","minimum":0,"exclusiveMaximum":2},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"tool_stream":{"type":"boolean"},"enable_search":{"type":"boolean"},"search_options":{"type":"object","properties":{"forced_search":{"type":"boolean"},"search_strategy":{"type":"string"},"enable_search_extension":{"type":"boolean"}}},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"enable_thinking":{"type":"boolean"},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"thinking_budget":{"type":"integer"},"presence_penalty":{"type":"number","maximum":2,"minimum":-2},"preserve_thinking":{"type":"boolean"},"repetition_penalty":{"type":"number","exclusiveMinimum":0},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"qwen3.7-plus","provider":"Alibaba","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.7-plus","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"enable_search","label":"enable_search","type":"boolean","valueType":"boolean","path":"/enable_search","required":false,"omitEmpty":true},{"name":"enable_thinking","label":"enable_thinking","type":"boolean","valueType":"boolean","path":"/enable_thinking","required":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","type":"number","valueType":"number","path":"/presence_penalty","required":false,"min":-2,"max":2,"omitEmpty":true},{"name":"preserve_thinking","label":"preserve_thinking","type":"boolean","valueType":"boolean","path":"/preserve_thinking","required":false,"omitEmpty":true},{"name":"repetition_penalty","label":"repetition_penalty","type":"number","valueType":"number","path":"/repetition_penalty","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"search_options","label":"search_options","type":"json","valueType":"object","path":"/search_options","required":false,"omitEmpty":true},{"name":"seed","label":"seed","type":"number","valueType":"integer","path":"/seed","required":false,"min":0,"max":2147483647,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"omitEmpty":true},{"name":"thinking_budget","label":"thinking_budget","type":"number","valueType":"integer","path":"/thinking_budget","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_k","label":"top_k","type":"number","valueType":"integer","path":"/top_k","required":false,"min":0,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-84e972d1-f51c-9dcc-87fd-8e618b3149ce","model":"qwen3.7-plus","usage":{"total_tokens":240,"prompt_tokens":11,"completion_tokens":229,"prompt_tokens_details":{"text_tokens":11,"cached_tokens":0},"completion_tokens_details":{"text_tokens":229,"reasoning_tokens":215}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"Thinking Process:\n\n1.  **Analyze the input:** The user said \"hello\".\n2.  **Identify the intent:** This is a standard greeting.\n3.  **Determine the appropriate response:** A polite, welcoming, and helpful greeting is required.\n4.  **Draft potential responses:**\n    *   \"Hello! How can I help you today?\"\n    *   \"Hi there! What's on your mind?\"\n    *   \"Greetings! How may I assist you?\"\n5.  **Select the best response:** A friendly, open-ended question is usually best to encourage interaction.\n6.  **Final Output Generation:** \"Hello! How can I help you today?\" (or similar).\n\n*Self-Correction during generation:* Keep it simple and direct.\n\n*Final Output:* \"Hello! How can I help you today?\" or \"Hi! How can I assist you?\"\n\nLet's go with a standard, friendly greeting.\n\n\"Hello! How can I help you today?\""},"finish_reason":"stop"}],"created":1784603489,"openmodels_cost":273},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/qwen3.7-plus/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"2cbdc099-2d47-498e-8833-7cc07c4353cb","routeId":"99683ff8-1212-4e9a-ae86-80a1cfd3f2ab","model":"qwen3.7-plus","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":224138,"completion":896552,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":188276,"partnerCompletion":753103,"partnerCacheCreationPrompt":235345,"partnerCacheReadPrompt":37655,"promptSource":1625000,"completionSource":6500000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":90,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat","reasoning","coding"],"outModalities":["chat","reasoning","coding"],"description":"qwen3.7-plus is an Alibaba chat and reasoning model designed for agentic workflows, software engineering and coding, multi-turn conversations, and complex reasoning and analysis.","descriptionTranslations":{"ar":"qwen3.7-plus هو نموذج للمحادثة والاستدلال من Alibaba، صُمم لسير العمل القائم على الوكلاء وهندسة البرمجيات والبرمجة والمحادثات متعددة الجولات والاستدلال والتحليل المعقدين.","ja":"qwen3.7-plusはAlibabaが提供するチャット・推論モデルで、エージェント型ワークフロー、ソフトウェアエンジニアリングとコーディング、マルチターン会話、複雑な推論と分析向けに設計されています。ツール呼び出し、推論、コンテンツキャッシュ、視覚入力に対応し、1,000,000 tokenのコンテキストウィンドウと最大64,000 tokenの出力をサポートします。","zh":"qwen3.7-plus 是 Alibaba 推出的聊天与推理模型，适用于智能体工作流、软件工程与编程、多轮对话以及复杂推理和分析。它支持工具调用、推理、内容缓存和视觉输入，拥有 1,000,000 token 的上下文窗口，最多可输出 64,000 token。NeoLink 标注的模型发布日期为 2026-05-25。"},"modelReleaseDate":"2026-05-25","supportedFeatures":["tool_calling","reasoning","content_caching","vision"],"contextWindowTokens":1000000,"maxOutputTokens":64000,"cacheCreationPrompt":224138,"cacheReadPrompt":35862,"pricingTiers":[{"actualCompletion":5200000,"actualPrompt":1300000,"cacheCreationPrompt":224138,"cacheReadPrompt":35862,"completion":896552,"label":"≤256k","partnerCacheCreationPrompt":235345,"partnerCacheReadPrompt":37655,"partnerCompletion":753103,"partnerPrompt":188276,"prompt":224138,"rangeEnd":256000,"rangeStart":0},{"actualCompletion":15600000,"actualPrompt":3900000,"cacheCreationPrompt":672414,"cacheReadPrompt":107586,"completion":2689655,"label":"\u003e256k","partnerCacheCreationPrompt":706034,"partnerCacheReadPrompt":112966,"partnerCompletion":2259310,"partnerPrompt":564828,"prompt":672414,"rangeStart":256000}],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.7-plus","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T10:00:27Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba","inputPrice":"1.714286","outputPrice":"5.142857"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/qwen3.7-max/","upstreamModel":"qwen3.7-max","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"seed":{"type":"integer","maximum":2147483647,"minimum":0},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"integer"}}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_k":{"type":"integer","minimum":0},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"max_tokens":{"type":"integer","minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","minimum":0,"exclusiveMaximum":2},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"tool_stream":{"type":"boolean"},"enable_search":{"type":"boolean"},"search_options":{"type":"object","properties":{"forced_search":{"type":"boolean"},"search_strategy":{"type":"string"},"enable_search_extension":{"type":"boolean"}}},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"enable_thinking":{"type":"boolean"},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"thinking_budget":{"type":"integer"},"presence_penalty":{"type":"number","maximum":2,"minimum":-2},"preserve_thinking":{"type":"boolean"},"repetition_penalty":{"type":"number","exclusiveMinimum":0},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"qwen3.7-max","provider":"Alibaba","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.7-max","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"enable_search","label":"enable_search","type":"boolean","valueType":"boolean","path":"/enable_search","required":false,"omitEmpty":true},{"name":"enable_thinking","label":"enable_thinking","type":"boolean","valueType":"boolean","path":"/enable_thinking","required":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","type":"number","valueType":"number","path":"/presence_penalty","required":false,"min":-2,"max":2,"omitEmpty":true},{"name":"preserve_thinking","label":"preserve_thinking","type":"boolean","valueType":"boolean","path":"/preserve_thinking","required":false,"omitEmpty":true},{"name":"repetition_penalty","label":"repetition_penalty","type":"number","valueType":"number","path":"/repetition_penalty","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"search_options","label":"search_options","type":"json","valueType":"object","path":"/search_options","required":false,"omitEmpty":true},{"name":"seed","label":"seed","type":"number","valueType":"integer","path":"/seed","required":false,"min":0,"max":2147483647,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"omitEmpty":true},{"name":"thinking_budget","label":"thinking_budget","type":"number","valueType":"integer","path":"/thinking_budget","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_k","label":"top_k","type":"number","valueType":"integer","path":"/top_k","required":false,"min":0,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-4979aa27-4ad3-98bd-81a7-05edfd3ca792","model":"qwen3.7-max","usage":{"total_tokens":256,"prompt_tokens":11,"completion_tokens":245,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":231}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"Thinking Process:\n\n1.  **Analyze the input:** The user said \"hello\".\n2.  **Identify the intent:** This is a standard greeting.\n3.  **Determine the appropriate response:**\n    *   Acknowledge the greeting.\n    *   Offer assistance.\n    *   Keep it polite and open-ended.\n4.  **Draft potential responses:**\n    *   \"Hello! How can I help you today?\"\n    *   \"Hi there! What's on your mind?\"\n    *   \"Greetings! Do you have any questions?\"\n5.  **Select the best response:** \"Hello! How can I help you today?\" is standard, friendly, and helpful.\n6.  **Final Output Generation.**\n\n*Self-Correction during drafting:* Since I am an AI, I should simply state my readiness to assist.\n\n*Final Polish:* \"Hello! How can I help you today?\" or \"Hi! How can I assist you?\"\n\nLet's go with a friendly, versatile greeting.\n\n\"Hello! How can I help you today?\""},"finish_reason":"stop"}],"created":1784603560,"openmodels_cost":1317},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/qwen3.7-max/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"55c592f0-2b0b-4049-9c0b-09738f7a54fe","routeId":"f01c7c22-fa06-43d7-bd59-e55cd281d0cc","model":"qwen3.7-max","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":1344828,"completion":4034483,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":1129655,"partnerCompletion":3388966,"partnerCacheCreationPrompt":1412069,"partnerCacheReadPrompt":225931,"promptSource":9750000,"completionSource":29250000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":100,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding"],"outModalities":["chat","coding","reasoning"],"description":"qwen3.7-max is an Alibaba chat and reasoning model designed for agentic workflows, software engineering and coding, multi-turn conversations, and complex reasoning and analysis.","descriptionTranslations":{"ar":"qwen3.7-max هو نموذج للمحادثة والاستدلال من Alibaba، صُمم لسير العمل القائم على الوكلاء وهندسة البرمجيات والبرمجة والمحادثات متعددة الجولات والاستدلال والتحليل المعقدين.","ja":"qwen3.7-maxはAlibabaが提供するチャット・推論モデルで、エージェント型ワークフロー、ソフトウェアエンジニアリングとコーディング、マルチターン会話、複雑な推論と分析向けに設計されています。ツール呼び出し、推論、コンテンツキャッシュに対応し、1,000,000 tokenのコンテキストウィンドウと最大64,000 tokenの出力をサポートします。","zh":"qwen3.7-max 是 Alibaba 推出的聊天与推理模型，适用于智能体工作流、软件工程与编程、多轮对话以及复杂推理和分析。它支持工具调用、推理和内容缓存，拥有 1,000,000 token 的上下文窗口，最多可输出 64,000 token。NeoLink 标注的模型发布日期为 2026-05-19。"},"modelReleaseDate":"2026-05-19","supportedFeatures":["tool_calling","reasoning","content_caching"],"contextWindowTokens":1000000,"maxOutputTokens":64000,"cacheCreationPrompt":1344828,"cacheReadPrompt":215172,"pricingTiers":[],"timePricingRules":[],"latency":3927,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.7-max","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T12:02:09Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.0-r2v-1080p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.0-r2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.0-r2v","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"face9b7b-c8f8-4e84-a577-9824259a30e0","routeId":"412f5ea4-7884-4d8d-b0ca-143d6f91b3b2","model":"happyhorse-1.0-r2v","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["1080p"]},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":220690,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":185379,"partnerCompletion":0,"promptSource":1600000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":140,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"happyhorse-1.0-r2v-1080p is an Alibaba video generation and editing model designed for video creation and editing as well as vision-enabled analysis. It supports vision input.","descriptionTranslations":{"ar":"happyhorse-1.0-r2v-1080p هو نموذج من Alibaba لتوليد مقاطع الفيديو وتحريرها، وقد صُمم لإنشاء مقاطع الفيديو وتعديلها وكذلك للتحليل المدعوم بالرؤية. يدعم الإدخال البصري.","ja":"happyhorse-1.0-r2v-1080pはAlibabaが提供する動画生成・編集モデルで、動画の作成と編集、および視覚を活用した分析向けに設計されています。視覚入力に対応しています。NeoLinkでは、リリース日は2026-04-25と記載されています。","zh":"happyhorse-1.0-r2v-1080p 是 Alibaba 推出的视频生成与编辑模型，适用于视频创作、视频编辑和视觉分析，支持视觉输入。NeoLink 标注的模型发布日期为 2026-04-25。"},"modelReleaseDate":"2026-04-25","supportedFeatures":["vision"],"pricingTiers":[],"timePricingRules":[],"latency":322,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.0-r2v","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.0-r2v-720p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.0-r2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.0-r2v","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"8d1a699b-1811-4087-a6ae-7e66f96f2118","routeId":"6b7aa9ff-4c3c-49d3-a880-551b33074022","model":"happyhorse-1.0-r2v","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["720p"]},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":124138,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":104276,"partnerCompletion":0,"promptSource":900000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":150,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"happyhorse-1.0-r2v-720p is an Alibaba video generation and editing model for video creation, editing, and vision-enabled analysis. Supported capabilities include vision input.","descriptionTranslations":{"ar":"happyhorse-1.0-r2v-720p هو نموذج من Alibaba لتوليد الفيديو وتحريره، ومخصص لإنشاء الفيديو وتحريره وإجراء التحليل المدعوم بالرؤية. وتشمل قدراته المدعومة إدخال البيانات المرئية.","ja":"happyhorse-1.0-r2v-720pは、動画制作、編集、ビジョンを活用した分析向けのAlibabaの動画生成・編集モデルです。ビジョン入力をサポートしています。NeoLinkでは、リリース日は2026-04-25と記載されています。","zh":"happyhorse-1.0-r2v-720p 是阿里巴巴推出的一款视频生成与编辑模型，适用于视频创作、编辑和视觉分析，并支持视觉输入。NeoLink 标注的模型发布日期为 2026-04-25。"},"modelReleaseDate":"2026-04-25","supportedFeatures":["vision"],"pricingTiers":[],"timePricingRules":[],"latency":322,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.0-r2v","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.0-video-edit-1080p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.0-video-edit","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.0-video-edit","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configured_endpoint","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"5580a8f9-8162-415f-a580-43aedfaf9b84","routeId":"4342463e-1c37-4ddb-8170-7c53856dc7d2","model":"happyhorse-1.0-video-edit","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["1080p"]},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":220690,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":185379,"partnerCompletion":0,"promptSource":1600000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":160,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"happyhorse-1.0-video-edit-1080p is a Alibaba video generation and editing model for video creation and editing, vision-enabled analysis. Supported capabilities include vision input. NeoLink lists the model release date as 2026-04-25.","descriptionTranslations":{},"modelReleaseDate":"2026-04-25","supportedFeatures":["vision"],"pricingTiers":[],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.0-video-edit","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-07-03T13:46:55Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.0-video-edit-720p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.0-video-edit","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"happyhorse-1.0-video-edit","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configured_endpoint","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"ec2dcdfd-68d5-4a13-8e0a-e191f71703d2","routeId":"b025e7f0-c808-47a8-9ab8-ee6e49837fb9","model":"happyhorse-1.0-video-edit","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"POST"}],"curlExample":"","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["720p"]},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":124138,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":104276,"partnerCompletion":0,"promptSource":900000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":170,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"happyhorse-1.0-video-edit-720p is a Alibaba video generation and editing model for video creation and editing, vision-enabled analysis. Supported capabilities include vision input. NeoLink lists the model release date as 2026-04-25.","descriptionTranslations":{},"modelReleaseDate":"2026-04-25","supportedFeatures":["vision"],"pricingTiers":[],"timePricingRules":[],"latency":null,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.0-video-edit","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-07-03T13:47:00Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/deepseek-v4-flash/","upstreamModel":"deepseek-v4-flash","formats":[{"jsonSchema":{"type":"object","allOf":[{"if":{"required":["top_logprobs"],"properties":{"top_logprobs":{"type":"integer"}}},"then":{"required":["logprobs"],"properties":{"logprobs":{"const":true}}}}],"$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"maxItems":16,"minItems":1}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"user_id":{"type":"string"},"logprobs":{"type":"boolean"},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"thinking":{"type":"object","required":["type"],"properties":{"type":{"enum":["enabled","disabled"],"type":"string"}},"description":"Thinking mode for the model."},"max_tokens":{"type":"integer","maximum":393216,"minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","maximum":2,"minimum":0},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"top_logprobs":{"type":"integer","maximum":20,"minimum":0},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string"}}},"reasoning_effort":{"enum":["none","minimal","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."}}},"id":"archived-0","model":"deepseek-v4-flash","provider":"Neolink","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"deepseek-v4-flash","route":{"provider":"Neolink"},"route_mode":"balanced"},"parameterSchema":[{"name":"logprobs","label":"logprobs","type":"boolean","valueType":"boolean","path":"/logprobs","required":false,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":393216,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","minimal","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking mode for the model.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_logprobs","label":"top_logprobs","type":"number","valueType":"integer","path":"/top_logprobs","required":false,"min":0,"max":20,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"954e4ffe-9c59-4216-8ee6-6235f72f81f9","model":"deepseek-v4-flash","usage":{"total_tokens":222,"prompt_tokens":5,"completion_tokens":217,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":161}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"你好！👋 很高兴见到你！我是 DeepSeek，你的免费 AI 助手。有什么我可以帮你的吗？无论是回答问题、写作、编程、翻译，还是随便聊聊天，我都非常乐意帮忙！😊 请随时告诉我你的需求吧～","reasoning_content":"好的，用户发来一个简单的问候“hello”。这是一个非常基础的打招呼，没有其他具体指令或问题。用户可能只是测试连接、开启对话，或者想打个招呼开始交流。深层需求应该是希望获得一个友好、热情的回应，并了解我能提供什么帮助。\n\n想到了用同样自然友好的方式回复“hello”，加上问候和自我介绍，表明我是DeepSeek助手。然后主动提供帮助选项，列举几个常见的我能做的事情，比如回答问题、写作、编程、聊天等。最后用开放式的邀请结束，让用户提出具体需求。整个回复保持热情、开放和乐于助人的语气。\n\n嗯，回复结构就这样：先问候和自我介绍，然后列举服务范围，最后邀请用户提出请求。用点表情符号增加亲和力，但保持简洁清晰。"},"logprobs":null,"finish_reason":"stop"}],"created":1784221144,"openmodels_cost":55},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/deepseek-v4-flash/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"8ee223c7-a5e4-4dbb-b147-922e8637dab7","routeId":"30294491-e06c-43e0-a51c-87e18e70808c","model":"deepseek-v4-flash","provider":"Neolink","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"deepseek-v4-flash\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":217241,"completion":651724,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":217241,"partnerCompletion":651724,"partnerCacheReadPrompt":21724,"promptSource":1575000,"completionSource":4725000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":190,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat","coding","reasoning"],"description":"deepseek-v4-flash is a DeepSeek chat and reasoning model designed for multi-turn conversations, long-context document analysis, complex reasoning and analysis, and low-latency production workloads.","descriptionTranslations":{"ar":"deepseek-v4-flash هو نموذج دردشة واستدلال من DeepSeek، مصمم للمحادثات متعددة الجولات، وتحليل المستندات ذات السياق الطويل، والاستدلال والتحليل المعقدين، وأعباء عمل الإنتاج منخفضة زمن الاستجابة.","ja":"deepseek-v4-flashはDeepSeekのチャット・推論モデルで、マルチターン会話、長いコンテキストを用いた文書分析、複雑な推論と分析、低レイテンシの本番ワークロード向けに設計されています。対応機能には、ツール呼び出しと推論が含まれます。1,000,000 tokenのコンテキストウィンドウをサポートし、最大384,000 tokenを出力できます。","zh":"deepseek-v4-flash 是 DeepSeek 的聊天与推理模型，适用于多轮对话、长上下文文档分析、复杂推理与分析，以及低延迟生产工作负载。支持的能力包括工具调用和推理。它支持 1,000,000 token 的上下文窗口，最多可输出 384,000 个 token。NeoLink 列出的模型发布日期为 2026-04-22。"},"modelReleaseDate":"2026-04-22","supportedFeatures":["tool_calling","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":384000,"cacheReadPrompt":20690,"pricingTiers":[],"timePricingRules":[{"label":"PEAK1","daysOfWeekUtc":[1,2,3,4,5,6,7],"startMinuteUtc":0,"endMinuteUtc":840,"prompt":434483,"completion":1303448,"partnerPrompt":434483,"partnerCompletion":1303448,"cacheReadPrompt":41379,"partnerCacheReadPrompt":43448}],"latency":4888,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"deepseek-v4-flash","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-10-30T13:02:53Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"DeepSeek","inputPrice":"0.66","outputPrice":"1.98"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/deepseek/deepseek-v4-pro/","upstreamModel":"deepseek/deepseek-v4-pro","formats":[{"jsonSchema":{"type":"object","allOf":[{"if":{"required":["top_logprobs"],"properties":{"top_logprobs":{"type":"integer"}}},"then":{"required":["logprobs"],"properties":{"logprobs":{"const":true}}}}],"$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"maxItems":16,"minItems":1}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"user_id":{"type":"string"},"logprobs":{"type":"boolean"},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"thinking":{"type":"object","required":["type"],"properties":{"type":{"enum":["enabled","disabled"],"type":"string"}},"description":"Thinking mode for the model."},"max_tokens":{"type":"integer","maximum":393216,"minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","maximum":2,"minimum":0},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"top_logprobs":{"type":"integer","maximum":20,"minimum":0},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string"}}},"reasoning_effort":{"enum":["none","minimal","low","medium","high","xhigh","max"],"type":"string","description":"Reasoning effort level."}}},"id":"archived-0","model":"deepseek-v4-pro","provider":"DeepSeek","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"deepseek-v4-pro","route":{"provider":"DeepSeek"},"route_mode":"balanced"},"parameterSchema":[{"name":"logprobs","label":"logprobs","type":"boolean","valueType":"boolean","path":"/logprobs","required":false,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":393216,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Reasoning effort level.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["none","minimal","low","medium","high","xhigh","max"],"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Thinking mode for the model.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_logprobs","label":"top_logprobs","type":"number","valueType":"integer","path":"/top_logprobs","required":false,"min":0,"max":20,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"954e4ffe-9c59-4216-8ee6-6235f72f81f9","model":"deepseek-v4-flash","usage":{"total_tokens":222,"prompt_tokens":5,"completion_tokens":217,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":161}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"你好！👋 很高兴见到你！我是 DeepSeek，你的免费 AI 助手。有什么我可以帮你的吗？无论是回答问题、写作、编程、翻译，还是随便聊聊天，我都非常乐意帮忙！😊 请随时告诉我你的需求吧～","reasoning_content":"好的，用户发来一个简单的问候“hello”。这是一个非常基础的打招呼，没有其他具体指令或问题。用户可能只是测试连接、开启对话，或者想打个招呼开始交流。深层需求应该是希望获得一个友好、热情的回应，并了解我能提供什么帮助。\n\n想到了用同样自然友好的方式回复“hello”，加上问候和自我介绍，表明我是DeepSeek助手。然后主动提供帮助选项，列举几个常见的我能做的事情，比如回答问题、写作、编程、聊天等。最后用开放式的邀请结束，让用户提出具体需求。整个回复保持热情、开放和乐于助人的语气。\n\n嗯，回复结构就这样：先问候和自我介绍，然后列举服务范围，最后邀请用户提出请求。用点表情符号增加亲和力，但保持简洁清晰。"},"logprobs":null,"finish_reason":"stop"}],"created":1784221144,"openmodels_cost":55},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"modelprice.curl_example","sourceUrl":"https://openany.si/models/deepseek/deepseek-v4-pro/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"e1a97db2-18d1-4c24-9244-7652c5f37581","routeId":"04f1eb37-8cde-4e8c-a533-3798882234d1","model":"deepseek-v4-pro","provider":"DeepSeek","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/deepseek-color.svg","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"deepseek-v4-pro\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":651724,"completion":1955172,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":620690,"partnerCompletion":1862069,"partnerCacheReadPrompt":20690,"promptSource":4725000,"completionSource":14175000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":220,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"deepseek/deepseek-v4-pro is a DeepSeek chat and reasoning model for software engineering, coding, multi-turn conversations, long-context document analysis, and complex reasoning and analysis.","descriptionTranslations":{"ar":"deepseek/deepseek-v4-pro هو نموذج دردشة واستدلال من DeepSeek، مصمم لهندسة البرمجيات والبرمجة، والمحادثات متعددة الجولات، وتحليل المستندات ذات السياق الطويل، والاستدلال والتحليل المعقدين.","ja":"deepseek/deepseek-v4-proはDeepSeekのチャット・推論モデルで、ソフトウェアエンジニアリングとコーディング、マルチターン会話、長いコンテキストを用いた文書分析、複雑な推論と分析向けに設計されています。対応機能には、ツール呼び出しと推論が含まれます。1,000,000 tokenのコンテキストウィンドウをサポートし、最大384,000 tokenを出力できます。","zh":"deepseek/deepseek-v4-pro 是 DeepSeek 的聊天与推理模型，适用于软件工程与编码、多轮对话、长上下文文档分析，以及复杂推理与分析。支持的能力包括工具调用和推理。它支持 1,000,000 token 的上下文窗口，最多可输出 384,000 个 token。NeoLink 列出的模型发布日期为 2026-04-22。"},"modelReleaseDate":"2026-04-22","supportedFeatures":["tool_calling","reasoning"],"contextWindowTokens":1000000,"maxOutputTokens":384000,"cacheReadPrompt":20690,"pricingTiers":[],"timePricingRules":[{"label":"PEAK1","daysOfWeekUtc":[1,2,3,4,5],"startMinuteUtc":60,"endMinuteUtc":240,"prompt":1303448,"completion":3910345,"partnerPrompt":1241379,"partnerCompletion":3724138,"cacheReadPrompt":41379,"partnerCacheReadPrompt":41379},{"label":"PEAK2","daysOfWeekUtc":[1,2,3,4,5],"startMinuteUtc":360,"endMinuteUtc":600,"prompt":1303448,"completion":3910345,"partnerPrompt":1241379,"partnerCompletion":3724138,"cacheReadPrompt":41379,"partnerCacheReadPrompt":41379}],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"deepseek-v4-pro","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T06:41:12Z"},{"officialPricing":{"unit":"image","price":"0.083","currency":"USD","quantity":1,"checkedAt":"2026-11-02","publisher":"Alibaba"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"qwen-image-2.0-pro","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input","model"],"properties":{"input":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user"],"type":"string","description":"Message role. Must be user."},"content":{"type":"array","items":{"type":"object","oneOf":[{"required":["text"]},{"required":["image"]}],"properties":{"text":{"type":"string","description":"Image editing instruction describing the target elements and visual features. Supports Chinese and English. qwen-image-2.0 series supports up to 1300 tokens; other models support up to 800 tokens. Only one text input is supported per request."},"image":{"type":"string","description":"Input image as a public HTTP/HTTPS URL or Base64 string in data:{mime_type};base64,{data} format. Supported formats: JPG, JPEG, PNG, BMP, TIFF, WEBP, and GIF first frame only. Recommended width and height: 384 to 3072 pixels. Maximum file size: 10 MB."}}},"contains":{"type":"object","required":["text"]},"maxItems":4,"description":"Message content array. Must contain 1 to 3 image objects and exactly one text object. For multi-image input, images are referenced by position. The output aspect ratio is determined by the last image.","maxContains":1,"minContains":1}}},"maxItems":1,"minItems":1,"description":"Single-turn input. Must contain exactly one message with role user."}},"description":"Input data containing the messages array."},"model":{"type":"string"},"parameters":{"type":"object","properties":{"n":{"type":"integer","default":1,"maximum":6,"minimum":1,"description":"Number of images to generate. qwen-image-2.0, qwen-image-edit-max, and qwen-image-edit-plus series support 1 to 6. qwen-image-edit supports only 1."},"seed":{"type":"integer","maximum":2147483647,"minimum":0,"description":"Random seed. Same seed produces more consistent but not identical results. If omitted, a random seed is used."},"size":{"type":"string","description":"Output resolution in width*height format. qwen-image-2.0 series supports total pixels between 512*512 and 2048*2048. qwen-image-edit-max/plus require width and height each between 512 and 2048 and auto-adjust to the nearest multiple of 16. Recommended examples: 1024*1024, 768*1152, 1024*1536, 1152*768, 1536*1024, 720*1280, 1080*1920, 1280*720, 1920*1080. qwen-image-edit does not support this parameter."},"watermark":{"type":"boolean","default":false,"description":"Whether to add a Qwen-Image watermark to the bottom-right corner of the image."},"prompt_extend":{"type":"boolean","default":true,"description":"Whether to enable prompt rewriting. Improves results when prompts lack detail. Not supported by qwen-image-edit."},"negative_prompt":{"type":"string","description":"Content that should not appear in the generated image. Supports Chinese and English. Maximum length: 500 characters; excess content is truncated automatically."}},"description":"Image editing parameters."}}},"id":"archived-0","model":"qwen-image-2.0-pro","provider":"Alibaba","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"input":{"messages":[{"content":[{"image":"https://openany.si/brand/playground-default-image.png"},{"text":"Create a high-quality ecommerce poster for a white ceramic coffee cup, clean layout, realistic lighting, clear Chinese and English typography."}],"role":"user"}]},"model":"qwen-image-2.0-pro","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"input","label":"input","description":"Input data containing the messages array.","type":"json","valueType":"object","path":"/input","required":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"parameters","label":"parameters","description":"Image editing parameters.","type":"json","valueType":"object","path":"/parameters","required":false,"omitEmpty":true}],"responseBody":{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F07%2F21%2Fd1a2a417-2269-40e9-ba48-32aed019b4c9.png"},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"corrected_from_configured_prefix_rule","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"452dbab0-d432-4538-9644-2380e524c63c","routeId":"e0368ad5-57c2-4cc1-9696-a27d08f7404f","model":"qwen-image-2.0-pro","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST"}],"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":56034,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":47069,"partnerCompletion":0,"promptSource":406250,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":230,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"qwen-image-2.0-pro is an Alibaba image generation and editing model designed for creating and editing images. Its supported capabilities include image generation.","descriptionTranslations":{"ar":"qwen-image-2.0-pro هو نموذج من Alibaba لتوليد الصور وتحريرها، وقد صُمم لإنشاء الصور وتعديلها. تشمل إمكاناته المدعومة توليد الصور. يدرج NeoLink تاريخ إصداره على أنه 2026-04-22.","ja":"qwen-image-2.0-proはAlibabaが提供する画像生成・編集モデルで、画像の作成と編集向けに設計されています。対応機能には画像生成が含まれます。NeoLinkでは、リリース日は2026-04-22と記載されています。","zh":"qwen-image-2.0-pro 是 Alibaba 推出的图像生成与编辑模型，专为图像创作和编辑而设计，支持图像生成。NeoLink 标注的模型发布日期为 2026-04-22。"},"modelReleaseDate":"2026-04-22","supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen-image-2.0-pro","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T12:02:30Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"≤128K","rangeEnd":128000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"0.114286","outputPrice":"0.685714"},{"unit":"token","match":{"kind":"tier","label":"128K-256K","rangeEnd":256000,"inputMode":"","rangeStart":128000,"resolution":""},"quantity":1000000,"inputPrice":"0.285714","outputPrice":"1.714286"},{"unit":"token","match":{"kind":"tier","label":"256K-1M","rangeEnd":1000000,"inputMode":"","rangeStart":256000,"resolution":""},"quantity":1000000,"inputPrice":"0.571429","outputPrice":"3.428571"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/qwen3.5-plus/","upstreamModel":"qwen3.5-plus","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"audio":{"type":"object","description":"Output audio configuration for Qwen-Omni models. Requires modalities to include audio."},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_k":{"type":"integer","minimum":0,"description":"Number of candidate tokens used for sampling. If null or greater than 100, top_k is disabled and only top_p takes effect. This is not a standard OpenAI parameter."},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"logprobs":{"type":"boolean","default":false,"description":"Whether to return log probabilities for output tokens. Reasoning content does not include log probabilities."},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"modalities":{"type":"array","items":{"type":"string"},"description":"Output modalities. Applies only to Qwen-Omni models. Valid values include [\"text\"] and [\"text\",\"audio\"]."},"route_mode":{"type":"string","description":"The mode for routing the request"},"audio.voice":{"type":"string","description":"Voice used for output audio."},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"tool_stream":{"type":"boolean","default":false,"description":"Controls streaming behavior for complex tool arguments when stream is true. This is not a standard OpenAI parameter."},"audio.format":{"enum":["wav"],"type":"string","description":"Output audio format. Only wav is supported."},"tools[].type":{"enum":["function"],"type":"string","description":"Tool type. Currently only function is supported."},"top_logprobs":{"type":"integer","default":0,"maximum":5,"minimum":0,"description":"Number of most likely candidate tokens to return at each generation step. Effective only when logprobs is true."},"enable_search":{"type":"boolean","default":false,"description":"Whether to enable web search. This is not a standard OpenAI parameter."},"search_options":{"type":"object","description":"Web search strategy. Effective only when enable_search is true."},"stream_options":{"type":"object","description":"Streaming options. Effective only when stream is true."},"enable_thinking":{"type":"boolean","description":"Whether to enable thinking mode for supported hybrid thinking models. Reasoning content is returned in reasoning_content."},"messages[].role":{"enum":["system","user","assistant","tool"],"type":"string","description":"Message role in the conversation."},"response_format":{"type":"object","description":"Format constraint for the response"},"thinking_budget":{"type":"integer","description":"Maximum number of tokens for the thinking process. Applies to supported Qwen reasoning models."},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"reasoning_effort":{"enum":["low","medium","high","xhigh","max","minimal","none"],"type":"string","description":"Controls reasoning effort. Qwen3.8-Max-Preview supports low, medium, and xhigh. max/high map to xhigh, minimal maps to low, and none maps to enable_thinking=false."},"tools[].function":{"type":"object","description":"Function tool definition."},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"preserve_thinking":{"type":"boolean","default":false,"description":"Whether to append historical reasoning_content from assistant messages to the model input for supported models."},"messages[].content":{"type":"object","description":"Message content. Can be text or model-specific multimodal content."},"parallel_tool_calls":{"type":"boolean","default":false,"description":"Whether to enable parallel tool calling."},"response_format.type":{"enum":["text","json_object","json_schema"],"type":"string","description":"Response format type."},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"},"tools[].function.name":{"type":"string","description":"Function name. Supports letters, digits, underscores, and hyphens. Up to 64 tokens."},"enable_code_interpreter":{"type":"boolean","default":false,"description":"Whether to enable the code interpreter feature. This is not a standard OpenAI parameter."},"vl_high_resolution_images":{"type":"boolean","default":false,"description":"Whether to increase the maximum pixel limit for input images. Applies to supported Qwen VL models. This is not a standard OpenAI parameter."},"response_format.json_schema":{"type":"object","description":"JSON Schema configuration. Required when response_format.type is json_schema."},"tools[].function.parameters":{"type":"object","description":"Function parameters described with JSON Schema."},"messages[].reasoning_content":{"type":"string","description":"Historical reasoning content from assistant messages. Required unchanged when using preserved thinking for supported models."},"search_options.forced_search":{"type":"boolean","default":false,"description":"Whether to force web search instead of letting the model decide."},"stream_options.include_usage":{"type":"boolean","default":false,"description":"Whether to include token usage information in the final streaming chunk."},"tools[].function.description":{"type":"string","description":"Function description used by the model to decide when and how to call the tool."},"search_options.search_strategy":{"enum":["turbo","max","agent","agent_max"],"type":"string","default":"turbo","description":"Search scale strategy. turbo balances speed and effectiveness; max is more comprehensive; agent and agent_max perform multi-round retrieval for supported models."},"response_format.json_schema.name":{"type":"string","description":"Unique schema name. Supports letters, numbers, underscores, and hyphens. Maximum length: 64 characters."},"response_format.json_schema.schema":{"type":"object","description":"JSON Schema object defining the output data structure."},"response_format.json_schema.strict":{"type":"boolean","default":false,"description":"Whether the model must strictly follow the schema constraints."},"search_options.enable_search_extension":{"type":"boolean","default":false,"description":"Whether to enable domain-specific search."},"response_format.json_schema.description":{"type":"string","description":"Description of the schema purpose."}}},"id":"archived-0","model":"qwen3.5-plus","provider":"Alibaba","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.5-plus","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"audio","label":"audio","description":"Output audio configuration for Qwen-Omni models. Requires modalities to include audio.","type":"json","valueType":"object","path":"/audio","required":false,"omitEmpty":true},{"name":"audio.format","label":"audio.format","description":"Output audio format. Only wav is supported.","type":"string","valueType":"string","path":"/audio.format","required":false,"allowedValues":["wav"],"omitEmpty":true},{"name":"audio.voice","label":"audio.voice","description":"Voice used for output audio.","type":"string","valueType":"string","path":"/audio.voice","required":false,"omitEmpty":true},{"name":"enable_code_interpreter","label":"enable_code_interpreter","description":"Whether to enable the code interpreter feature. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/enable_code_interpreter","required":false,"defaultValue":false,"omitEmpty":true},{"name":"enable_search","label":"enable_search","description":"Whether to enable web search. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/enable_search","required":false,"defaultValue":false,"omitEmpty":true},{"name":"enable_thinking","label":"enable_thinking","description":"Whether to enable thinking mode for supported hybrid thinking models. Reasoning content is returned in reasoning_content.","type":"boolean","valueType":"boolean","path":"/enable_thinking","required":false,"omitEmpty":true},{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"logprobs","label":"logprobs","description":"Whether to return log probabilities for output tokens. Reasoning content does not include log probabilities.","type":"boolean","valueType":"boolean","path":"/logprobs","required":false,"defaultValue":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"messages[].content","label":"messages[].content","description":"Message content. Can be text or model-specific multimodal content.","type":"json","valueType":"object","path":"/messages[].content","required":false,"omitEmpty":true},{"name":"messages[].reasoning_content","label":"messages[].reasoning_content","description":"Historical reasoning content from assistant messages. Required unchanged when using preserved thinking for supported models.","type":"string","valueType":"string","path":"/messages[].reasoning_content","required":false,"omitEmpty":true},{"name":"messages[].role","label":"messages[].role","description":"Message role in the conversation.","type":"string","valueType":"string","path":"/messages[].role","required":false,"allowedValues":["system","user","assistant","tool"],"omitEmpty":true},{"name":"modalities","label":"modalities","description":"Output modalities. Applies only to Qwen-Omni models. Valid values include [\"text\"] and [\"text\",\"audio\"].","type":"json","valueType":"array","path":"/modalities","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","description":"Whether to enable parallel tool calling.","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"defaultValue":false,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"preserve_thinking","label":"preserve_thinking","description":"Whether to append historical reasoning_content from assistant messages to the model input for supported models.","type":"boolean","valueType":"boolean","path":"/preserve_thinking","required":false,"defaultValue":false,"omitEmpty":true},{"name":"reasoning_effort","label":"reasoning_effort","description":"Controls reasoning effort. Qwen3.8-Max-Preview supports low, medium, and xhigh. max/high map to xhigh, minimal maps to low, and none maps to enable_thinking=false.","type":"string","valueType":"string","path":"/reasoning_effort","required":false,"allowedValues":["low","medium","high","xhigh","max","minimal","none"],"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"response_format.json_schema","label":"response_format.json_schema","description":"JSON Schema configuration. Required when response_format.type is json_schema.","type":"json","valueType":"object","path":"/response_format.json_schema","required":false,"omitEmpty":true},{"name":"response_format.json_schema.description","label":"response_format.json_schema.description","description":"Description of the schema purpose.","type":"string","valueType":"string","path":"/response_format.json_schema.description","required":false,"omitEmpty":true},{"name":"response_format.json_schema.name","label":"response_format.json_schema.name","description":"Unique schema name. Supports letters, numbers, underscores, and hyphens. Maximum length: 64 characters.","type":"string","valueType":"string","path":"/response_format.json_schema.name","required":false,"omitEmpty":true},{"name":"response_format.json_schema.schema","label":"response_format.json_schema.schema","description":"JSON Schema object defining the output data structure.","type":"json","valueType":"object","path":"/response_format.json_schema.schema","required":false,"omitEmpty":true},{"name":"response_format.json_schema.strict","label":"response_format.json_schema.strict","description":"Whether the model must strictly follow the schema constraints.","type":"boolean","valueType":"boolean","path":"/response_format.json_schema.strict","required":false,"defaultValue":false,"omitEmpty":true},{"name":"response_format.type","label":"response_format.type","description":"Response format type.","type":"string","valueType":"string","path":"/response_format.type","required":false,"allowedValues":["text","json_object","json_schema"],"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"search_options","label":"search_options","description":"Web search strategy. Effective only when enable_search is true.","type":"json","valueType":"object","path":"/search_options","required":false,"omitEmpty":true},{"name":"search_options.enable_search_extension","label":"search_options.enable_search_extension","description":"Whether to enable domain-specific search.","type":"boolean","valueType":"boolean","path":"/search_options.enable_search_extension","required":false,"defaultValue":false,"omitEmpty":true},{"name":"search_options.forced_search","label":"search_options.forced_search","description":"Whether to force web search instead of letting the model decide.","type":"boolean","valueType":"boolean","path":"/search_options.forced_search","required":false,"defaultValue":false,"omitEmpty":true},{"name":"search_options.search_strategy","label":"search_options.search_strategy","description":"Search scale strategy. turbo balances speed and effectiveness; max is more comprehensive; agent and agent_max perform multi-round retrieval for supported models.","type":"string","valueType":"string","path":"/search_options.search_strategy","required":false,"defaultValue":"turbo","allowedValues":["turbo","max","agent","agent_max"],"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","description":"Streaming options. Effective only when stream is true.","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"stream_options.include_usage","label":"stream_options.include_usage","description":"Whether to include token usage information in the final streaming chunk.","type":"boolean","valueType":"boolean","path":"/stream_options.include_usage","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking_budget","label":"thinking_budget","description":"Maximum number of tokens for the thinking process. Applies to supported Qwen reasoning models.","type":"number","valueType":"integer","path":"/thinking_budget","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","description":"Controls streaming behavior for complex tool arguments when stream is true. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"tools[].function","label":"tools[].function","description":"Function tool definition.","type":"json","valueType":"object","path":"/tools[].function","required":false,"omitEmpty":true},{"name":"tools[].function.description","label":"tools[].function.description","description":"Function description used by the model to decide when and how to call the tool.","type":"string","valueType":"string","path":"/tools[].function.description","required":false,"omitEmpty":true},{"name":"tools[].function.name","label":"tools[].function.name","description":"Function name. Supports letters, digits, underscores, and hyphens. Up to 64 tokens.","type":"string","valueType":"string","path":"/tools[].function.name","required":false,"omitEmpty":true},{"name":"tools[].function.parameters","label":"tools[].function.parameters","description":"Function parameters described with JSON Schema.","type":"json","valueType":"object","path":"/tools[].function.parameters","required":false,"omitEmpty":true},{"name":"tools[].type","label":"tools[].type","description":"Tool type. Currently only function is supported.","type":"string","valueType":"string","path":"/tools[].type","required":false,"allowedValues":["function"],"omitEmpty":true},{"name":"top_k","label":"top_k","description":"Number of candidate tokens used for sampling. If null or greater than 100, top_k is disabled and only top_p takes effect. This is not a standard OpenAI parameter.","type":"number","valueType":"integer","path":"/top_k","required":false,"min":0,"omitEmpty":true},{"name":"top_logprobs","label":"top_logprobs","description":"Number of most likely candidate tokens to return at each generation step. Effective only when logprobs is true.","type":"number","valueType":"integer","path":"/top_logprobs","required":false,"defaultValue":0,"min":0,"max":5,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"vl_high_resolution_images","label":"vl_high_resolution_images","description":"Whether to increase the maximum pixel limit for input images. Applies to supported Qwen VL models. This is not a standard OpenAI parameter.","type":"boolean","valueType":"boolean","path":"/vl_high_resolution_images","required":false,"defaultValue":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-c4807108-c2ee-9e3d-98d5-7455ced4b354","model":"qwen3.5-plus","usage":{"total_tokens":1275,"prompt_tokens":11,"completion_tokens":1264,"prompt_tokens_details":{"text_tokens":11},"completion_tokens_details":{"text_tokens":1264,"reasoning_tokens":1242}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How are you doing today? Is there anything I can help you with?","reasoning_content":"Thinking Process:\n\n1.  **Analyze the Request:**\n    *   Input: \"hello\"\n    *   Intent: Greeting/Initiation of conversation.\n    *   Tone: Friendly, helpful, polite.\n    *   Expected Output: A greeting in return, offering assistance.\n\n2.  **Determine the appropriate response:**\n    *   Acknowledge the greeting.\n    *   Offer help.\n    *   Keep it concise but warm.\n\n3.  **Drafting options:**\n    *   Option 1: Hello! How can I help you today?\n    *   Option 2: Hi there! What's on your mind?\n    *   Option 3: Hello! How are you doing?\n\n4.  **Selecting the best option:** Option 1 is standard, polite, and clear.\n\n5.  **Final Polish:** \"Hello! How can I assist you today?\" (Slightly more formal/professional yet friendly).\n\n6.  **Final Output Generation:** (Matches the selected draft).\n    \"Hello! How can I assist you today?\" or \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    Let's go with a friendly, open-ended response.\n\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Self-Correction:* Keep it simple.\n    \"Hello! How can I help you today?\"\n\n    *Refining for personality:* \"Hello! 👋 How's your day going? Is there something specific I can help you with?\"\n\n    *Final Decision:* A balanced greeting.\n\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Wait, I am an AI.* I should be ready for any task.\n    \"Hello! How can I assist you today?\"\n\n    Let's combine warmth and utility.\n    \"Hello! How are you doing? Is there anything I can help you with today?\"\n\n    *Actually, keep it direct.*\n    \"Hello! How can I help you today?\"\n\n    *Okay, let's write it.*\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Wait, one more check.* The user just said \"hello\". A simple reciprocal greeting is best.\n    \"Hello! How can I assist you today?\"\n\n    *Okay, final version.*\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Wait, I should avoid overthinking.* Just respond naturally.\n    \"Hello! How can I help you today?\"\n\n    *Okay, let's add an emoji for friendliness.*\n    \"Hello! 👋 How can I help you today?\"\n\n    *Final Plan:*\n    1. Greet back.\n    2. Offer help.\n    3. Keep it friendly.\n\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Wait, I'll stick to a standard helpful response.*\n    \"Hello! How can I assist you today?\"\n\n    *Okay, let's go with:*\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Actually, I'll make it slightly more conversational.*\n    \"Hello! 👋 How's your day going? Is there something specific I can help you with?\"\n\n    *Okay, final choice.*\n    \"Hello! How can I help you today?\" (Simple and effective).\n    Let's add a bit more warmth.\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Okay, I will output:*\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Wait, I need to make sure I don't sound too robotic.*\n    \"Hello! 👋 How's it going? Is there anything I can help you with today?\"\n\n    *Okay, that's good.*\n\n    *Wait, I should check if there are any constraints.* No constraints.\n    *Okay, proceeding.*\n\n    *Final thought:* Keep it brief.\n    \"Hello! How can I help you today?\"\n\n    *Okay, I'll go with a friendly version.*\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Wait, I'll just say:*\n    \"Hello! How can I assist you today?\"\n\n    *Okay, let's finalize.*\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Wait, I'll add an emoji.*\n    \"Hello! 👋 How are you doing today? Is there anything I can help you with?\"\n\n    *Okay, that's the one.*\n\n    *Wait, one more thing.* I should be mindful of being helpful.\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Okay, I'm overthinking. Just send the greeting.*\n    \"Hello! How can I help you today?\"\n\n    *Okay, I'll write:*\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Wait, I'll make it:*\n    \"Hello! 👋 How's your day going? Is there anything I can help you with?\"\n\n    *Okay, final.*\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Wait, I'll remove the emoji to be safe.*\n    \"Hello! How are you doing today? Is there anything I can help you with?\"\n\n    *Okay, done.*"},"logprobs":null,"finish_reason":"stop"}],"created":1784604664,"openmodels_cost":894,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/qwen3.5-plus/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"7730f808-103d-408f-9580-c5747a11bbd8","routeId":"03a77d8a-f7f0-4dee-a2c4-4926cf63aef2","model":"qwen3.5-plus","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":true,"routes":1,"prompt":89655,"completion":537931,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":75310,"partnerCompletion":451862,"partnerCacheCreationPrompt":94138,"partnerCacheReadPrompt":7531,"promptSource":650000,"completionSource":3900000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":240,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat"],"outModalities":["chat","reasoning","coding"],"description":"qwen3.5-plus is an Alibaba chat and reasoning model designed for multi-turn conversations, complex reasoning and analysis, and vision-enabled analysis.","descriptionTranslations":{"ar":"qwen3.5-plus هو نموذج للمحادثة والاستدلال من Alibaba، صُمم للمحادثات متعددة الجولات والاستدلال والتحليل المعقدين والتحليل المدعوم بالرؤية.","ja":"qwen3.5-plusはAlibabaが提供するチャット・推論モデルで、マルチターン会話、複雑な推論と分析、視覚を活用した分析向けに設計されています。ツール呼び出し、推論、視覚入力に対応し、1,000,000 tokenのコンテキストウィンドウと最大64,000 tokenの出力をサポートします。NeoLinkでは、リリース日は2026-04-22と記載されています。","zh":"qwen3.5-plus 是 Alibaba 推出的聊天与推理模型，适用于多轮对话、复杂推理与分析以及视觉分析。它支持工具调用、推理和视觉输入，拥有 1,000,000 token 的上下文窗口，最多可输出 64,000 token。NeoLink 标注的模型发布日期为 2026-04-22。"},"modelReleaseDate":"2026-04-22","supportedFeatures":["tool_calling","reasoning","vision"],"contextWindowTokens":1000000,"maxOutputTokens":64000,"cacheCreationPrompt":89655,"cacheReadPrompt":7172,"pricingTiers":[{"actualCompletion":3120000,"actualPrompt":520000,"cacheCreationPrompt":89655,"cacheReadPrompt":7172,"completion":537931,"label":"≤128K","partnerCacheCreationPrompt":94138,"partnerCacheReadPrompt":7531,"partnerCompletion":451862,"partnerPrompt":75310,"prompt":89655,"rangeEnd":128000,"rangeStart":0},{"actualCompletion":7800000,"actualPrompt":1300000,"cacheCreationPrompt":224138,"cacheReadPrompt":17931,"completion":1344828,"label":"128K-256K","partnerCacheCreationPrompt":235345,"partnerCacheReadPrompt":18828,"partnerCompletion":1129655,"partnerPrompt":188276,"prompt":224138,"rangeEnd":256000,"rangeStart":128000},{"actualCompletion":15600000,"actualPrompt":2600000,"cacheCreationPrompt":448276,"cacheReadPrompt":35862,"completion":2689655,"label":"256K-1M","partnerCacheCreationPrompt":470690,"partnerCacheReadPrompt":37655,"partnerCompletion":2259310,"partnerPrompt":376552,"prompt":448276,"rangeEnd":1000000,"rangeStart":256000}],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.5-plus","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T10:04:26Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"gp-im-2","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"mask":{"type":"object","properties":{"file_id":{"type":"string","description":"Edit only. File API ID of an uploaded mask image."},"image_url":{"type":"string","description":"Edit only. Fully qualified mask image URL or base64-encoded data URL. Maximum length is 20,971,520 characters."}},"description":"Edit only. Mask image reference. Provide exactly one of file_id or image_url. Used to constrain the edited area."},"image":{"type":"array","items":{"type":"string"},"description":"Edit only. Multipart/form-data input image upload field. Use this instead of images when the adapter sends binary files with multipart form data. For GPT image models, up to 16 images are supported."},"route":{"type":"object","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"openai\"}."},"images":{"type":"array","items":{"type":"object","properties":{"file_id":{"type":"string","description":"Edit only. File API ID of an uploaded image to use as an input image reference."},"image_url":{"type":"string","description":"Edit only. Fully qualified image URL or base64-encoded data URL. Maximum length is 20,971,520 characters."}}},"description":"Edit only. JSON request input image references to edit. For GPT image models, up to 16 images are supported. Each item should contain exactly one of file_id or image_url."},"route_mode":{"type":"string","description":"The routing mode used by OpenModel for this request."},"input_fidelity":{"enum":["high","low"],"type":"string","description":"Edit only. Controls fidelity to the original input image or images."},"partial_images":{"type":"integer","default":0,"maximum":3,"minimum":0,"description":"Number of partial images to emit during streaming. Must be between 0 and 3. Only applies when stream is true."}}},"id":"archived-0","model":"gpt-image-2","provider":"OpenAI","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"model":"gpt-image-2","prompt":"An elegant commercial product photograph","route":{"provider":"OpenAI"}},"parameterSchema":[{"name":"image","label":"image","description":"Edit only. Multipart/form-data input image upload field. Use this instead of images when the adapter sends binary files with multipart form data. For GPT image models, up to 16 images are supported.","type":"json","valueType":"array","path":"/image","required":false,"omitEmpty":true},{"name":"images","label":"images","description":"Edit only. JSON request input image references to edit. For GPT image models, up to 16 images are supported. Each item should contain exactly one of file_id or image_url.","type":"json","valueType":"array","path":"/images","required":false,"omitEmpty":true},{"name":"input_fidelity","label":"input_fidelity","description":"Edit only. Controls fidelity to the original input image or images.","type":"string","valueType":"string","path":"/input_fidelity","required":false,"allowedValues":["high","low"],"omitEmpty":true},{"name":"mask","label":"mask","description":"Edit only. Mask image reference. Provide exactly one of file_id or image_url. Used to constrain the edited area.","type":"json","valueType":"object","path":"/mask","required":false,"omitEmpty":true},{"name":"partial_images","label":"partial_images","description":"Number of partial images to emit during streaming. Must be between 0 and 3. Only applies when stream is true.","type":"number","valueType":"integer","path":"/partial_images","required":false,"defaultValue":0,"min":0,"max":3,"omitEmpty":true},{"name":"route","label":"route","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"openai\"}.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The routing mode used by OpenModel for this request.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_modelprice","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0},{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"mask":{"type":"object","properties":{"file_id":{"type":"string","description":"Edit only. File API ID of an uploaded mask image."},"image_url":{"type":"string","description":"Edit only. Fully qualified mask image URL or base64-encoded data URL. Maximum length is 20,971,520 characters."}},"description":"Edit only. Mask image reference. Provide exactly one of file_id or image_url. Used to constrain the edited area."},"image":{"type":"array","items":{"type":"string"},"description":"Edit only. Multipart/form-data input image upload field. Use this instead of images when the adapter sends binary files with multipart form data. For GPT image models, up to 16 images are supported."},"route":{"type":"object","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"openai\"}."},"images":{"type":"array","items":{"type":"object","properties":{"file_id":{"type":"string","description":"Edit only. File API ID of an uploaded image to use as an input image reference."},"image_url":{"type":"string","description":"Edit only. Fully qualified image URL or base64-encoded data URL. Maximum length is 20,971,520 characters."}}},"description":"Edit only. JSON request input image references to edit. For GPT image models, up to 16 images are supported. Each item should contain exactly one of file_id or image_url."},"route_mode":{"type":"string","description":"The routing mode used by OpenModel for this request."},"input_fidelity":{"enum":["high","low"],"type":"string","description":"Edit only. Controls fidelity to the original input image or images."},"partial_images":{"type":"integer","default":0,"maximum":3,"minimum":0,"description":"Number of partial images to emit during streaming. Must be between 0 and 3. Only applies when stream is true."}}},"id":"archived-1","model":"gpt-image-2","provider":"OpenAI","endpointPath":"/v1/images/edit","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images/edit","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"image[]":"@\"/img2.jpg\"","model":"gpt-image-2","moderation":"\"auto\"","n":"\"1\"","output_format":"\"png\"","prompt":"\"Use your imagination to merge img1 and img2 into one image.\"","quality":"\"auto\"","route":{"provider":"OpenAI"},"size":"\"1024x1024\"","user":"\"user-456489432198764\""},"parameterSchema":[{"name":"image","label":"image","description":"Edit only. Multipart/form-data input image upload field. Use this instead of images when the adapter sends binary files with multipart form data. For GPT image models, up to 16 images are supported.","type":"json","valueType":"array","path":"/image","required":false,"omitEmpty":true},{"name":"images","label":"images","description":"Edit only. JSON request input image references to edit. For GPT image models, up to 16 images are supported. Each item should contain exactly one of file_id or image_url.","type":"json","valueType":"array","path":"/images","required":false,"omitEmpty":true},{"name":"input_fidelity","label":"input_fidelity","description":"Edit only. Controls fidelity to the original input image or images.","type":"string","valueType":"string","path":"/input_fidelity","required":false,"allowedValues":["high","low"],"omitEmpty":true},{"name":"mask","label":"mask","description":"Edit only. Mask image reference. Provide exactly one of file_id or image_url. Used to constrain the edited area.","type":"json","valueType":"object","path":"/mask","required":false,"omitEmpty":true},{"name":"partial_images","label":"partial_images","description":"Number of partial images to emit during streaming. Must be between 0 and 3. Only applies when stream is true.","type":"number","valueType":"integer","path":"/partial_images","required":false,"defaultValue":0,"min":0,"max":3,"omitEmpty":true},{"name":"route","label":"route","description":"OpenModel route configuration, including provider and other routing parameters. Example: {\"provider\":\"openai\"}.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The routing mode used by OpenModel for this request.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_modelprice","sourceUrl":"","isDefault":false,"active":true,"sortOrder":1}],"missing":[]},"id":"beaeb9cf-fb46-4fef-9fb3-49784ac441de","routeId":"1f46ac3c-7327-45e8-954d-2525e73dbf1b","model":"gpt-image-2","provider":"OpenAI","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST"},{"type":"edit","path":"/v1/images/edits","method":"POST"}],"curlExample":"# generation image\ncurl https://api.getopenmodels.com/v1/images \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -d '{\n    \"model\": \"gpt-image-2\",\n    \"route\": { \"provider\": \"\u003cprovider-for-this-model\u003e\"},\n    \"prompt\": \"An elegant commercial product photograph\"\n  }'\n \n \n \n \n# edit  only supports form-data format submissions.\n# first: download image to local\n# curl -L -o imgl.png \"your_image_url1\"\n# curl -L -o img2.png \"your_image_url2\"\n\n# send multipart/form-data request\ncurl --location --request POST 'https://api.getopenmodels.com/v1/images/edit' \\\n--header 'Authorization: Bearer $OM_API_KEY' \\\n--form 'model=\"gpt-image-2\"' \\\n--form 'image[]=@\"/imgl.png\"' \\\n--form 'image[]=@\"/img2.jpg\"' \\\n--form 'prompt=\"Use your imagination to merge img1 and img2 into one image.\"' \\\n--form 'moderation=\"auto\"' \\\n--form 'n=\"1\"' \\\n--form 'output_format=\"png\"' \\\n--form 'quality=\"auto\"' \\\n--form 'size=\"1024x1024\"' \\\n--form 'user=\"user-456489432198764\"'","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":2,"prompt":4513793,"completion":27082759,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":4308621,"partnerCompletion":25851724,"partnerCacheReadPrompt":1267241,"promptSource":32725000,"completionSource":196350000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":270,"billingType":"usage_tiered","billingUnit":"token","modalities":["image"],"outModalities":["image"],"description":"gp-im-2 is an OpenAI image generation and editing model designed for creating and editing images. Its supported capabilities include image generation. NeoLink lists its release date as 2026-04-21.","descriptionTranslations":{"ar":"gp-im-2 هو نموذج من OpenAI لتوليد الصور وتحريرها، وقد صُمم لإنشاء الصور وتعديلها. تشمل إمكاناته المدعومة توليد الصور. يدرج NeoLink تاريخ إصداره على أنه 2026-04-21.","ja":"gp-im-2はOpenAIが提供する画像生成・編集モデルで、画像の作成と編集向けに設計されています。対応機能には画像生成が含まれます。NeoLinkでは、リリース日は2026-04-21と記載されています。","zh":"gp-im-2 是 OpenAI 推出的图像生成与编辑模型，专为图像创作和编辑而设计，支持图像生成。NeoLink 标注的模型发布日期为 2026-04-21。"},"modelReleaseDate":"2026-04-21","supportedFeatures":["image_generation"],"cacheReadPrompt":1206897,"pricingTiers":[{"actualCompletion":178500000,"actualPrompt":29750000,"completion":27082759,"inputMode":"input_with_text","label":"input_with_text","partnerCompletion":25851724,"partnerPrompt":4308621,"prompt":4513793,"rangeStart":0,"resolution":"text"},{"actualCompletion":178500000,"actualPrompt":47600000,"completion":27082759,"inputMode":"input_with_image","label":"input_with_text","partnerCompletion":25851724,"partnerPrompt":6893793,"prompt":7222069,"rangeStart":0,"resolution":"image"}],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gpt-image-2","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-08-13T04:15:32Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.0-t2v-1080p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.0-t2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"input":{"media":[{"type":"first_frame","url":"https://cdn.translate.alibaba.com/r/wanx-demo-1.png"}],"prompt":"Generate a video of a carp leaping over the Dragon Gate."},"model":"happyhorse-1.0-t2v","parameters":{"duration":6,"ratio":"16:9","resolution":"1080P","seed":11,"watermark":false},"route":{"provider":"Alibaba"},"route_mode":"balanced"},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"b83a3462-4f79-4fa1-a9e0-c7617471b5f2","routeId":"7cfcba27-fb78-4a7c-a0f8-333a4e34a75f","model":"happyhorse-1.0-t2v","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"curl -s https://api.getopenmodels.com/v1/videos \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"happyhorse-1.0-t2v\",\n    \"route\": { \"provider\": \"\u003cprovider-for-this-model\u003e\" },\n    \"route_mode\": \"balanced\",\n    \"input\": {\n      \"prompt\": \"Generate a video of a carp leaping over the Dragon Gate.\",\n      \"media\": [\n        {\n          \"type\": \"first_frame\",\n          \"url\": \"https://cdn.translate.alibaba.com/r/wanx-demo-1.png\"\n        }\n      ]\n    },\n    \"parameters\": {\n      \"resolution\": \"1080P\",\n      \"ratio\": \"16:9\",\n      \"duration\": 6,\n      \"watermark\": false,\n      \"seed\": 11\n    }\n  }'","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["1080p"]},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":220690,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":185379,"partnerCompletion":0,"promptSource":1600000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":300,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"happyhorse-1.0-t2v-1080p is an Alibaba video generation and editing model designed for video creation and editing. NeoLink lists its release date as 2026-04-20.","descriptionTranslations":{"ar":"happyhorse-1.0-t2v-1080p هو نموذج من Alibaba لتوليد الفيديو وتحريره، وقد صُمم لإنشاء مقاطع الفيديو وتحريرها. ويسجّل NeoLink تاريخ إصداره على أنه 2026-04-20.","ja":"happyhorse-1.0-t2v-1080pは、動画の制作と編集向けに設計されたAlibabaの動画生成・編集モデルです。NeoLinkでは、リリース日は2026-04-20と記載されています。","zh":"happyhorse-1.0-t2v-1080p 是阿里巴巴推出的一款视频生成与编辑模型，适用于视频创作和编辑。NeoLink 标注的模型发布日期为 2026-04-20。"},"modelReleaseDate":"2026-04-20","supportedFeatures":[],"pricingTiers":[],"timePricingRules":[],"latency":303,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.0-t2v","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-video","upstreamModel":"happyhorse-1.0-t2v-720p","formats":[{"jsonSchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"id":"archived-0","model":"happyhorse-1.0-t2v","provider":"Alibaba","endpointPath":"/v1/videos","upstreamPath":"","queryEndpointPath":"/v1/videos/{task_id}","requestKind":"video","inputMode":"","displayName":"/v1/videos","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"input":{"media":[{"type":"first_frame","url":"https://cdn.translate.alibaba.com/r/wanx-demo-1.png"}],"prompt":"Generate a video of a carp leaping over the Dragon Gate."},"model":"happyhorse-1.0-t2v","parameters":{"duration":5,"ratio":"16:9","resolution":"720P","seed":11,"watermark":false},"route":{"provider":"Alibaba"},"route_mode":"balanced"},"parameterSchema":[{"name":"duration","label":"duration","type":"number","valueType":"number","path":"/duration","required":false,"omitEmpty":true},{"name":"input_reference","label":"input_reference","type":"string","valueType":"string","path":"/input_reference","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":false,"omitEmpty":true},{"name":"prompt","label":"prompt","type":"string","valueType":"string","path":"/prompt","required":false,"omitEmpty":true},{"name":"ratio","label":"ratio","type":"string","valueType":"string","path":"/ratio","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"11f7cd9e-166a-40db-b88c-4a302b5c35c7","routeId":"e250c25b-a9fe-454f-849f-e4861045930a","model":"happyhorse-1.0-t2v","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/videos","method":"POST"},{"type":"get","path":"/v1/video/generations/{task_id}","method":"GET"}],"curlExample":"curl -s https://api.getopenmodels.com/v1/videos \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"happyhorse-1.0-t2v\",\n    \"route\": { \"provider\": \"\u003cprovider-for-this-model\u003e\" },\n    \"route_mode\": \"balanced\",\n    \"input\": {\n      \"prompt\": \"Generate a video of a carp leaping over the Dragon Gate.\",\n      \"media\": [\n        {\n          \"type\": \"first_frame\",\n          \"url\": \"https://cdn.translate.alibaba.com/r/wanx-demo-1.png\"\n        }\n      ]\n    },\n    \"parameters\": {\n      \"resolution\": \"720P\",\n      \"ratio\": \"16:9\",\n      \"duration\": 5,\n      \"watermark\": false,\n      \"seed\": 11\n    }\n  }'","bodySchema":{"type":"object","properties":{"model":{"type":"string"},"ratio":{"type":"string"},"prompt":{"type":"string"},"duration":{"type":"number"},"input_reference":{"type":"string"}}},"matchRules":{"media_type":"video","resolution":["720p"]},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":124138,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":104276,"partnerCompletion":0,"promptSource":900000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":310,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"happyhorse-1.0-t2v-720p is an Alibaba video generation and editing model designed for creating and editing videos. NeoLink lists its release date as 2026-04-20.","descriptionTranslations":{"ar":"happyhorse-1.0-t2v-720p هو نموذج من Alibaba لتوليد مقاطع الفيديو وتحريرها، وقد صُمم لإنشاء مقاطع الفيديو وتعديلها. يدرج NeoLink تاريخ إصداره على أنه 2026-04-20.","ja":"happyhorse-1.0-t2v-720pはAlibabaが提供する動画生成・編集モデルで、動画の作成と編集向けに設計されています。NeoLinkでは、リリース日は2026-04-20と記載されています。","zh":"happyhorse-1.0-t2v-720p 是 Alibaba 推出的视频生成与编辑模型，专为视频创作和编辑而设计。NeoLink 标注的模型发布日期为 2026-04-20。"},"modelReleaseDate":"2026-04-20","supportedFeatures":[],"pricingTiers":[],"timePricingRules":[],"latency":303,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"happyhorse-1.0-t2v","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-07-24T06:30:19Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/kimi-k2.6/","upstreamModel":"kimi-k2.6","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"n":{"type":"integer","default":1,"maximum":128,"minimum":1,"description":"Number of choices to generate"},"seed":{"type":"integer","description":"Seed for deterministic sampling"},"stop":{"type":["string","array"],"items":{"type":"string"},"description":"Sequences that stop generation"},"model":{"type":"string","description":"The model to use"},"route":{"type":"object","description":"OpenAny route configuration, including provider and other routing parameters"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model"},"top_p":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Nucleus sampling probability"},"stream":{"type":"boolean","default":false,"description":"Whether to stream the response"},"messages":{"type":"array","items":{"type":"object"},"description":"The conversation messages"},"thinking":{"type":"object","description":"Kimi thinking configuration. K2.6 supports enabled or disabled; K2.7 Code only supports enabled."},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum completion tokens"},"route_mode":{"type":"string","description":"The mode for routing the request"},"temperature":{"type":"number","default":1,"maximum":2,"minimum":0,"description":"Sampling temperature"},"tool_choice":{"enum":["none","auto","required"],"type":["string","object"],"description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"},"stream_options":{"type":"object","description":"Streaming options, such as include_usage."},"response_format":{"type":"object","description":"Format constraint for the response"},"presence_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for previously used tokens"},"frequency_penalty":{"type":"number","default":0,"maximum":2,"minimum":-2,"description":"Penalty for repeated tokens"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum visible completion tokens"}}},"id":"archived-0","model":"kimi-k2.6","provider":"Moonshot","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"kimi-k2.6","route":{"provider":"Moonshot"}},"parameterSchema":[{"name":"frequency_penalty","label":"frequency_penalty","description":"Penalty for repeated tokens","type":"number","valueType":"number","path":"/frequency_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum visible completion tokens","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","description":"Maximum completion tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"The conversation messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"model","label":"model","description":"The model to use","type":"string","valueType":"string","path":"/model","required":true},{"name":"n","label":"n","description":"Number of choices to generate","type":"number","valueType":"integer","path":"/n","required":false,"defaultValue":1,"min":1,"max":128,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","description":"Penalty for previously used tokens","type":"number","valueType":"number","path":"/presence_penalty","required":false,"defaultValue":0,"min":-2,"max":2,"omitEmpty":true},{"name":"response_format","label":"response_format","description":"Format constraint for the response","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny route configuration, including provider and other routing parameters","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"The mode for routing the request","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"seed","label":"seed","description":"Seed for deterministic sampling","type":"number","valueType":"integer","path":"/seed","required":false,"omitEmpty":true},{"name":"stop","label":"stop","description":"Sequences that stop generation","type":"json","valueType":"string | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to stream the response","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","description":"Streaming options, such as include_usage.","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":2,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Kimi thinking configuration. K2.6 supports enabled or disabled; K2.7 Code only supports enabled.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"allowedValues":["none","auto","required"],"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling probability","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"cc0e9f7a7bbe0ead34787584381dd1d4","model":"kimi-k2.5","usage":{"total_tokens":102,"prompt_tokens":8,"completion_tokens":94,"prompt_tokens_details":{"cached_tokens":8},"completion_tokens_details":{"reasoning_tokens":83}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"The user said \"hello\". This is a simple greeting. I should respond in a friendly, helpful manner. Since there's no specific question or task yet, I'll keep it open-ended to invite further conversation.\n\nI should:\n1. Greet them back\n2. Ask how I can help them today\n3. Keep it concise and warm\n\nNo complex reasoning needed here - just a standard polite greeting response."},"finish_reason":"stop"}],"created":1793805552,"openmodels_cost":277},"responseOrigin":"user_provided_shared_example","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/kimi-k2.6/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"3d429669-b2e6-494b-92c4-68947988f14b","routeId":"2aa1114a-c1a3-4c36-b2a3-985b98050071","model":"kimi-k2.6","provider":"Moonshot","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":1,"prompt":762069,"completion":3165517,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":753103,"partnerCompletion":3128276,"partnerCacheReadPrompt":127448,"promptSource":5525000,"completionSource":22950000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":320,"billingType":"usage_flat","billingUnit":"token","modalities":["chat","coding","reasoning"],"outModalities":["chat","reasoning","coding"],"description":"kimi-k2.6 is a chat and reasoning model from Moonshot, designed for agentic workflows, software engineering and coding, multi-turn conversations, and complex reasoning and analysis.","descriptionTranslations":{"ar":"kimi-k2.6 هو نموذج للمحادثة والاستدلال من Moonshot، صُمم لسير العمل القائم على الوكلاء وهندسة البرمجيات والبرمجة والمحادثات متعددة الجولات والاستدلال والتحليل المعقدين.","ja":"kimi-k2.6はMoonshotが提供するチャット・推論モデルで、エージェント型ワークフロー、ソフトウェアエンジニアリングとコーディング、マルチターン会話、複雑な推論と分析向けに設計されています。ツール呼び出し、推論、視覚入力に対応し、262,144 tokenのコンテキストウィンドウと最大32,768 tokenの出力をサポートします。","zh":"kimi-k2.6 是 Moonshot 推出的聊天与推理模型，适用于智能体工作流、软件工程与编程、多轮对话以及复杂推理和分析。它支持工具调用、推理和视觉输入，拥有 262,144 token 的上下文窗口，最多可输出 32,768 token。NeoLink 标注的模型发布日期为 2026-04-19。"},"modelReleaseDate":"2026-04-19","supportedFeatures":["tool_calling","reasoning","vision"],"contextWindowTokens":262144,"maxOutputTokens":32768,"cacheReadPrompt":121379,"pricingTiers":[],"timePricingRules":[],"latency":1607,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"kimi-k2.6","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-07-25T07:17:48Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"128K-256K","rangeEnd":256000,"inputMode":"","rangeStart":128000,"resolution":""},"quantity":1000000,"inputPrice":"2.142857","outputPrice":"12.857143"},{"unit":"token","match":{"kind":"tier","label":"≤128K","rangeEnd":128000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"1.285714","outputPrice":"7.714286"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/qwen3.6-max-preview/","upstreamModel":"qwen3.6-max-preview","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"seed":{"type":"integer","maximum":2147483647,"minimum":0},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"integer"}}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_k":{"type":"integer","minimum":0},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"max_tokens":{"type":"integer","minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","minimum":0,"exclusiveMaximum":2},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"enable_search":{"type":"boolean"},"search_options":{"type":"object","properties":{"forced_search":{"type":"boolean"},"search_strategy":{"type":"string"},"enable_search_extension":{"type":"boolean"}}},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"thinking_budget":{"type":"integer"},"presence_penalty":{"type":"number","maximum":2,"minimum":-2},"repetition_penalty":{"type":"number","exclusiveMinimum":0},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"qwen3.6-max-preview","provider":"Alibaba","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.6-max-preview","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"enable_search","label":"enable_search","type":"boolean","valueType":"boolean","path":"/enable_search","required":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","type":"number","valueType":"number","path":"/presence_penalty","required":false,"min":-2,"max":2,"omitEmpty":true},{"name":"repetition_penalty","label":"repetition_penalty","type":"number","valueType":"number","path":"/repetition_penalty","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"search_options","label":"search_options","type":"json","valueType":"object","path":"/search_options","required":false,"omitEmpty":true},{"name":"seed","label":"seed","type":"number","valueType":"integer","path":"/seed","required":false,"min":0,"max":2147483647,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"omitEmpty":true},{"name":"thinking_budget","label":"thinking_budget","type":"number","valueType":"integer","path":"/thinking_budget","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_k","label":"top_k","type":"number","valueType":"integer","path":"/top_k","required":false,"min":0,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-9289ae36-a915-97df-8087-86ee4f3b829e","model":"qwen3.6-max-preview","usage":{"total_tokens":254,"prompt_tokens":11,"completion_tokens":243,"prompt_tokens_details":{},"completion_tokens_details":{"reasoning_tokens":227}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I assist you today? 😊","reasoning_content":"Here's a thinking process:\n\n1.  **Analyze User Input:**\n   - User said: \"hello\"\n   - This is a simple greeting.\n\n2.  **Identify Intent:**\n   - The user is initiating a conversation.\n   - No specific question or request is made.\n\n3.  **Determine Response Strategy:**\n   - Acknowledge the greeting warmly.\n   - Offer assistance.\n   - Keep it open-ended to encourage the user to share what they need.\n\n4.  **Draft Response (Internal Refinement):**\n   - \"Hello! How can I assist you today?\"\n   - \"Hi there! What can I help you with?\"\n   - \"Hello! I'm here to help. What's on your mind?\"\n\n5.  **Select Best Response:**\n   - \"Hello! How can I assist you today?\" is polite, clear, and standard for AI assistants.\n\n6.  **Final Output Generation:** (Matches the selected response)\n   - Output: \"Hello! How can I assist you today?\"✅"},"logprobs":null,"finish_reason":"stop"}],"created":1784603976,"openmodels_cost":1945,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/qwen3.6-max-preview/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"51045208-bfc2-46fc-b7d3-20b619362bbf","routeId":"9fdbc4ed-1a4e-4639-994d-db39d01fad98","model":"qwen3.6-max-preview","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":1008621,"completion":6051724,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":847241,"partnerCompletion":5083448,"partnerCacheCreationPrompt":1059052,"partnerCacheReadPrompt":84724,"promptSource":7312500,"completionSource":43875000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":330,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat","reasoning","coding"],"outModalities":["chat","reasoning","coding"],"description":"qwen3.6-max-preview is an Alibaba chat and reasoning model designed for agentic workflows, software engineering and coding, multi-turn conversations, and complex reasoning and analysis.","descriptionTranslations":{"ar":"qwen3.6-max-preview هو نموذج للمحادثة والاستدلال من Alibaba، صُمم لسير العمل القائم على الوكلاء وهندسة البرمجيات والبرمجة والمحادثات متعددة الجولات والاستدلال والتحليل المعقدين.","ja":"qwen3.6-max-previewはAlibabaが提供するチャット・推論モデルで、エージェント型ワークフロー、ソフトウェアエンジニアリングとコーディング、マルチターン会話、複雑な推論と分析向けに設計されています。ツール呼び出しと推論に対応し、256,000 tokenのコンテキストウィンドウと最大64,000 tokenの出力をサポートします。","zh":"qwen3.6-max-preview 是 Alibaba 推出的聊天与推理模型，适用于智能体工作流、软件工程与编程、多轮对话以及复杂推理和分析。它支持工具调用和推理，拥有 256,000 token 的上下文窗口，最多可输出 64,000 token。NeoLink 标注的模型发布日期为 2026-04-19。"},"modelReleaseDate":"2026-04-19","supportedFeatures":["tool_calling","reasoning"],"contextWindowTokens":256000,"maxOutputTokens":64000,"cacheCreationPrompt":1008621,"cacheReadPrompt":80690,"pricingTiers":[{"actualCompletion":35100002,"actualPrompt":5850000,"cacheCreationPrompt":1008621,"cacheReadPrompt":80690,"completion":6051725,"label":"≤128K","partnerCacheCreationPrompt":1059052,"partnerCacheReadPrompt":84724,"partnerCompletion":5083449,"partnerPrompt":847241,"prompt":1008621,"rangeEnd":128000,"rangeStart":0},{"actualCompletion":58500000,"actualPrompt":9750000,"cacheCreationPrompt":1681034,"cacheReadPrompt":134483,"completion":10086207,"label":"128K-256K","partnerCacheCreationPrompt":1765086,"partnerCacheReadPrompt":141207,"partnerCompletion":8472414,"partnerPrompt":1412069,"prompt":1681034,"rangeEnd":256000,"rangeStart":128000}],"timePricingRules":[],"latency":711,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.6-max-preview","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T12:02:51Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"≤256K","rangeEnd":256000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"0.171429","outputPrice":"1.028571"},{"unit":"token","match":{"kind":"tier","label":"256K-1M","rangeEnd":1000000,"inputMode":"","rangeStart":256000,"resolution":""},"quantity":1000000,"inputPrice":"0.685714","outputPrice":"4.114286"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/qwen3.6-flash/","upstreamModel":"qwen3.6-flash","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"seed":{"type":"integer","maximum":2147483647,"minimum":0},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"integer"}}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_k":{"type":"integer","minimum":0},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"max_tokens":{"type":"integer","minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","minimum":0,"exclusiveMaximum":2},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"tool_stream":{"type":"boolean"},"enable_search":{"type":"boolean"},"search_options":{"type":"object","properties":{"forced_search":{"type":"boolean"},"search_strategy":{"type":"string"},"enable_search_extension":{"type":"boolean"}}},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"enable_thinking":{"type":"boolean"},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"thinking_budget":{"type":"integer"},"presence_penalty":{"type":"number","maximum":2,"minimum":-2},"preserve_thinking":{"type":"boolean"},"repetition_penalty":{"type":"number","exclusiveMinimum":0},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"qwen3.6-flash","provider":"Alibaba","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.6-flash","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"enable_search","label":"enable_search","type":"boolean","valueType":"boolean","path":"/enable_search","required":false,"omitEmpty":true},{"name":"enable_thinking","label":"enable_thinking","type":"boolean","valueType":"boolean","path":"/enable_thinking","required":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","type":"number","valueType":"number","path":"/presence_penalty","required":false,"min":-2,"max":2,"omitEmpty":true},{"name":"preserve_thinking","label":"preserve_thinking","type":"boolean","valueType":"boolean","path":"/preserve_thinking","required":false,"omitEmpty":true},{"name":"repetition_penalty","label":"repetition_penalty","type":"number","valueType":"number","path":"/repetition_penalty","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"search_options","label":"search_options","type":"json","valueType":"object","path":"/search_options","required":false,"omitEmpty":true},{"name":"seed","label":"seed","type":"number","valueType":"integer","path":"/seed","required":false,"min":0,"max":2147483647,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"omitEmpty":true},{"name":"thinking_budget","label":"thinking_budget","type":"number","valueType":"integer","path":"/thinking_budget","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_k","label":"top_k","type":"number","valueType":"integer","path":"/top_k","required":false,"min":0,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-9b22f2f8-fee7-9234-b2c8-19d51861e844","model":"qwen3.6-flash","usage":{"total_tokens":233,"prompt_tokens":11,"completion_tokens":222,"prompt_tokens_details":{"text_tokens":11},"completion_tokens_details":{"text_tokens":222,"reasoning_tokens":206}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today? 😊","reasoning_content":"Here's a thinking process:\n\n1.  **Analyze User Input:**\n   - User said: \"hello\"\n   - This is a simple greeting.\n\n2.  **Identify Intent:**\n   - The user is initiating a conversation with a standard greeting.\n   - No specific question or task is provided.\n\n3.  **Determine Response Strategy:**\n   - Acknowledge the greeting warmly.\n   - Offer assistance.\n   - Keep it concise and open-ended to encourage further interaction.\n\n4.  **Draft Response (Mental):**\n   Hello! How can I assist you today?\n\n5.  **Refine Response:**\n   - Check tone: Friendly, professional.\n   - Check length: Short and appropriate.\n   - Check functionality: Invites next step.\n   - Matches standard AI greeting protocol.\n\n6.  **Final Output Generation:** (matches the refined draft)\n   \"Hello! How can I help you today?\"✅"},"logprobs":null,"finish_reason":"stop"}],"created":1784604072,"openmodels_cost":238,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/qwen3.6-flash/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"1a05065b-3551-4944-a4ea-445ee4c73fac","routeId":"7b033a81-c84a-4fd5-abda-530046665ae0","model":"qwen3.6-flash","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":134483,"completion":806897,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":112966,"partnerCompletion":677793,"partnerCacheCreationPrompt":141207,"partnerCacheReadPrompt":11297,"promptSource":975000,"completionSource":5850000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":350,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat"],"outModalities":["chat","coding","reasoning"],"description":"qwen3.6-flash is an Alibaba chat and reasoning model designed for agentic workflows, software engineering and coding, multi-turn conversations, and complex reasoning and analysis.","descriptionTranslations":{"ar":"qwen3.6-flash هو نموذج للمحادثة والاستدلال من Alibaba، صُمم لسير العمل القائم على الوكلاء وهندسة البرمجيات والبرمجة والمحادثات متعددة الجولات والاستدلال والتحليل المعقدين.","ja":"qwen3.6-flashはAlibabaが提供するチャット・推論モデルで、エージェント型ワークフロー、ソフトウェアエンジニアリングとコーディング、マルチターン会話、複雑な推論と分析向けに設計されています。ツール呼び出し、推論、視覚入力に対応し、1,000,000 tokenのコンテキストウィンドウと最大64,000 tokenの出力をサポートします。","zh":"qwen3.6-flash 是 Alibaba 推出的聊天与推理模型，适用于智能体工作流、软件工程与编程、多轮对话以及复杂推理和分析。它支持工具调用、推理和视觉输入，拥有 1,000,000 token 的上下文窗口，最多可输出 64,000 token。NeoLink 标注的模型发布日期为 2026-04-15。"},"modelReleaseDate":"2026-04-15","supportedFeatures":["tool_calling","reasoning","vision"],"contextWindowTokens":1000000,"maxOutputTokens":64000,"cacheCreationPrompt":134483,"cacheReadPrompt":10759,"pricingTiers":[{"actualCompletion":4680000,"actualPrompt":780000,"cacheCreationPrompt":134483,"cacheReadPrompt":10759,"completion":806897,"label":"≤256K","partnerCacheCreationPrompt":141207,"partnerCacheReadPrompt":11297,"partnerCompletion":677793,"partnerPrompt":112966,"prompt":134483,"rangeEnd":256000,"rangeStart":0},{"actualCompletion":18720000,"actualPrompt":3120000,"cacheCreationPrompt":537931,"cacheReadPrompt":43034,"completion":3227586,"label":"256K-1M","partnerCacheCreationPrompt":564828,"partnerCacheReadPrompt":45186,"partnerCompletion":2711172,"partnerPrompt":451862,"prompt":537931,"rangeEnd":1000000,"rangeStart":256000}],"timePricingRules":[],"latency":2213,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.6-flash","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T12:04:33Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"≤32K","rangeEnd":32000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"0.857143","outputPrice":"3.428571"},{"unit":"token","match":{"kind":"tier","label":"\u003e32K","rangeEnd":null,"inputMode":"","rangeStart":32000,"resolution":""},"quantity":1000000,"inputPrice":"1.142857","outputPrice":"4.00"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Z.ai"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/glm-5.1/","upstreamModel":"zhipu/glm-5.1","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["messages","model"],"properties":{"stop":{"type":"array","items":{"type":"string"},"maxItems":1},"model":{"type":"string"},"route":{"type":"object"},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"enum":["function"],"type":"string","default":"function"},"function":{"type":"object","required":["name","description","parameters"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64,"minLength":1},"parameters":{"type":"object","additionalProperties":true}}}},"additionalProperties":false},"maxItems":128},"top_p":{"type":"number","format":"float","default":0.95,"maximum":1,"minimum":0.01},"stream":{"type":"boolean","default":false},"user_id":{"type":"string","maxLength":128,"minLength":6},"messages":{"type":"array","items":{"oneOf":[{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user"],"type":"string","default":"user"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role","content"],"properties":{"role":{"enum":["system"],"type":"string","default":"system"},"content":{"oneOf":[{"type":"string"}]}}},{"type":"object","required":["role"],"properties":{"role":{"enum":["assistant"],"type":"string","default":"assistant"},"content":{"oneOf":[{"type":"string"}]},"tool_calls":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"enum":["function","web_search","retrieval"],"type":"string"},"function":{"type":"object","required":["name","arguments"],"properties":{"name":{"type":"string"},"arguments":{"type":"string"}}}}}}}},{"type":"object","required":["role","content","tool_call_id"],"properties":{"role":{"enum":["tool"],"type":"string","default":"tool"},"content":{"oneOf":[{"type":"string"}]},"tool_call_id":{"type":"string"}}}]},"minItems":1},"thinking":{"type":"object","properties":{"type":{"enum":["enabled","disabled"],"type":"string","default":"enabled"},"clear_thinking":{"type":"boolean","default":true}}},"do_sample":{"type":"boolean","default":true},"max_tokens":{"type":"integer","maximum":131072,"minimum":1},"request_id":{"type":"string","maxLength":64,"minLength":6},"route_mode":{"type":"string"},"temperature":{"type":"number","format":"float","default":1,"maximum":1,"minimum":0},"tool_choice":{"oneOf":[{"enum":["auto"],"type":"string"}]},"tool_stream":{"type":"boolean","default":false},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object"],"type":"string","default":"text"}}}}},"id":"archived-0","model":"glm-5.1","provider":"Z.AI","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"Hello!","role":"user"}],"model":"glm-5.1","route":{"provider":"Z.AI"},"route_mode":"balanced"},"parameterSchema":[{"name":"do_sample","label":"do_sample","type":"boolean","valueType":"boolean","path":"/do_sample","required":false,"defaultValue":true,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"max":131072,"omitEmpty":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"request_id","label":"request_id","type":"string","valueType":"string","path":"/request_id","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"array","path":"/stop","required":false,"maxItems":1,"omitEmpty":true},{"name":"stream","label":"stream","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"thinking","label":"thinking","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"maxItems":128,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"defaultValue":0.95,"min":0.01,"max":1,"omitEmpty":true},{"name":"user_id","label":"user_id","type":"string","valueType":"string","path":"/user_id","required":false,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-0758b9ab-bac7-99f3-a76c-a458c9979723","model":"glm-5.1","usage":{"total_tokens":230,"prompt_tokens":6,"completion_tokens":224,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":187}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! I'm GLM, trained by Z.ai. How can I assist you today? Whether you have questions or just want to chat, I'm happy to help.","reasoning_content":"Let me consider how to respond to this greeting effectively.\n\nThe user has started with a simple \"hello\" - this is likely the beginning of a conversation. I should respond in a way that's both welcoming and open-ended.\n\nFirst, I should acknowledge their greeting warmly. Then I should introduce myself briefly to establish context. Since this is an initial interaction, I should also express my willingness to help while inviting them to share what's on their mind.\n\nI need to make sure my response is friendly and professional, while also being concise enough not to overwhelm. The goal is to create an inviting atmosphere for further conversation.\n\nLet me craft a response that's welcoming, informative, and encourages further dialogue. I should include:\n- A warm greeting back\n- A brief introduction of who I am\n- An expression of readiness to help\n- An invitation for them to continue the conversation\n\nThis should create a good foundation for a productive interaction."},"logprobs":null,"finish_reason":"stop"}],"created":1784220767,"openmodels_cost":418,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"","sourceUrl":"https://openany.si/models/glm-5.1/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"7a4dfdd5-5edf-4b42-a728-a157744c5040","routeId":"7b57852c-c8e4-418a-b7f0-6c0e06ace4c9","model":"glm-5.1","provider":"Z.AI","modelSource":"platform","providerKind":"direct","providerLogoUrl":"https://t0.gstatic.com/faviconV2?client=SOCIAL\u0026type=FAVICON\u0026fallback_opts=TYPE,SIZE,URL\u0026url=https://z.ai/model-api\u0026size=256","upstreamPath":null,"curlExample":"curl 'https://api.openany.si/v1/chat/completions' \\\n  -H \"Authorization: Bearer $OPENANY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"model\": \"glm-5.1\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":true,"routes":2,"prompt":744828,"completion":2979310,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":782069,"partnerCompletion":3128276,"partnerCacheReadPrompt":169448,"promptSource":5400000,"completionSource":21600000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":370,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat","reasoning"],"outModalities":["chat","reasoning"],"description":"zhipu/glm-5.1 is a Zhipu AI chat and reasoning model designed for software engineering and coding, multi-turn conversations, long-context document analysis, and complex reasoning and analysis.","descriptionTranslations":{"ar":"zhipu/glm-5.1 هو نموذج دردشة واستدلال من Zhipu AI، مصمم لهندسة البرمجيات والبرمجة، والمحادثات متعددة الجولات، وتحليل المستندات ذات السياق الطويل، والاستدلال والتحليل المعقدين.","ja":"zhipu/glm-5.1はZhipu AIのチャット・推論モデルで、ソフトウェアエンジニアリングとコーディング、マルチターン会話、長いコンテキストを用いた文書分析、複雑な推論と分析向けに設計されています。対応機能には、ツール呼び出し、推論、コンテンツキャッシュが含まれます。200,000 tokenのコンテキストウィンドウをサポートし、最大128,000 tokenを出力できます。","zh":"zhipu/glm-5.1 是智谱 AI 的聊天与推理模型，适用于软件工程与编码、多轮对话、长上下文文档分析，以及复杂推理与分析。支持的能力包括工具调用、推理和内容缓存。它支持 200,000 token 的上下文窗口，最多可输出 128,000 个 token。NeoLink 列出的模型发布日期为 2026-04-02。"},"modelReleaseDate":"2026-04-02","supportedFeatures":["tool_calling","reasoning","content_caching"],"contextWindowTokens":200000,"maxOutputTokens":128000,"cacheReadPrompt":161379,"pricingTiers":[{"actualCompletion":21600000,"actualPrompt":5400000,"cacheReadPrompt":161379,"completion":2979310,"label":"≤32K","partnerCacheReadPrompt":169448,"partnerCompletion":3128276,"partnerPrompt":782069,"prompt":744828,"rangeEnd":32000,"rangeStart":0},{"actualCompletion":25200000,"actualPrompt":7200000,"cacheReadPrompt":248276,"completion":3475862,"label":"\u003e32K","partnerCacheReadPrompt":260690,"partnerCompletion":3649655,"partnerPrompt":1042759,"prompt":993103,"rangeStart":32000}],"timePricingRules":[],"latency":4390,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"glm-5.1","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T12:34:42Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"≤256K","rangeEnd":256000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"0.285714","outputPrice":"1.714286"},{"unit":"token","match":{"kind":"tier","label":"256K-1M","rangeEnd":1000000,"inputMode":"","rangeStart":256000,"resolution":""},"quantity":1000000,"inputPrice":"1.142857","outputPrice":"6.857143"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/qwen3.6-plus/","upstreamModel":"qwen3.6-plus","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"seed":{"type":"integer","maximum":2147483647,"minimum":0},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"integer"}}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_k":{"type":"integer","minimum":0},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"max_tokens":{"type":"integer","minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","minimum":0,"exclusiveMaximum":2},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"tool_stream":{"type":"boolean"},"enable_search":{"type":"boolean"},"search_options":{"type":"object","properties":{"forced_search":{"type":"boolean"},"search_strategy":{"type":"string"},"enable_search_extension":{"type":"boolean"}}},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"enable_thinking":{"type":"boolean"},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"thinking_budget":{"type":"integer"},"presence_penalty":{"type":"number","maximum":2,"minimum":-2},"preserve_thinking":{"type":"boolean"},"repetition_penalty":{"type":"number","exclusiveMinimum":0},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"qwen3.6-plus","provider":"Alibaba","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.6-plus","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"enable_search","label":"enable_search","type":"boolean","valueType":"boolean","path":"/enable_search","required":false,"omitEmpty":true},{"name":"enable_thinking","label":"enable_thinking","type":"boolean","valueType":"boolean","path":"/enable_thinking","required":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","type":"number","valueType":"number","path":"/presence_penalty","required":false,"min":-2,"max":2,"omitEmpty":true},{"name":"preserve_thinking","label":"preserve_thinking","type":"boolean","valueType":"boolean","path":"/preserve_thinking","required":false,"omitEmpty":true},{"name":"repetition_penalty","label":"repetition_penalty","type":"number","valueType":"number","path":"/repetition_penalty","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"search_options","label":"search_options","type":"json","valueType":"object","path":"/search_options","required":false,"omitEmpty":true},{"name":"seed","label":"seed","type":"number","valueType":"integer","path":"/seed","required":false,"min":0,"max":2147483647,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"omitEmpty":true},{"name":"thinking_budget","label":"thinking_budget","type":"number","valueType":"integer","path":"/thinking_budget","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_k","label":"top_k","type":"number","valueType":"integer","path":"/top_k","required":false,"min":0,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-2496b84e-745a-9d66-a591-e4820dd7054a","model":"qwen3.6-plus","usage":{"total_tokens":249,"prompt_tokens":11,"completion_tokens":238,"prompt_tokens_details":{"text_tokens":11},"completion_tokens_details":{"text_tokens":238,"reasoning_tokens":224}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I assist you today?","reasoning_content":"Here's a thinking process:\n\n1.  **Analyze User Input:**\n   - User said: \"hello\"\n   - This is a standard greeting.\n\n2.  **Identify Intent:**\n   - The user is initiating a conversation.\n   - No specific question or request is made yet.\n\n3.  **Determine Response Strategy:**\n   - Acknowledge the greeting warmly.\n   - Offer assistance.\n   - Keep it concise and open-ended to encourage the user to state their needs.\n\n4.  **Draft Response (Internal Refinement):**\n   - \"Hello! How can I assist you today?\"\n   - \"Hi there! What can I help you with?\"\n   - \"Hello! I'm here to help. What's on your mind?\"\n\n5.  **Select Best Response:**\n   - \"Hello! How can I assist you today?\" is clear, polite, and standard.\n\n6.  **Final Output Generation:** (matches the selected response)\n   - \"Hello! How can I assist you today?\"✅"},"logprobs":null,"finish_reason":"stop"}],"created":1784603764,"openmodels_cost":424,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/qwen3.6-plus/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"96dfe0a6-65c6-4c6a-821d-3525a7bb03fa","routeId":"1a2bec9e-cfaa-44d6-aa18-2fc50bf3da97","model":"qwen3.6-plus","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":true,"routes":1,"prompt":224138,"completion":1344828,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":188276,"partnerCompletion":1129655,"partnerCacheCreationPrompt":235345,"partnerCacheReadPrompt":33310,"promptSource":1625000,"completionSource":9750000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":400,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat"],"outModalities":["chat","coding","reasoning"],"description":"qwen3.6-plus is an Alibaba chat and reasoning model designed for agentic workflows, software engineering and coding, multi-turn conversations, and complex reasoning and analysis.","descriptionTranslations":{"ar":"qwen3.6-plus هو نموذج للمحادثة والاستدلال من Alibaba، صُمم لسير العمل الوكيلي وهندسة البرمجيات والبرمجة والمحادثات متعددة الجولات والاستدلال والتحليل المعقدين.","ja":"qwen3.6-plusは、エージェント型ワークフロー、ソフトウェアエンジニアリングとコーディング、マルチターン対話、複雑な推論と分析向けに設計されたAlibabaの対話・推論モデルです。ツール呼び出し、推論、画像入力に対応しています。1,000,000 tokenのコンテキストウィンドウを備え、最大64,000 tokenの出力をサポートします。","zh":"qwen3.6-plus 是阿里巴巴推出的一款对话与推理模型，适用于智能体工作流、软件工程与编码、多轮对话，以及复杂推理和分析。它支持工具调用、推理和视觉输入，提供 1,000,000 Token 的上下文窗口，最多可输出 64,000 Token。NeoLink 将该模型的发布日期列为 2026-03-31。"},"modelReleaseDate":"2026-03-31","supportedFeatures":["tool_calling","reasoning","vision"],"contextWindowTokens":1000000,"maxOutputTokens":64000,"cacheCreationPrompt":224138,"cacheReadPrompt":31724,"pricingTiers":[{"actualCompletion":7800000,"actualPrompt":1300000,"cacheCreationPrompt":224138,"cacheReadPrompt":31724,"completion":1344828,"label":"≤256K","partnerCacheCreationPrompt":235345,"partnerCacheReadPrompt":33310,"partnerCompletion":1129655,"partnerPrompt":188276,"prompt":224138,"rangeEnd":256000,"rangeStart":0},{"actualCompletion":31200000,"actualPrompt":5200000,"cacheCreationPrompt":896552,"cacheReadPrompt":71724,"completion":5379310,"label":"256K-1M","partnerCacheCreationPrompt":941379,"partnerCacheReadPrompt":75310,"partnerCompletion":4518621,"partnerPrompt":753103,"prompt":896552,"rangeEnd":1000000,"rangeStart":256000}],"timePricingRules":[],"latency":4343,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.6-plus","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T12:03:11Z"},{"officialPricing":{"unit":"image","price":"0.0300","currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Alibaba"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"wan2.7-image","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","input"],"properties":{"input":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"const":"user"},"content":{"type":"array","allOf":[{"contains":{"required":["text"]},"minContains":1},{"contains":{"required":["image"]},"maxContains":9,"minContains":0}],"items":{"type":"object","oneOf":[{"required":["text"]},{"required":["image"]}],"properties":{"text":{"type":"string","maxLength":5000},"image":{"type":"string"}}},"minItems":1}}},"maxItems":1,"minItems":1}},"description":"Request input. The prompt is provided in the content blocks of the messages array."},"model":{"type":"string","description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"parameters":{"type":"object","allOf":[{"if":{"not":{"required":["enable_sequential"],"properties":{"enable_sequential":{"const":true}}}},"then":{"properties":{"n":{"maximum":4}}}}],"properties":{"n":{"type":"integer","maximum":12,"minimum":1},"seed":{"type":"integer","maximum":2147483647,"minimum":0},"size":{"anyOf":[{"enum":["1K","2K"],"type":"string"},{"type":"string","pattern":"^[1-9][0-9]*\\*[1-9][0-9]*$"}]},"bbox_list":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"maxItems":2}},"watermark":{"type":"boolean"},"color_palette":{"type":"array","items":{"type":"object","required":["hex","ratio"],"properties":{"hex":{"type":"string"},"ratio":{"type":"string"}}},"maxItems":10,"minItems":3},"thinking_mode":{"type":"boolean"},"enable_sequential":{"type":"boolean"}},"description":"Image generation settings for Wan."},"route_mode":{"type":"string","description":"OpenAny route selection mode."}}},"id":"archived-0","model":"wan2.7-image","provider":"Alibaba","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"input":{"messages":[{"content":[{"text":"A small river flowing"}],"role":"user"}]},"model":"wan2.7-image","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"input","label":"input","description":"Request input. The prompt is provided in the content blocks of the messages array.","type":"json","valueType":"object","path":"/input","required":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parameters","label":"parameters","description":"Image generation settings for Wan.","type":"json","valueType":"object","path":"/parameters","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"13b199c0-ddde-4c6f-a374-bb6275292104","routeId":"2959525d-1157-4cb4-825a-8da8c8f4123b","model":"wan2.7-image","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST"}],"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":30345,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":18828,"partnerCompletion":0,"promptSource":219999,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":410,"billingType":"per_image","billingUnit":"image","modalities":["chat"],"outModalities":["image"],"description":"wan2.7-image is an Alibaba image generation and editing model designed for creating and editing images. Its supported capabilities include image generation.","descriptionTranslations":{"ar":"wan2.7-image هو نموذج من Alibaba لتوليد الصور وتحريرها، وقد صُمم لإنشاء الصور وتعديلها. تشمل إمكاناته المدعومة توليد الصور. يدرج NeoLink تاريخ إصداره على أنه 2026-03-31.","ja":"wan2.7-imageはAlibabaが提供する画像生成・編集モデルで、画像の作成と編集向けに設計されています。対応機能には画像生成が含まれます。NeoLinkでは、リリース日は2026-03-31と記載されています。","zh":"wan2.7-image 是 Alibaba 推出的图像生成与编辑模型，专为图像创作和编辑而设计，支持图像生成。NeoLink 标注的模型发布日期为 2026-03-31。"},"modelReleaseDate":"2026-03-31","supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":662,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"wan2.7-image","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-10-31T12:13:35Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"wan2.7-image-pro","formats":[{"jsonSchema":{"type":"object","allOf":[{"if":{"required":["parameters"],"properties":{"parameters":{"required":["size"],"properties":{"size":{"const":"4K"}}}}},"then":{"properties":{"input":{"properties":{"messages":{"items":{"properties":{"content":{"items":{"not":{"required":["image"]}}}}}}}},"parameters":{"properties":{"enable_sequential":{"const":false}}}}}}],"$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","input"],"properties":{"input":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"const":"user"},"content":{"type":"array","allOf":[{"contains":{"required":["text"]},"minContains":1},{"contains":{"required":["image"]},"maxContains":9,"minContains":0}],"items":{"type":"object","oneOf":[{"required":["text"]},{"required":["image"]}],"properties":{"text":{"type":"string","maxLength":5000},"image":{"type":"string"}}},"minItems":1}}},"maxItems":1,"minItems":1}},"description":"Request input. The prompt is provided in the content blocks of the messages array."},"model":{"type":"string","description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"parameters":{"type":"object","allOf":[{"if":{"not":{"required":["enable_sequential"],"properties":{"enable_sequential":{"const":true}}}},"then":{"properties":{"n":{"maximum":4}}}}],"properties":{"n":{"type":"integer","maximum":12,"minimum":1},"seed":{"type":"integer","maximum":2147483647,"minimum":0},"size":{"anyOf":[{"enum":["1K","2K","4K"],"type":"string"},{"type":"string","pattern":"^[1-9][0-9]*\\*[1-9][0-9]*$"}]},"bbox_list":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"maxItems":2}},"watermark":{"type":"boolean"},"color_palette":{"type":"array","items":{"type":"object","required":["hex","ratio"],"properties":{"hex":{"type":"string"},"ratio":{"type":"string"}}},"maxItems":10,"minItems":3},"thinking_mode":{"type":"boolean"},"enable_sequential":{"type":"boolean"}},"description":"Image generation settings for Wan."},"route_mode":{"type":"string","description":"OpenAny route selection mode."}}},"id":"archived-0","model":"wan2.7-image-pro","provider":"Alibaba","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"input":{"messages":[{"content":[{"text":"A small river flowing"}],"role":"user"}]},"model":"wan2.7-image-pro","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"input","label":"input","description":"Request input. The prompt is provided in the content blocks of the messages array.","type":"json","valueType":"object","path":"/input","required":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parameters","label":"parameters","description":"Image generation settings for Wan.","type":"json","valueType":"object","path":"/parameters","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true}],"responseBody":{},"responseOrigin":"missing_playground_response","responseContainsPlaceholders":false,"requestOrigin":"","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"dd14c34e-c4d9-4377-9bf6-24dac5d43438","routeId":"6615fcbe-cd3e-4dd9-bb9b-c42d1529f04d","model":"wan2.7-image-pro","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST"}],"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":75862,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":47069,"partnerCompletion":0,"promptSource":549998,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":420,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"wan2.7-image-pro is an Alibaba image generation and editing model designed for creating and editing images. Its supported capabilities include image generation.","descriptionTranslations":{"ar":"wan2.7-image-pro هو نموذج من Alibaba لتوليد الصور وتحريرها، وقد صُمم لإنشاء الصور وتعديلها. تشمل إمكاناته المدعومة توليد الصور. يدرج NeoLink تاريخ إصداره على أنه 2026-03-31.","ja":"wan2.7-image-proはAlibabaが提供する画像生成・編集モデルで、画像の作成と編集向けに設計されています。対応機能には画像生成が含まれます。NeoLinkでは、リリース日は2026-03-31と記載されています。","zh":"wan2.7-image-pro 是 Alibaba 推出的图像生成与编辑模型，专为图像创作和编辑而设计，支持图像生成。NeoLink 标注的模型发布日期为 2026-03-31。"},"modelReleaseDate":"2026-03-31","supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"wan2.7-image-pro","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-07-24T06:30:19Z"},{"officialPricing":{"unit":"image","price":"0.03","currency":"USD","quantity":1,"checkedAt":"2026-11-02","publisher":"Alibaba"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"qwen-image-2.0","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input","model"],"properties":{"input":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user"],"type":"string","description":"Message role. Must be user."},"content":{"type":"array","items":{"type":"object","oneOf":[{"required":["text"]},{"required":["image"]}],"properties":{"text":{"type":"string","description":"Image editing instruction describing the target elements and visual features. Supports Chinese and English. qwen-image-2.0 series supports up to 1300 tokens; other models support up to 800 tokens. Only one text input is supported per request."},"image":{"type":"string","description":"Input image as a public HTTP/HTTPS URL or Base64 string in data:{mime_type};base64,{data} format. Supported formats: JPG, JPEG, PNG, BMP, TIFF, WEBP, and GIF first frame only. Recommended width and height: 384 to 3072 pixels. Maximum file size: 10 MB."}}},"contains":{"type":"object","required":["text"]},"maxItems":4,"description":"Message content array. Must contain 1 to 3 image objects and exactly one text object. For multi-image input, images are referenced by position. The output aspect ratio is determined by the last image.","maxContains":1,"minContains":1}}},"maxItems":1,"minItems":1,"description":"Single-turn input. Must contain exactly one message with role user."}},"description":"Input data containing the messages array."},"model":{"type":"string"},"parameters":{"type":"object","properties":{"n":{"type":"integer","default":1,"maximum":6,"minimum":1,"description":"Number of images to generate. qwen-image-2.0, qwen-image-edit-max, and qwen-image-edit-plus series support 1 to 6. qwen-image-edit supports only 1."},"seed":{"type":"integer","maximum":2147483647,"minimum":0,"description":"Random seed. Same seed produces more consistent but not identical results. If omitted, a random seed is used."},"size":{"type":"string","description":"Output resolution in width*height format. qwen-image-2.0 series supports total pixels between 512*512 and 2048*2048. qwen-image-edit-max/plus require width and height each between 512 and 2048 and auto-adjust to the nearest multiple of 16. Recommended examples: 1024*1024, 768*1152, 1024*1536, 1152*768, 1536*1024, 720*1280, 1080*1920, 1280*720, 1920*1080. qwen-image-edit does not support this parameter."},"watermark":{"type":"boolean","default":false,"description":"Whether to add a Qwen-Image watermark to the bottom-right corner of the image."},"prompt_extend":{"type":"boolean","default":true,"description":"Whether to enable prompt rewriting. Improves results when prompts lack detail. Not supported by qwen-image-edit."},"negative_prompt":{"type":"string","description":"Content that should not appear in the generated image. Supports Chinese and English. Maximum length: 500 characters; excess content is truncated automatically."}},"description":"Image editing parameters."}}},"id":"archived-0","model":"qwen-image-2.0","provider":"Alibaba","endpointPath":"/v1/images","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"input":{"messages":[{"content":[{"image":"https://openany.si/brand/playground-default-image.png"},{"text":"Create a high-quality ecommerce poster for a white ceramic coffee cup, clean layout, realistic lighting, clear Chinese and English typography."}],"role":"user"}]},"model":"qwen-image-2.0","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"input","label":"input","description":"Input data containing the messages array.","type":"json","valueType":"object","path":"/input","required":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"parameters","label":"parameters","description":"Image editing parameters.","type":"json","valueType":"object","path":"/parameters","required":false,"omitEmpty":true}],"responseBody":{"url":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F07%2F21%2Fd1a2a417-2269-40e9-ba48-32aed019b4c9.png"},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"corrected_from_configured_prefix_rule","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"2bcaaa0c-0e54-4ce7-92b4-4ce4fe097986","routeId":"68ee3c44-d3ea-4acc-8045-cc9e55bb7ca4","model":"qwen-image-2.0","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1/images/generations","method":"POST"}],"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":23310,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":18828,"partnerCompletion":0,"promptSource":169000,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":460,"billingType":"per_image","billingUnit":"image","modalities":["image"],"outModalities":["image"],"description":"qwen-image-2.0 is an Alibaba image generation and editing model designed for creating and editing images. Its supported capabilities include image generation.","descriptionTranslations":{"ar":"qwen-image-2.0 هو نموذج من Alibaba لتوليد الصور وتحريرها، وقد صُمم لإنشاء الصور وتعديلها. تشمل إمكاناته المدعومة توليد الصور. يدرج NeoLink تاريخ إصداره على أنه 2026-03-02.","ja":"qwen-image-2.0はAlibabaが提供する画像生成・編集モデルで、画像の作成と編集向けに設計されています。対応機能には画像生成が含まれます。NeoLinkでは、リリース日は2026-03-02と記載されています。","zh":"qwen-image-2.0 是 Alibaba 推出的图像生成与编辑模型，专为图像创作和编辑而设计，支持图像生成。NeoLink 标注的模型发布日期为 2026-03-02。"},"modelReleaseDate":"2026-03-02","supportedFeatures":["image_generation"],"pricingTiers":[],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen-image-2.0","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T07:21:01Z"},{"officialPricing":{"unit":"token","prices":[{"unit":"token","match":{"kind":"tier","label":"≤128K","rangeEnd":128000,"inputMode":"","rangeStart":0,"resolution":""},"quantity":1000000,"inputPrice":"0.028571","outputPrice":"0.285714"},{"unit":"token","match":{"kind":"tier","label":"256K-1M","rangeEnd":1000000,"inputMode":"","rangeStart":256000,"resolution":""},"quantity":1000000,"inputPrice":"0.171429","outputPrice":"1.714286"},{"unit":"token","match":{"kind":"tier","label":"128K-256K","rangeEnd":256000,"inputMode":"","rangeStart":128000,"resolution":""},"quantity":1000000,"inputPrice":"0.114286","outputPrice":"1.142857"}],"currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Alibaba"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-chat-completions","sourceUrl":"https://openany.si/models/qwen3.5-flash/","upstreamModel":"qwen3.5-flash","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","messages"],"properties":{"seed":{"type":"integer","maximum":2147483647,"minimum":0},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"integer"}}]},"model":{"type":"string","minLength":1,"description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"tools":{"type":"array","items":{"type":"object","required":["type","function"],"properties":{"type":{"const":"function"},"function":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"parameters":{"type":"object"},"description":{"type":"string"}}}}}},"top_k":{"type":"integer","minimum":0},"top_p":{"type":"number","maximum":1,"exclusiveMinimum":0},"stream":{"type":"boolean","description":"Enable streaming responses."},"messages":{"type":"array","items":{"type":"object","allOf":[{"if":{"properties":{"role":{"enum":["user","system","developer"]}}},"then":{"required":["content"],"properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}}]}}}},{"if":{"properties":{"role":{"const":"tool"}}},"then":{"required":["tool_call_id","content"]}}],"required":["role"],"properties":{"name":{"type":"string"},"role":{"enum":["system","user","assistant","tool"],"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"text":{"type":"string"},"type":{"type":"string"},"image_url":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object"}},"tool_call_id":{"type":"string"},"reasoning_content":{"type":"string"}}},"minItems":1,"description":"Messages in conversation order."},"max_tokens":{"type":"integer","minimum":1},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"temperature":{"type":"number","minimum":0,"exclusiveMaximum":2},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"}]},"tool_stream":{"type":"boolean"},"enable_search":{"type":"boolean"},"search_options":{"type":"object","properties":{"forced_search":{"type":"boolean"},"search_strategy":{"type":"string"},"enable_search_extension":{"type":"boolean"}}},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}}},"enable_thinking":{"type":"boolean"},"response_format":{"type":"object","required":["type"],"properties":{"type":{"enum":["text","json_object","json_schema"],"type":"string"},"json_schema":{"type":"object","required":["name","schema"],"properties":{"name":{"type":"string"},"schema":{"type":"object"},"strict":{"type":"boolean"},"description":{"type":"string"}}}}},"thinking_budget":{"type":"integer"},"presence_penalty":{"type":"number","maximum":2,"minimum":-2},"repetition_penalty":{"type":"number","exclusiveMinimum":0},"parallel_tool_calls":{"type":"boolean"},"max_completion_tokens":{"type":"integer","minimum":1,"description":"Maximum number of output tokens to generate."}}},"id":"archived-0","model":"qwen3.5-flash","provider":"Alibaba","endpointPath":"/v1/chat/completions","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/chat/completions","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"messages":[{"content":"hello","role":"user"}],"model":"qwen3.5-flash","route":{"provider":"Alibaba"}},"parameterSchema":[{"name":"enable_search","label":"enable_search","type":"boolean","valueType":"boolean","path":"/enable_search","required":false,"omitEmpty":true},{"name":"enable_thinking","label":"enable_thinking","type":"boolean","valueType":"boolean","path":"/enable_thinking","required":false,"omitEmpty":true},{"name":"max_completion_tokens","label":"max_completion_tokens","description":"Maximum number of output tokens to generate.","type":"number","valueType":"integer","path":"/max_completion_tokens","required":false,"min":1,"omitEmpty":true},{"name":"max_tokens","label":"max_tokens","type":"number","valueType":"integer","path":"/max_tokens","required":false,"min":1,"omitEmpty":true},{"name":"messages","label":"messages","description":"Messages in conversation order.","type":"json","valueType":"array","path":"/messages","required":true,"minItems":1},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"parallel_tool_calls","label":"parallel_tool_calls","type":"boolean","valueType":"boolean","path":"/parallel_tool_calls","required":false,"omitEmpty":true},{"name":"presence_penalty","label":"presence_penalty","type":"number","valueType":"number","path":"/presence_penalty","required":false,"min":-2,"max":2,"omitEmpty":true},{"name":"repetition_penalty","label":"repetition_penalty","type":"number","valueType":"number","path":"/repetition_penalty","required":false,"omitEmpty":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true},{"name":"search_options","label":"search_options","type":"json","valueType":"object","path":"/search_options","required":false,"omitEmpty":true},{"name":"seed","label":"seed","type":"number","valueType":"integer","path":"/seed","required":false,"min":0,"max":2147483647,"omitEmpty":true},{"name":"stop","label":"stop","type":"json","valueType":"string | array | array","path":"/stop","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Enable streaming responses.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"omitEmpty":true},{"name":"stream_options","label":"stream_options","type":"json","valueType":"object","path":"/stream_options","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","type":"number","valueType":"number","path":"/temperature","required":false,"min":0,"omitEmpty":true},{"name":"thinking_budget","label":"thinking_budget","type":"number","valueType":"integer","path":"/thinking_budget","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","type":"json","valueType":"string | object","path":"/tool_choice","required":false,"omitEmpty":true},{"name":"tool_stream","label":"tool_stream","type":"boolean","valueType":"boolean","path":"/tool_stream","required":false,"omitEmpty":true},{"name":"tools","label":"tools","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_k","label":"top_k","type":"number","valueType":"integer","path":"/top_k","required":false,"min":0,"omitEmpty":true},{"name":"top_p","label":"top_p","type":"number","valueType":"number","path":"/top_p","required":false,"max":1,"omitEmpty":true}],"responseBody":{"id":"chatcmpl-003ac1f2-1798-9886-a339-9ed7570480ab","model":"qwen3.5-flash","usage":{"total_tokens":307,"prompt_tokens":11,"completion_tokens":296,"prompt_tokens_details":{"text_tokens":11},"completion_tokens_details":{"text_tokens":296,"reasoning_tokens":282}},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","reasoning_content":"Thinking Process:\n\n1.  **Analyze the Input:**\n    *   Input: \"hello\"\n    *   Intent: Greeting.\n    *   Tone: Friendly, casual.\n    *   Context: Start of a conversation.\n\n2.  **Determine the appropriate response:**\n    *   Acknowledge the greeting.\n    *   Offer assistance.\n    *   Keep it friendly and open-ended.\n    *   Maintain a helpful persona.\n\n3.  **Draft potential responses:**\n    *   \"Hello! How can I help you?\"\n    *   \"Hi there! What's on your mind today?\"\n    *   \"Hello! Nice to meet you. Anything specific you'd like to discuss?\"\n    *   \"Hey! How's it going?\"\n\n4.  **Select the best option:**\n    *   A combination of friendly greeting + offer of help is standard and effective.\n    *   \"Hello! How can I assist you today?\" is clear and professional yet warm.\n\n5.  **Final Polish:**\n    *   Make it concise.\n    *   Add an emoji if appropriate (optional, but often adds warmth). Let's keep it text-focused but friendly.\n\n6.  **Final Output Generation:** \"Hello! How can I help you today?\" or similar.cw"},"logprobs":null,"finish_reason":"stop"}],"created":1784604706,"openmodels_cost":88,"system_fingerprint":null},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"generated_from_configuration","sourceUrl":"https://openany.si/models/qwen3.5-flash/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"5fa98e01-8793-4683-bab4-bfdec4ac1961","routeId":"9da8aeac-7cf2-4add-a29f-761a6ea3a57a","model":"qwen3.5-flash","provider":"Alibaba","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":null,"curlExample":"","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":22414,"completion":224138,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":18828,"partnerCompletion":188276,"partnerCacheCreationPrompt":23534,"partnerCacheReadPrompt":1883,"promptSource":162500,"completionSource":1625000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":490,"billingType":"usage_tiered","billingUnit":"token","modalities":["chat"],"outModalities":["chat","coding","reasoning"],"description":"qwen3.5-flash is an Alibaba chat and reasoning model designed for multi-turn conversations, complex reasoning and analysis, and vision-enabled analysis.","descriptionTranslations":{"ar":"qwen3.5-flash هو نموذج للمحادثة والاستدلال من Alibaba، صُمم للمحادثات متعددة الجولات والاستدلال والتحليل المعقدين والتحليل المدعوم بالرؤية.","ja":"qwen3.5-flashはAlibabaが提供するチャット・推論モデルで、マルチターン会話、複雑な推論と分析、視覚を活用した分析向けに設計されています。ツール呼び出し、推論、視覚入力に対応し、1,000,000 tokenのコンテキストウィンドウと最大64,000 tokenの出力をサポートします。NeoLinkでは、リリース日は2026-02-22と記載されています。","zh":"qwen3.5-flash 是 Alibaba 推出的聊天与推理模型，适用于多轮对话、复杂推理与分析以及视觉分析。它支持工具调用、推理和视觉输入，拥有 1,000,000 token 的上下文窗口，最多可输出 64,000 token。NeoLink 标注的模型发布日期为 2026-02-22。"},"modelReleaseDate":"2026-02-22","supportedFeatures":["tool_calling","reasoning","vision"],"contextWindowTokens":1000000,"maxOutputTokens":64000,"cacheCreationPrompt":22414,"cacheReadPrompt":1793,"pricingTiers":[{"actualCompletion":1300000,"actualPrompt":130000,"cacheCreationPrompt":22414,"cacheReadPrompt":1793,"completion":224138,"label":"≤128K","partnerCacheCreationPrompt":23534,"partnerCacheReadPrompt":1883,"partnerCompletion":188276,"partnerPrompt":18828,"prompt":22414,"rangeEnd":128000,"rangeStart":0},{"actualCompletion":5200000,"actualPrompt":520000,"cacheCreationPrompt":89655,"cacheReadPrompt":7172,"completion":896552,"label":"128K-256K","partnerCacheCreationPrompt":94138,"partnerCacheReadPrompt":7531,"partnerCompletion":753103,"partnerPrompt":75310,"prompt":89655,"rangeEnd":256000,"rangeStart":128000},{"actualCompletion":7800000,"actualPrompt":780000,"cacheCreationPrompt":134483,"cacheReadPrompt":10759,"completion":1344828,"label":"256K-1M","partnerCacheCreationPrompt":141207,"partnerCacheReadPrompt":11297,"partnerCompletion":1129655,"partnerPrompt":112966,"prompt":134483,"rangeEnd":1000000,"rangeStart":256000}],"timePricingRules":[],"latency":0,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"qwen3.5-flash","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T12:01:54Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"anthropic-messages","sourceUrl":"https://openany.si/models/cl-op-4.6/","upstreamModel":"cl-op-4.6","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["max_tokens","messages","model"],"properties":{"model":{"type":"string"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model. Each tool should define name, description, and input_schema."},"top_k":{"type":"integer","description":"Sample only from the top K most likely tokens. Prefer changing only one of temperature, top_p, or top_k."},"top_p":{"type":"number","maximum":1,"minimum":0,"description":"Nucleus sampling threshold from 0.0 to 1.0. Prefer changing only one of temperature, top_p, or top_k."},"stream":{"type":"boolean","default":false,"description":"Whether to enable Server-Sent Events streaming output."},"system":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type","text"],"properties":{"text":{"type":"string"},"type":{"const":"text"}}}}]},"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user","assistant"],"type":"string","description":"Message role. The Messages API does not support a system role inside messages; use the top-level system parameter instead."},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string"}}}}],"description":"Message content. Can be a string or an array of typed content blocks such as text, image, tool_result, or document blocks."}}}},"metadata":{"type":"object","properties":{"user_id":{"type":"string","description":"End-user identifier used for abuse monitoring and tracing."}},"description":"Metadata object. Can include user_id to identify the end user for abuse monitoring and tracing. Example: {\"user_id\":\"user-123\"}."},"thinking":{"type":"object","properties":{"type":{"enum":["adaptive","enabled"],"type":"string","description":"Thinking mode type. adaptive is recommended and lets the model decide when and how deeply to think. enabled is supported by older models and usually requires budget_tokens."},"budget_tokens":{"type":"integer","description":"Token budget for extended thinking. Used with older enabled thinking mode when supported by the model."}},"description":"Extended thinking configuration for supported models."},"max_tokens":{"type":"integer","description":"Maximum number of tokens to generate. This is required by Anthropic and is a hard limit for total output, including thinking and visible response content."},"temperature":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Sampling temperature from 0.0 to 1.0. Higher values make output more random; lower values make output more deterministic. Prefer changing only one of temperature, top_p, or top_k."},"tool_choice":{"type":"object","default":{"type":"auto"},"description":"Controls tool use behavior. Use {\"type\":\"auto\"}, {\"type\":\"any\"}, or {\"type\":\"tool\",\"name\":\"tool_name\"}."},"stop_sequences":{"type":"array","items":{"type":"string"},"description":"Custom stop sequences. Supports up to 4 strings. Generation stops when any sequence is produced, and the stop sequence is not included in the output."}}},"id":"archived-0","model":"claude-opus-4-6","provider":"Anthropic","endpointPath":"/v1/messages","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/messages","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"max_tokens":1024,"messages":[{"content":"Hello!","role":"user"}],"model":"claude-opus-4-6","route":{"provider":"Anthropic"},"route_mode":"balanced"},"parameterSchema":[{"name":"max_tokens","label":"max_tokens","description":"Maximum number of tokens to generate. This is required by Anthropic and is a hard limit for total output, including thinking and visible response content.","type":"number","valueType":"integer","path":"/max_tokens","required":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"metadata","label":"metadata","description":"Metadata object. Can include user_id to identify the end user for abuse monitoring and tracing. Example: {\"user_id\":\"user-123\"}.","type":"json","valueType":"object","path":"/metadata","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"stop_sequences","label":"stop_sequences","description":"Custom stop sequences. Supports up to 4 strings. Generation stops when any sequence is produced, and the stop sequence is not included in the output.","type":"json","valueType":"array","path":"/stop_sequences","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to enable Server-Sent Events streaming output.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"system","label":"system","type":"json","valueType":"string | array","path":"/system","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature from 0.0 to 1.0. Higher values make output more random; lower values make output more deterministic. Prefer changing only one of temperature, top_p, or top_k.","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Extended thinking configuration for supported models.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Controls tool use behavior. Use {\"type\":\"auto\"}, {\"type\":\"any\"}, or {\"type\":\"tool\",\"name\":\"tool_name\"}.","type":"json","valueType":"object","path":"/tool_choice","required":false,"defaultValue":{"type":"auto"},"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model. Each tool should define name, description, and input_schema.","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_k","label":"top_k","description":"Sample only from the top K most likely tokens. Prefer changing only one of temperature, top_p, or top_k.","type":"number","valueType":"integer","path":"/top_k","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling threshold from 0.0 to 1.0. Prefer changing only one of temperature, top_p, or top_k.","type":"number","valueType":"number","path":"/top_p","required":false,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"msg_011CdEWy7fWW2KvuEkvc8yhs","cost":{"usd":0,"diem":0.0020418},"model":"claude-opus-4-6","usage":{"total_tokens":2712,"prompt_tokens":2699,"completion_tokens":13,"prompt_tokens_details":{"cached_tokens":2693},"cache_read_input_tokens":2693},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How can I help you today?","refusal":null},"finish_reason":"stop"}],"created":1784605633,"openmodels_cost":0,"venice_parameters":{"enable_e2ee":true,"enable_x_search":false,"disable_thinking":false,"enable_web_search":"off","enable_web_scraping":false,"enable_web_citations":false,"web_search_citations":[],"strip_thinking_response":false,"include_venice_system_prompt":true,"include_search_results_in_stream":false,"return_search_results_as_documents":false},"usage_from_consumer":{"total_tokens":14,"prompt_tokens":5,"completion_tokens":9}},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"https://openany.si/models/cl-op-4.6/","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"57496b8a-e5cb-4a1a-83f7-c62ea47ab84c","routeId":"bdc5f79f-0c83-439b-b6bb-1459d02ddd62","model":"claude-opus-4-6","provider":"Anthropic","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/Anthropic.svg","upstreamPath":[{"type":"generations","path":"/api/v1/messages","method":"POST"}],"curlExample":"curl https://api.getopenmodels.com/v1/messages \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -d '{\n  \"model\": \"claude-opus-4-6\",\n  \"route\": {\n    \"provider\": \"\u003cprovider-for-this-model\u003e\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":false,"isDefaultRoute":false,"routes":1,"prompt":4827586,"completion":24137931,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":5068966,"partnerCompletion":25344828,"partnerCacheCreationPrompt":6336207,"partnerCacheReadPrompt":506897,"promptSource":35000000,"completionSource":175000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":520,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"cl-op-4.6 is an Anthropic chat and reasoning model designed for agentic workflows, software engineering and coding, multi-turn conversations, and long-context document analysis.","descriptionTranslations":{"ar":"cl-op-4.6 هو نموذج دردشة واستدلال من Anthropic، مصمم لمسارات عمل الوكلاء، وهندسة البرمجيات والبرمجة، والمحادثات متعددة الجولات، وتحليل المستندات ذات السياق الطويل.","ja":"cl-op-4.6はAnthropicのチャット・推論モデルで、エージェント型ワークフロー、ソフトウェアエンジニアリングとコーディング、マルチターン会話、長いコンテキストを用いた文書分析向けに設計されています。対応機能には、ツール呼び出しとコンテンツキャッシュが含まれます。1,000,000 tokenのコンテキストウィンドウをサポートし、最大128,000 tokenを出力できます。","zh":"cl-op-4.6 是 Anthropic 的聊天与推理模型，适用于智能体工作流、软件工程与编码、多轮对话，以及长上下文文档分析。支持的能力包括工具调用和内容缓存。它支持 1,000,000 token 的上下文窗口，最多可输出 128,000 个 token。NeoLink 列出的模型发布日期为 2026-02-16。"},"modelReleaseDate":"2026-02-16","supportedFeatures":["tool_calling","content_caching"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheCreationPrompt":6034483,"cacheReadPrompt":482759,"pricingTiers":[],"timePricingRules":[],"latency":3554,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"claude-opus-4-6","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-08-13T04:35:20Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"anthropic-messages","upstreamModel":"cl-so-4.6","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["max_tokens","messages","model"],"properties":{"model":{"type":"string"},"tools":{"type":"array","items":{"type":"object"},"description":"Tools available to the model. Each tool should define name, description, and input_schema."},"top_k":{"type":"integer","description":"Sample only from the top K most likely tokens. Prefer changing only one of temperature, top_p, or top_k."},"top_p":{"type":"number","maximum":1,"minimum":0,"description":"Nucleus sampling threshold from 0.0 to 1.0. Prefer changing only one of temperature, top_p, or top_k."},"stream":{"type":"boolean","default":false,"description":"Whether to enable Server-Sent Events streaming output."},"system":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type","text"],"properties":{"text":{"type":"string"},"type":{"const":"text"}}}}]},"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"enum":["user","assistant"],"type":"string","description":"Message role. The Messages API does not support a system role inside messages; use the top-level system parameter instead."},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string"}}}}],"description":"Message content. Can be a string or an array of typed content blocks such as text, image, tool_result, or document blocks."}}}},"metadata":{"type":"object","properties":{"user_id":{"type":"string","description":"End-user identifier used for abuse monitoring and tracing."}},"description":"Metadata object. Can include user_id to identify the end user for abuse monitoring and tracing. Example: {\"user_id\":\"user-123\"}."},"thinking":{"type":"object","properties":{"type":{"enum":["adaptive","enabled"],"type":"string","description":"Thinking mode type. adaptive is recommended and lets the model decide when and how deeply to think. enabled is supported by older models and usually requires budget_tokens."},"budget_tokens":{"type":"integer","description":"Token budget for extended thinking. Used with older enabled thinking mode when supported by the model."}},"description":"Extended thinking configuration for supported models."},"max_tokens":{"type":"integer","description":"Maximum number of tokens to generate. This is required by Anthropic and is a hard limit for total output, including thinking and visible response content."},"temperature":{"type":"number","default":1,"maximum":1,"minimum":0,"description":"Sampling temperature from 0.0 to 1.0. Higher values make output more random; lower values make output more deterministic. Prefer changing only one of temperature, top_p, or top_k."},"tool_choice":{"type":"object","default":{"type":"auto"},"description":"Controls tool use behavior. Use {\"type\":\"auto\"}, {\"type\":\"any\"}, or {\"type\":\"tool\",\"name\":\"tool_name\"}."},"stop_sequences":{"type":"array","items":{"type":"string"},"description":"Custom stop sequences. Supports up to 4 strings. Generation stops when any sequence is produced, and the stop sequence is not included in the output."}}},"id":"archived-0","model":"claude-sonnet-4-6","provider":"Anthropic","endpointPath":"/v1/messages","upstreamPath":"","requestKind":"chat","inputMode":"","displayName":"/v1/messages","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"max_tokens":1024,"messages":[{"content":"hello","role":"user"}],"model":"claude-sonnet-4-6","route":{"provider":"Anthropic"}},"parameterSchema":[{"name":"max_tokens","label":"max_tokens","description":"Maximum number of tokens to generate. This is required by Anthropic and is a hard limit for total output, including thinking and visible response content.","type":"number","valueType":"integer","path":"/max_tokens","required":true},{"name":"messages","label":"messages","type":"json","valueType":"array","path":"/messages","required":true},{"name":"metadata","label":"metadata","description":"Metadata object. Can include user_id to identify the end user for abuse monitoring and tracing. Example: {\"user_id\":\"user-123\"}.","type":"json","valueType":"object","path":"/metadata","required":false,"omitEmpty":true},{"name":"model","label":"model","type":"string","valueType":"string","path":"/model","required":true},{"name":"stop_sequences","label":"stop_sequences","description":"Custom stop sequences. Supports up to 4 strings. Generation stops when any sequence is produced, and the stop sequence is not included in the output.","type":"json","valueType":"array","path":"/stop_sequences","required":false,"omitEmpty":true},{"name":"stream","label":"stream","description":"Whether to enable Server-Sent Events streaming output.","type":"boolean","valueType":"boolean","path":"/stream","required":false,"defaultValue":false,"omitEmpty":true},{"name":"system","label":"system","type":"json","valueType":"string | array","path":"/system","required":false,"omitEmpty":true},{"name":"temperature","label":"temperature","description":"Sampling temperature from 0.0 to 1.0. Higher values make output more random; lower values make output more deterministic. Prefer changing only one of temperature, top_p, or top_k.","type":"number","valueType":"number","path":"/temperature","required":false,"defaultValue":1,"min":0,"max":1,"omitEmpty":true},{"name":"thinking","label":"thinking","description":"Extended thinking configuration for supported models.","type":"json","valueType":"object","path":"/thinking","required":false,"omitEmpty":true},{"name":"tool_choice","label":"tool_choice","description":"Controls tool use behavior. Use {\"type\":\"auto\"}, {\"type\":\"any\"}, or {\"type\":\"tool\",\"name\":\"tool_name\"}.","type":"json","valueType":"object","path":"/tool_choice","required":false,"defaultValue":{"type":"auto"},"omitEmpty":true},{"name":"tools","label":"tools","description":"Tools available to the model. Each tool should define name, description, and input_schema.","type":"json","valueType":"array","path":"/tools","required":false,"omitEmpty":true},{"name":"top_k","label":"top_k","description":"Sample only from the top K most likely tokens. Prefer changing only one of temperature, top_p, or top_k.","type":"number","valueType":"integer","path":"/top_k","required":false,"omitEmpty":true},{"name":"top_p","label":"top_p","description":"Nucleus sampling threshold from 0.0 to 1.0. Prefer changing only one of temperature, top_p, or top_k.","type":"number","valueType":"number","path":"/top_p","required":false,"min":0,"max":1,"omitEmpty":true}],"responseBody":{"id":"msg_bdrk_01Bg1KUdHeA2Nf2TMgxsQ2P2","model":"claude-sonnet-4-6","usage":{"input_tokens":0,"total_tokens":31,"output_tokens":0,"prompt_tokens":8,"completion_tokens":23,"input_tokens_details":null,"prompt_tokens_details":{"text_tokens":0,"audio_tokens":0,"image_tokens":0,"cached_tokens":0},"completion_tokens_details":{"text_tokens":0,"audio_tokens":0,"image_tokens":0,"reasoning_tokens":0},"claude_cache_creation_1_h_tokens":0,"claude_cache_creation_5_m_tokens":0},"object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! How are you doing? Is there something I can help you with today? 😊"},"finish_reason":"stop"}],"created":1784810011,"openmodels_cost":380},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"cc60e44f-2c35-47cb-920c-2d405edeaf96","routeId":"991e5bf7-d52d-44d2-a9cb-d9748c8d36fb","model":"claude-sonnet-4-6","provider":"Anthropic","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://registry.npmmirror.com/@lobehub/icons-static-svg/1.91.0/files/icons/Anthropic.svg","upstreamPath":[{"type":"generations","path":"/api/v1/messages","method":"POST"}],"curlExample":"curl https://api.getopenmodels.com/api/v1/messages \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -d '{\n  \"model\": \"claude-sonnet-4-6\",\n  \"route\": {\n    \"provider\": \"Anthropic\"\n  },\n  \"route_mode\": \"balanced\",\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello!\"\n    }\n  ]\n}'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":2896552,"completion":14482759,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":3041379,"partnerCompletion":15206897,"partnerCacheCreationPrompt":3801724,"partnerCacheReadPrompt":304138,"promptSource":21000000,"completionSource":105000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":530,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["chat"],"description":"cl-so-4.6 is a Anthropic chat and reasoning model for agentic workflows, software engineering and coding, multi-turn conversation, long-context document analysis. Supported capabilities include tool calling, content caching. It supports a 1,000,000-token context window and up to 128,000 output tokens. NeoLink lists the model release date as 2026-02-16.","descriptionTranslations":{},"modelReleaseDate":"2026-02-16","supportedFeatures":["tool_calling","content_caching"],"contextWindowTokens":1000000,"maxOutputTokens":128000,"cacheCreationPrompt":3620690,"cacheReadPrompt":289655,"pricingTiers":[],"timePricingRules":[],"latency":1269,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"claude-sonnet-4-6","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-09-14T02:45:47Z"},{"officialPricing":{"unit":"token","currency":"USD","quantity":1000000,"checkedAt":"2026-11-02","publisher":"Google","inputPrice":"2","outputPrice":"120"},"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"ge-3-pr-im-p","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","contents"],"properties":{"model":{"type":"string","description":"Public model name used by OpenAny."},"route":{"type":"object","properties":{"provider":{"type":"string"}},"description":"OpenAny routing settings."},"contents":{"type":"array","items":{"type":"object","required":["parts"],"properties":{"role":{"enum":["user","model"],"type":"string"},"parts":{"type":"array","items":{"type":"object","anyOf":[{"required":["text"]},{"required":["inlineData"]},{"required":["fileData"]}],"properties":{"text":{"type":"string"},"fileData":{"type":"object","required":["fileUri"],"properties":{"fileUri":{"type":"string"},"mimeType":{"type":"string"}}},"inlineData":{"type":"object","required":["mimeType","data"],"properties":{"data":{"type":"string"},"mimeType":{"type":"string"}}},"thoughtSignature":{"type":"string"}}},"minItems":1}}},"minItems":1,"description":"Gemini input content. Each entry contains a parts array."},"route_mode":{"type":"string","description":"OpenAny route selection mode."},"response_format":{"type":"object","properties":{"type":{"type":"string"},"mime_type":{"type":"string"},"aspect_ratio":{"type":"string"}}},"generationConfig":{"type":"object","properties":{"imageConfig":{"type":"object","properties":{"imageSize":{"enum":["1K","2K","4K"],"type":"string"},"aspectRatio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"type":"string"}}},"responseFormat":{"type":"object","properties":{"image":{"type":"object","properties":{"mimeType":{"type":"string"},"imageSize":{"enum":["1K","2K","4K"],"type":"string"},"aspectRatio":{"enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"type":"string"}}}}},"responseModalities":{"type":"array","items":{"enum":["TEXT","IMAGE"],"type":"string"},"minItems":1}},"description":"Output modalities and image generation settings for Gemini."}}},"id":"archived-0","model":"gemini-3-pro-image","provider":"Google","endpointPath":"/v1/images/generations","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images/generations","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"contents":[{"parts":[{"text":"Generate an image of a Chinese Li Hua cat in a modern studio product-photo style."}]}],"model":"gemini-3-pro-image","response_format":{"aspect_ratio":"1:1","mime_type":"image/png","type":"image"},"route":{"provider":"Google"}},"parameterSchema":[{"name":"contents","label":"contents","description":"Gemini input content. Each entry contains a parts array.","type":"json","valueType":"array","path":"/contents","required":true,"minItems":1},{"name":"generationConfig","label":"generationConfig","description":"Output modalities and image generation settings for Gemini.","type":"json","valueType":"object","path":"/generationConfig","required":false,"omitEmpty":true},{"name":"model","label":"model","description":"Public model name used by OpenAny.","type":"string","valueType":"string","path":"/model","required":true},{"name":"response_format","label":"response_format","type":"json","valueType":"object","path":"/response_format","required":false,"omitEmpty":true},{"name":"route","label":"route","description":"OpenAny routing settings.","type":"json","valueType":"object","path":"/route","required":false,"omitEmpty":true},{"name":"route_mode","label":"route_mode","description":"OpenAny route selection mode.","type":"string","valueType":"string","path":"/route_mode","required":false,"omitEmpty":true}],"responseBody":{"candidates":[{"index":0,"content":{"role":"model","parts":[{"inlineData":{"data":"https://openmodels.market/api/v1/public/files/download?key=key-market%2Fplaygrounds%2F2026%2F09%2F11%2Faa082ba4-54a5-4471-a909-40b00915891e.jpg","mimeType":"image/jpeg"}}]},"finishReason":"STOP"}],"request_id":"5d5baf6e-de57-4753-b666-aceacb3010c1","modelVersion":"gemini-3-pro-image","tokenhub_usage":{"total_tokens":135098},"openmodels_cost":200107},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"c0046e27-316a-41ca-af20-b23a7c8dd947","routeId":"c89af8f6-4add-491c-adfb-a02cddc68a98","model":"gemini-3-pro-image","provider":"Google","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1beta/models/ge-3-pr-im-p:generateContent","method":"POST"}],"curlExample":"curl https://api.getopenmodels.com/v1/images/generations \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -d '{\n         \"contents\": [\n             {\n                 \"parts\": [\n                     {\n                         \"text\": \"An elegant commercial product photograph\"\n                     }\n                 ]\n             }\n         ],\n         \"response_format\": {\n              \"mime_type\": \"image/png\",\n              \"type\": \"image\",\n              \"aspect_ratio\": \"1:1\"\n         },\n  \"model\": \"gemini-2.5-flash-image\",\n  \"route\": {\n    \"provider\": \"Google\"\n  }\n     }'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":2124138,"completion":127448276,"imageCompletion":0,"partnerPriceMultiplierBps":10500,"partnerPrompt":1622069,"partnerCompletion":97324138,"promptSource":15400000,"completionSource":924000000,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":800,"billingType":"usage_flat","billingUnit":"token","modalities":["chat"],"outModalities":["image"],"description":"ge-3-pr-im-p is a Google image generation and editing model designed for complex reasoning and analysis, image creation, and image editing.","descriptionTranslations":{"ar":"ge-3-pr-im-p هو نموذج من Google لتوليد الصور وتحريرها، مصمم للاستدلال والتحليل المعقدين، وإنشاء الصور، وتحرير الصور.","ja":"ge-3-pr-im-pはGoogleの画像生成・編集モデルで、複雑な推論と分析、画像作成、画像編集向けに設計されています。対応機能には、ツール呼び出し、推論、コンテンツキャッシュ、画像生成が含まれます。65,536 tokenのコンテキストウィンドウをサポートし、最大32,768 tokenを出力できます。NeoLinkに記載されているモデルのリリース日は2025-11-19です。","zh":"ge-3-pr-im-p 是 Google 的图像生成与编辑模型，适用于复杂推理与分析、图像创作和图像编辑。支持的能力包括工具调用、推理、内容缓存和图像生成。它支持 65,536 token 的上下文窗口，最多可输出 32,768 个 token。NeoLink 列出的模型发布日期为 2025-11-19。"},"modelReleaseDate":"2025-11-19","supportedFeatures":["tool_calling","reasoning","content_caching","image_generation"],"contextWindowTokens":65536,"maxOutputTokens":32768,"pricingTiers":[],"timePricingRules":[],"latency":480,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gemini-3-pro-image","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-11-02T03:40:10Z"},{"importedInterface":{"source":"candidate","status":"available","protocol":"openai-images","upstreamModel":"ge-2.5-fl-im","formats":[{"jsonSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["model","contents"],"properties":{"model":{"type":"string","description":"Model selection."},"logoAdd":{"enum":[0,1],"type":"integer","default":0,"description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it."},"contents":{"type":"array","items":{"type":"object","required":["parts"],"properties":{"role":{"enum":["user"],"type":"string","default":"user","description":"Message role."},"parts":{"type":"array","items":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"Text prompt."},"inlineData":{"type":"object","properties":{"data":{"type":"string","description":"Input image data."},"mimeType":{"type":"string","description":"MIME type of the input image, such as image/png."}},"description":"Input image data for image editing."}}},"description":"Content parts. Each part can contain text or inline image data."}}},"description":"Multi-turn conversation content, including role and parts. Can include images for editing."},"responseFormat":{"enum":["url","b64_json"],"type":"string","default":"url","description":"Image response format. Available values are url and b64_json."},"generationConfig":{"type":"object","properties":{"responseFormat":{"type":"object","properties":{"image":{"type":"object","properties":{"imageSize":{"enum":["1K","2K","4K"],"type":"string","description":"Output image size."},"aspectRatio":{"enum":["16:9","1:1","4:3","3:4","9:16"],"type":"string","description":"Output image aspect ratio."}},"description":"Image output configuration."}},"description":"Response format configuration."},"responseModalities":{"type":"array","items":{"type":"string"},"default":["IMAGE"],"description":"Response modalities. Use [\"IMAGE\"] for image output."}},"description":"Generation configuration."}}},"id":"archived-0","model":"gemini-2.5-flash-image","provider":"Google","endpointPath":"/v1/images/generations","upstreamPath":"","queryEndpointPath":"/v1/images/{task_id}","requestKind":"image","inputMode":"","displayName":"/v1/images/generations","description":"","prompt":"","systemPrompt":"","resolution":"","requestTemplate":{"contents":[{"parts":[{"text":"Generate an image of a Chinese Li Hua cat in a modern studio product-photo style."}]}],"model":"gemini-2.5-flash-image","response_format":{"aspect_ratio":"1:1","mime_type":"image/png","type":"image"},"route":{"provider":"Google"}},"parameterSchema":[{"name":"contents","label":"contents","description":"Multi-turn conversation content, including role and parts. Can include images for editing.","type":"json","valueType":"array","path":"/contents","required":true},{"name":"generationConfig","label":"generationConfig","description":"Generation configuration.","type":"json","valueType":"object","path":"/generationConfig","required":false,"omitEmpty":true},{"name":"logoAdd","label":"logoAdd","description":"Whether to add an icon watermark. 1 adds the watermark, 0 disables it.","type":"number","valueType":"integer","path":"/logoAdd","required":false,"defaultValue":0,"allowedValues":[0,1],"omitEmpty":true},{"name":"model","label":"model","description":"Model selection.","type":"string","valueType":"string","path":"/model","required":true},{"name":"responseFormat","label":"responseFormat","description":"Image response format. Available values are url and b64_json.","type":"string","valueType":"string","path":"/responseFormat","required":false,"defaultValue":"url","allowedValues":["url","b64_json"],"omitEmpty":true}],"responseBody":{"candidates":[{"content":{"role":"model","parts":[{"inlineData":{"data":"/9j/4AAQSkZJRgABAQAAAQABAAD/7QBQUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAABgcAm4AE01hZGUgd2l0aCBHb29nbGUgQUk4QklNBCUAAAAAABDIs4lltEU3qRin51mYyOP2/+ECkGh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczpJcHRjNHhtcEV4dD0iaHR0cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcEV4dC8yMDA4LTAyLTI5LyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiBJcHRjNHhtcEV4dDpEaWdpdGFsU291cmNlRmlsZVR5cGU9Imh0dHA6Ly9jdi5pcHRjLm9yZy9uZXdzY29kZXMvZGlnaXRhbHNvdXJjZXR5cGUvdHJhaW5lZEFsZ29yaXRobWljTWVkaWEiIElwdGM0eG1wRXh0OkRpZ2l0YWxTb3VyY2VUeXBlPSJodHRwOi8vY3YuaXB0Yy5vcmcvbmV3c2NvZGVzL2RpZ2l0YWxzb3VyY2V0eXBlL3RyYWluZWRBbGdvcml0aG1pY01lZGlhIiBwaG90b3Nob3A6Q3JlZGl0PSJNYWRlIHdpdGggR29vZ2xlIEFJIi8+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgPD94cGFja2V0IGVuZD0idyI/Pv/rF4VKUAABAAAAAQAAF3tqdW1iAAAAHmp1bWRjMnBhABEAEIAAAKoAOJtxA2MycGEAAAAXVWp1bWIAAABHanVtZGMybWEAEQAQgAAAqgA4m3EDdXJuOmMycGE6MDgwZDkyNDctZmZjYy1hMDQxLTA1YzUtNDM2N2E2ZjE5ZThmAAAAEv5qdW1iAAAA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","mimeType":"image/jpeg"},"thoughtSignature":"AY89a1CG8Mw6nBCqBz/+D48PWTIah1k="}]},"finishReason":"STOP"}],"createTime":"2026-07-24T13:23:38.727236Z","responseId":"WmdjasSxLP_DodAP87T-2A8","modelVersion":"gemini-3.1-flash-lite-image","usageMetadata":{"trafficType":"ON_DEMAND","totalTokenCount":1138,"promptTokenCount":18,"promptTokensDetails":[{"modality":"TEXT","tokenCount":18}],"candidatesTokenCount":1120,"candidatesTokensDetails":[{"modality":"IMAGE","tokenCount":1120}]}},"responseOrigin":"historical_playground","responseContainsPlaceholders":false,"requestOrigin":"configured_playground","sourceUrl":"","isDefault":true,"active":true,"sortOrder":0}],"missing":[]},"id":"b695d0dc-3e9a-424e-bf81-3c25919d4d73","routeId":"470cda33-00be-452e-aa55-dccff3e36d15","model":"gemini-2.5-flash-image","provider":"Google","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://neolink.com/logo.svg","upstreamPath":[{"type":"generations","path":"/v1beta/models/gemini-3.1-flash-lite-image:generateContent","method":"POST"}],"curlExample":"curl https://api.getopenmodels.com/v1/images/generations \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OM_API_KEY\" \\\n  -d '{\n         \"contents\": [\n             {\n                 \"parts\": [\n                     {\n                         \"text\": \"An elegant commercial product photograph\"\n                     }\n                 ]\n             }\n         ],\n         \"response_format\": {\n              \"mime_type\": \"image/png\",\n              \"type\": \"image\",\n              \"aspect_ratio\": \"1:1\"\n         }\n     }'","bodySchema":{},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":2,"prompt":260690,"completion":26068966,"imageCompletion":23172414,"partnerPriceMultiplierBps":10500,"partnerPrompt":243310,"partnerCompletion":24331034,"promptSource":1890000,"completionSource":189000000,"imageCompletionSource":168000000,"currency":"USD","active":true,"sortOrder":890,"billingType":"usage_flat","billingUnit":"token","modalities":["image","chat"],"outModalities":["image"],"description":"ge-2.5-fl-im is a Google image generation and editing model designed for multi-turn conversations, complex reasoning and analysis, and image creation and editing.","descriptionTranslations":{"ar":"ge-2.5-fl-im هو نموذج من Google لتوليد الصور وتحريرها، وقد صُمم للمحادثات متعددة الجولات، والاستدلال والتحليل المعقدين، وإنشاء الصور وتحريرها.","ja":"ge-2.5-fl-imは、マルチターン対話、複雑な推論と分析、画像の作成と編集向けに設計されたGoogleの画像生成・編集モデルです。ツール呼び出し、推論、コンテンツキャッシュ、画像生成に対応し、65,536 tokenのコンテキストウィンドウと最大32,768 tokenの出力を提供します。NeoLinkでは、リリース日は2025-10-07と記載されています。","zh":"ge-2.5-fl-im 是 Google 推出的一款图像生成与编辑模型，适用于多轮对话、复杂推理与分析，以及图像创作和编辑。它支持工具调用、推理、内容缓存和图像生成，提供 65,536 token 的上下文窗口，最多可输出 32,768 token。NeoLink 标注的模型发布日期为 2025-10-07。"},"modelReleaseDate":"2025-10-07","supportedFeatures":["tool_calling","reasoning","content_caching","image_generation"],"contextWindowTokens":65536,"maxOutputTokens":32768,"pricingTiers":[],"timePricingRules":[],"latency":3765,"fxRateUsdCny":"7.25000000","fxRateSource":"manual-fallback","routeStatus":"active","operations":[],"operationRegistry":{"model":"gemini-2.5-flash-image","operations":[],"availableModes":[]},"createdAt":"2026-06-16T02:06:45Z","updatedAt":"2026-08-08T03:41:45Z"}]}