Veo 3 API: Prompts and scripts over one endpoint
Get started with the uncensored text engine for your Veo 3 pipelines. Use our OpenAI-compatible endpoint to generate scripts, captions, and prompts without creative refusals.
https://api.veo3apis.com/v1
Prerequisites and Authentication
Before making your first request, ensure you have a valid API key. Sign up on the Get API key page with just an email and password. You receive immediate access to $0.50 in trial credit, valid for 7 days, with no credit card required. For production workloads, top up with at least $10 to secure continued access.
Our base URL is https://api.veo3apis.com/v1. Include your API key in the Authorization header as a Bearer token. This endpoint is fully OpenAI-compatible, meaning you can use standard SDKs by pointing them to our base URL.
Basic Chat Completion
Send a standard POST request to /v1/chat/completions to generate text. The model ID is "uncensored". This returns the full response in a single JSON object, ideal for simple prompt generation or script writing tasks where you don't need real-time updates.
Python SDK Integration
Use the official OpenAI Python SDK for clean integration. Configure the client with our base URL and your API key. This approach simplifies error handling and token counting for your multimodal pipelines.
Node SDK Integration
For JavaScript/TypeScript projects, the OpenAI Node SDK works out of the box. Point the client to our base URL. This is useful for server-side script generation or post-processing steps in your Veo 3 workflow.
Streaming Responses (SSE)
For faster perceived latency, enable streaming by setting stream: true. The API returns a Server-Sent Events (SSE) stream of partial responses. This allows your application to display tokens as they are generated, which is critical for long script generation or complex reasoning tasks.
Limits, Errors, and Context
Your requests are subject to a rate limit of 300 requests per minute per key. If you exceed this, you receive a 429 error. Authentication failures return 401, and insufficient credit returns 402. The context window is 100,000 tokens total (prompt + completion). Ensure your payloads stay under 8 MB. The only hard content limit is sexual content involving minors, which is always blocked.
cURL
curl https://api.veo3apis.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.veo3apis.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.veo3apis.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Streaming
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Technical specifications
One table with every limit, feature and price that applies to your key.
| Item | Value |
|---|---|
| API format | OpenAI-compatible: any OpenAI SDK or client works — change the base URL and the key |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Model | uncensored |
| API key | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.veo3apis.com/v1 |
| JSON mode | JSON object mode via response_format json_object |
| Other parameters | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Tools / tool calls | Yes — tools, tool_choice; replies carry tool_calls, also when streaming; send results back as role: tool |
| Context window | 100,000 tokens (prompt + completion together) |
| Completion length | 16,000 tokens max; 2,048 if max_tokens is not set |
| SSE streaming | Yes — server-sent events; the last chunk carries token usage |
| Concurrency | up to 8 in parallel per key |
| Rate limit | 300 requests per minute per key |
| Request size | up to 8 MB per request |
| Headers | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Free trial | $0.50 for 7 days, no card |
| Volume bonus | +5% on $50+, +10% on $100+ |
| Billing | prepaid credit, charged by real token usage; errors and refusals are free |
| Price | $0.25 per 1M input tokens · $1.00 per 1M output tokens |
| Top-up | crypto: USDT on TRON or USDC on Base, $10–$500, any whole sum |
| Credit expiry | no monthly fee; paid credit does not expire |
| Content policy | adult content allowed; sexual content involving minors is refused |
| Account | Google or e-mail and password |
| Key management | one key per account, regenerate any time (the old one stops working) |
When a request fails
Errors come back as JSON with a stable type; failed and refused requests are not billed.
| HTTP | Type | What to do |
|---|---|---|
400 | bad_request | invalid JSON, empty messages, bad parameter, or prompt + max_tokens over the window — fix and resend |
401 | missing_key · invalid_key · key_revoked | no key, wrong key, or a key replaced by a newer one |
402 | no_credit | balance is empty — top up, requests resume at once |
403 | content_blocked | refused by the content policy |
404 | not_found | only /v1/chat/completions and /v1/models exist |
413 | request_too_large | body over 8 MB |
429 | rate_limited · concurrency | over 300/min or 8 parallel — back off and retry |
503 | upstream_busy | temporary overload, retry shortly |
Questions and answers
Is this the official Veo 3 video generation API?
No. This is an independent text API. We provide the uncensored LLM engine that powers the text steps (prompts, scripts, captions) in your Veo 3 pipeline, but we do not generate the video itself.
Do I need a credit card for the trial?
No. New accounts receive $0.50 in trial credit valid for 7 days with just an email and password. You only need crypto (USDT or USDC) when you top up with $10 or more.
Can I use this for function calling?
Yes. Our endpoint supports tool/function calling. You can define tools in your request and the model will return structured JSON output suitable for integration into your application logic.
Your key is one form away
Create an account, copy the key, change the base URL. That is the whole setup.