# AI Image Generator (no API key) (`veida/veida-ai-image-generator`) Actor

Generate AI images from a text prompt. No API key, no account, no card. Returns a hosted image URL.

- **URL**: https://apify.com/veida/veida-ai-image-generator.md
- **Developed by:** [Veida AI](https://apify.com/veida) (community)
- **Categories:** AI, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-usage

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## AI Image Generator (no API key)

Generate images from plain text prompts. **No API key, no account, no card.** Give it a list of
prompts, get back a dataset with a permanent CDN image URL for each one.

This Actor is a thin wrapper over the anonymous free tier of
[Veida](https://veida.ai/?utm_source=apify\&utm_medium=actor) — the same
[free AI image generator](https://veida.ai/image?utm_source=apify\&utm_medium=actor) the site
serves in the browser, reachable here without a login step.

### Why this one

Most image Actors and automation templates ask for a paid OpenAI, fal or Replicate key before they
run once. This one runs on an empty account: it mints a throwaway anonymous client id per prompt and
the free tier is metered against that.

### Input

| Field | Type | Notes |
|---|---|---|
| `prompts` | array of strings | One image per prompt. Required. |
| `aspectRatio` | enum | `1:1` · `16:9` · `9:16` · `4:3` · `3:4`. Default `1:1`. |
| `timeoutSecs` | integer | Give up on one image and move to the next prompt. Default 240. |

```json
{
  "prompts": [
    "a paper boat on a calm lake at sunrise, soft light",
    "an isometric illustration of a small coffee shop, pastel palette"
  ],
  "aspectRatio": "16:9"
}
```

Not sure what to write? The
[AI image prompt library](https://veida.ai/image/prompts?utm_source=apify\&utm_medium=actor)
has ready-made prompts you can paste straight into the `prompts` list.

### Output

One dataset row per prompt:

```json
{
  "prompt": "a paper boat on a calm lake at sunrise, soft light",
  "aspectRatio": "16:9",
  "imageUrl": "https://cdn.veida.ai/uploads/kie/image/....webp",
  "watermarked": true
}
```

A prompt that fails still writes a row, with `imageUrl: null` and an `error` string — a silently
shorter dataset is worse than a row that says why.

### How it works

1. Posts the prompt to the generation endpoint that powers Veida's
   [ChatGPT image generator](https://veida.ai/image/chatgpt-image-generator?utm_source=apify\&utm_medium=actor),
   with a fresh anonymous client id.
2. Polls until the job reports success. Measured end to end: 40–120 seconds per image.
3. Writes the hosted image URL to the dataset. The URL is permanent and cacheable, so you can pass
   it straight to Google Sheets, Airtable, a CMS or a Slack message.

### Limits of the free tier

Output is 1K and watermarked, and the anonymous allowance is capped per client and per IP per day —
a long prompt list will eventually hit the wall, and the Actor reports that rather than failing
silently. See [what the free tier includes](https://veida.ai/pricing?utm_source=apify\&utm_medium=actor).

Signing in removes the watermark, raises the allowance and unlocks the heavier models —
[GPT Image 2](https://veida.ai/image/gpt-image-2?utm_source=apify\&utm_medium=actor)
for text rendering, and
[Nano Banana 2 Lite image editor](https://veida.ai/image/nano-banana-2-lite?utm_source=apify\&utm_medium=actor)
when you want to edit an existing image instead of generating from a prompt alone.
There are [example images](https://veida.ai/showcases?utm_source=apify\&utm_medium=actor)
if you want to judge output quality before running anything.

### Notes

- Nothing is stored on our side beyond the generated image: the anonymous client id is created per
  prompt and thrown away.
- The endpoints are public and unauthenticated; no credentials are read from your Apify account.

# Actor input Schema

## `prompts` (type: `array`):

One image is generated per prompt.

## `aspectRatio` (type: `string`):

Output shape.

## `timeoutSecs` (type: `integer`):

Give up on one image after this many seconds and move on to the next prompt.

## Actor input object example

```json
{
  "prompts": [
    "a paper boat on a calm lake at sunrise, soft light"
  ],
  "aspectRatio": "1:1",
  "timeoutSecs": 240
}
```

# Actor output Schema

## `images` (type: `string`):

Dataset of generated images: prompt, aspectRatio, imageUrl, watermarked.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "prompts": [
        "a paper boat on a calm lake at sunrise, soft light"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("veida/veida-ai-image-generator").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "prompts": ["a paper boat on a calm lake at sunrise, soft light"] }

# Run the Actor and wait for it to finish
run = client.actor("veida/veida-ai-image-generator").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "prompts": [
    "a paper boat on a calm lake at sunrise, soft light"
  ]
}' |
apify call veida/veida-ai-image-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,veida/veida-ai-image-generator"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/c59lWHcR6s6le1VWl/builds/BLCTBn808xyXY1itF/openapi.json
