Longcat Image: High-Resolution Text-to-Image & Editing Model on playground and API | RunComfy

meituan/longcat-image/text-to-image

Generate high-resolution, multilingual images from text with fast-speed generation, and API access for professional creators and teams seeking studio-quality visual output.

1. Get started

Use RunComfy's API to run meituan/longcat-image/text-to-image. For accepted inputs and outputs, see the model's schema.

curl --request POST \
  --url https://model-api.runcomfy.net/v1/models/meituan/longcat-image/text-to-image \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer <token>" \
  --data '{
    "prompt": "A vibrant, photorealistic top-down view of a carefully styled fruit and botanical flat lay on a smooth, light blue marble background. The scene includes two ceramic plates: one green and one coral pink. Each plate contains a halved pomegranate, a sliced blood orange, and a halved lemon, with the pulp clearly visible. Small white jasmine flowers are delicately scattered on and around the fruits. A stem of fresh ginger root lies across the bottom-left part of the frame, near the pink plate. There are two tropical leaves with vivid green, red, and yellow variegation, and several glossy green leaves interwoven in the composition. A palm leaf is partially covering the green plate. In the foreground, large soft-focus warm-toned tropical leaves and a softly blurred white flower subtly frame the image for depth. The lighting is natural and warm, casting soft diffused shadows to enhance the color contrast and textures. High detail and clarity, rich saturation, 8k resolution, natural lens blur, photorealistic, styled like a modern culinary still life photo for a premium food magazine."
  }'

2. Authentication

Set the YOUR_API_TOKEN environment variable with your API key (manage keys in your Profile) and include it on every request as a Bearer token via the Authorization header: Authorization: Bearer $YOUR_API_TOKEN.

3. API reference

Submit a request

Submit an asynchronous generation job and immediately receive a request_id plus URLs to check status, fetch results, and cancel.

curl --request POST \
  --url https://model-api.runcomfy.net/v1/models/meituan/longcat-image/text-to-image \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer <token>" \
  --data '{
    "prompt": "A vibrant, photorealistic top-down view of a carefully styled fruit and botanical flat lay on a smooth, light blue marble background. The scene includes two ceramic plates: one green and one coral pink. Each plate contains a halved pomegranate, a sliced blood orange, and a halved lemon, with the pulp clearly visible. Small white jasmine flowers are delicately scattered on and around the fruits. A stem of fresh ginger root lies across the bottom-left part of the frame, near the pink plate. There are two tropical leaves with vivid green, red, and yellow variegation, and several glossy green leaves interwoven in the composition. A palm leaf is partially covering the green plate. In the foreground, large soft-focus warm-toned tropical leaves and a softly blurred white flower subtly frame the image for depth. The lighting is natural and warm, casting soft diffused shadows to enhance the color contrast and textures. High detail and clarity, rich saturation, 8k resolution, natural lens blur, photorealistic, styled like a modern culinary still life photo for a premium food magazine."
  }'

Monitor request status

Fetch the current state for a request_id ("in_queue", "in_progress", "completed", or "cancelled").

curl --request GET \
  --url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
  --header "Authorization: Bearer <token>"

Retrieve request results

Retrieve the final outputs and metadata for the given request_id; if the job is not complete, the response returns the current state so you can continue polling.

curl --request GET \
  --url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
  --header "Authorization: Bearer <token>"

Cancel a request

Cancel a queued job by request_id, in-progress jobs cannot be cancelled.

curl --request POST \
  --url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
  --header "Authorization: Bearer <token>"

4. File inputs

Hosted file (URL)

Provide a publicly reachable HTTPS URL. Ensure the host allows server‑side fetches (no login/cookies required) and isn't rate‑limited or blocking bots. Recommended limits: images ≤ 50 MB (~4K), videos ≤ 100 MB (~2–5 min @ 720p). Prefer stable or pre‑signed URLs for private assets.

5. Schema

Input schema

{
  "type": "object",
  "title": "Input",
  "required": [
    "prompt"
  ],
  "properties": {
    "prompt": {
      "title": "Prompt",
      "description": "",
      "type": "string",
      "default": "A vibrant, photorealistic top-down view of a carefully styled fruit and botanical flat lay on a smooth, light blue marble background. The scene includes two ceramic plates: one green and one coral pink. Each plate contains a halved pomegranate, a sliced blood orange, and a halved lemon, with the pulp clearly visible. Small white jasmine flowers are delicately scattered on and around the fruits. A stem of fresh ginger root lies across the bottom-left part of the frame, near the pink plate. There are two tropical leaves with vivid green, red, and yellow variegation, and several glossy green leaves interwoven in the composition. A palm leaf is partially covering the green plate. In the foreground, large soft-focus warm-toned tropical leaves and a softly blurred white flower subtly frame the image for depth. The lighting is natural and warm, casting soft diffused shadows to enhance the color contrast and textures. High detail and clarity, rich saturation, 8k resolution, natural lens blur, photorealistic, styled like a modern culinary still life photo for a premium food magazine."
    },
    "image_size": {
      "title": "Image Size",
      "description": "Choose a preset size or select Custom to provide width and height.",
      "type": "string",
      "enum": [
        "square_hd",
        "square",
        "portrait_4_3",
        "portrait_16_9",
        "landscape_4_3",
        "landscape_16_9"
      ],
      "default": "landscape_4_3"
    },
    "num_inference_steps": {
      "title": "Number of Inference Steps",
      "description": "The number of inference steps to perform.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 28
    },
    "guidance_scale": {
      "title": "Guidance Scale",
      "description": "The guidance scale used for image generation.",
      "type": "float",
      "minimum": 1,
      "maximum": 20,
      "default": 4.5
    },
    "seed": {
      "title": "Seed",
      "description": "",
      "type": "integer",
      "default": 0
    },
    "output_format": {
      "title": "Output Format",
      "description": "Specifies the format of the generated image.",
      "type": "string",
      "enum": [
        "jpeg",
        "png",
        "webp"
      ],
      "default": "png"
    }
  }
}

Output schema

{
  "output": {
    "type": "object",
    "properties": {
      "image": {
        "type": "string",
        "format": "uri",
        "description": "single image URL"
      },
      "video": {
        "type": "string",
        "format": "uri",
        "description": "single video URL"
      },
      "images": {
        "type": "array",
        "description": "multiple image URLs",
        "items": { "type": "string", "format": "uri" }
      },
      "videos": {
        "type": "array",
        "description": "multiple video URLs",
        "items": { "type": "string", "format": "uri" }
      }
    }
  }
}