# Pruna | P-Image | Text to Image P-image is a text-to-image model that generates high-quality visuals from text prompts with ultra-fast performance and consistent results, built for production use cases. ## API Information - **Model Slug:** p-image-text-to-image - **Branded URL:** https://www.eachlabs.ai/pruna/p-image/p-image-text-to-image - **Provider:** Pruna AI - **Category:** Text to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** $0.005 per generated image - **Estimated Processing Time:** 1 seconds - **Last Updated:** 2026-08-11 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/p-image-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.005000 - **Pricing Details:** $0.005 per generated image ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | $0.005 per generated image | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text prompt for image generation. | | aspect_ratio | string | No | 16:9 | 1:1,16:9,9:16,4:3,3:4,3:2,2:3,custom | An enumeration. | | width | integer | No | - | - | Width of the generated image. Only used when aspect_ratio=custom. Must be a multiple of 16. | | height | integer | No | - | - | Height of the generated image. Only used when aspect_ratio=custom. Must be a multiple of 16. | | prompt_upsampling | boolean | No | false | - | upsample the prompt with an llm | | seed | integer | No | - | - | Random seed. Set for reproducible generation. | | disable_safety_checker | boolean | No | false | - | Disable safety checker for generated images. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "p-image-text-to-image", "input": { "prompt": "A fairy-tale character gently picking wildflowers in a wide meadow during sunset. The sky is painted with warm golden, pink, and soft purple tones as the sun slowly sets behind distant hills. Tall grass and colorful flowers sway lightly in the evening breeze. The character wears flowing, storybook-style clothing with delicate details, blending naturally into the landscape. Peaceful, magical atmosphere without exaggeration. Soft natural sunset lighting, realistic textures, dreamy yet grounded mood. Cinematic wide view, enchanting and serene, high realism with a subtle fantasy touch." } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated image)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **p-image-text-to-image — Text-to-Image AI Model** Developed by Pruna as part of the P-Image family, **p-image-text-to-image** is a text-to-image AI model that delivers high-quality visuals from text prompts in under one second, making it ideal for production-scale applications where speed and cost matter most. This ultra-fast **p-image-text-to-image** model generates images for less than a cent per run while maintaining competitive quality, solving the bottleneck of slow inference times in high-volume workflows like e-commerce visuals or app integrations. Developers seeking a *fast text-to-image API* can rely on its consistent results without compromising on detail or prompt adherence. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.