Output resolution
Supports 1k, 2k from the published endpoint schema.
Standard Qwen 3 text-to-image at 1K or 2K
curl -X POST https://runapi.ai/api/v1/qwen_3/text_to_image \
-H "Authorization: Bearer $RUNAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-3-text-to-image",
"prompt": "Generate a 4K product hero image of a matte-black water bottle on a beige stone surface, soft side light."
}'
import { Qwen3Client } from "@runapi.ai/qwen-3";
const client = new Qwen3Client();
const result = await client.textToImage.run({
model: "qwen-3-text-to-image",
prompt: "Generate a 4K product hero image of a matte-black water bottle on a beige stone surface, soft side light.",
});
import os
import requests
response = requests.post(
"https://runapi.ai/api/v1/qwen_3/text_to_image",
headers={"Authorization": f"Bearer {os.environ['RUNAPI_API_KEY']}"},
json={"model":"qwen-3-text-to-image","prompt":"Generate a 4K product hero image of a matte-black water bottle on a beige stone surface, soft side light."}
)
response.raise_for_status()
<?php
$client = curl_init("https://runapi.ai/api/v1/qwen_3/text_to_image");
curl_setopt_array($client, [
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("RUNAPI_API_KEY"), "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode([
'model' => 'qwen-3-text-to-image',
'prompt' => 'Generate a 4K product hero image of a matte-black water bottle on a beige stone surface, soft side light.',
])
]);
$response = curl_exec($client);
RunApi client = new RunApi(System.getenv("RUNAPI_API_KEY"));
Task task = client.textToImage().run({"model":"qwen-3-text-to-image","prompt":"Generate a 4K product hero image of a matte-black water bottle on a beige stone surface, soft side light."});
task.waitForResult();
require "runapi/qwen_3"
client = RunApi::Qwen3::Client.new
result = client.text_to_image.run(
model: "qwen-3-text-to-image",
prompt: "Generate a 4K product hero image of a matte-black water bottle on a beige stone surface, soft side light."
)
client := runapi.NewClient(os.Getenv("RUNAPI_API_KEY"))
task, err := client.textToImage.Run({"model":"qwen-3-text-to-image","prompt":"Generate a 4K product hero image of a matte-black water bottle on a beige stone surface, soft side light."})
if err != nil { log.Fatal(err) }
task.Wait()
$ runapi generate \
--model qwen-3-text-to-image \
--endpoint text_to_image \
--wait
4 versions available
Pick any model and generate in seconds.
| Provider | Alibaba |
| Model ID | qwen-3-text-to-image |
| Modality | Image |
| Task types | Asynchronous |
| API endpoint | /api/v1/qwen_3/text_to_image |
| Billing unit | call |
| Input parameters | aspect_ratio, callback_url, enable_prompt_expansion, enable_safety_checker, model, negative_prompt, output_format, output_resolution, prompt, seed |
| Max resolution | 1k, 2k |
| Aspect ratios | 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9 |
| Output format | png, jpeg |
| Catalog status | Operational |
Sign up for free and create an API key for qwen-3-text-to-image from the dashboard.
POST to /api/v1/qwen_3/text_to_image with the qwen-3-text-to-image model slug and your parameters.
Poll the task or follow the callback to retrieve the completed qwen-3-text-to-image result.
Supports 1k, 2k from the published endpoint schema.
Configure 8 documented parameters, including aspect_ratio, enable_prompt_expansion, enable_safety_checker, negative_prompt, output_format.
Exposes 1 public endpoint(s): text_to_image.
Asynchronous tasks accept a callback URL for completion notifications.
seedInteger seed for reproducible results.
promptImage generation prompt.
aspect_ratioOutput aspect ratio. (1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9)
callback_urlWebhook URL for asynchronous task updates.
output_formatOutput image format. (png, jpeg)
negative_promptContent to avoid in the generated image.
output_resolutionOutput image resolution. (1k, 2k)
enable_safety_checkerWhether RunAPI checks generated content for safety.
enable_prompt_expansionWhether RunAPI expands the prompt before generation.
Auto-generate lifestyle product photos for e-commerce catalogs that lack studio photography.
Rapidly concept environments and characters before committing to final art.
Generate unique cover art and illustrations for blog posts and articles at scale.
Pass the model ID shown in the quickstart.
Per-key rate limits scale with your usage tier. The pricing page shows current limits. If you need higher throughput, contact support to discuss tier upgrades.
Yes. Variant is a parameter in the request. Switch by changing the model ID — no code changes, no re-authentication, no separate billing setup. All variants share the same API key and request shape.
Where streaming is available, RunAPI streams end-to-end. LLM models support token-level streaming. Media models use async task polling or webhook callbacks for result delivery.
Open an issue on the public GitHub repo or email support at [email protected]. Include the task ID and model ID so the team can investigate the specific generation.
No. Your RunAPI API key is enough to access this variant and every other model in the catalog. You do not need accounts with the underlying provider.
We're here to help with enterprise setup, integrations, and technical questions.
Contact Us