NewFLUX 3 and Nano Banana 2 Lite are in the lineup

The writing API that outlives its models.

Point your site at one endpoint. WritersAPI writes with DeepSeek, Gemini or ChatGPT and draws with FLUX or Nano Banana. When a model fails or is retired, the same request finishes on the next one.

Free. Pay providers at cost plus 5%, or nothing with your own keys.

Router, live examplePOST /v1/write
  1. 09:41:35marketwire.ng article, model: deepseek-v3$0.0019deepseek-v3 retireddeepseek-v4-pro4.4s
  2. 09:41:28techbrief.io image 16:9$0.0315flux-2-pro8.9s
  3. 09:41:21homegoods.shop product-description$0.0012deepseek-v4-pro3.2s
  4. 09:41:14lagosledger.com press-release$0.0102gemini-3.8-flash 503gpt-6.1-sol6.6s
  5. 09:41:07techbrief.io listicle$0.0094gpt-6.1-sol5.8s
  6. 09:41:00lagosledger.com article$0.0031gemini-3.8-flash4.1s
8writing models behind one endpoint
7image models, same fallback
4models tried before a request gives up
$0to us when you bring your own keys

Why it exists

AI models change every few months. Your integration shouldn't have to.

Models get renamed, deprecated, rate limited and switched off, often with a few weeks' notice. Every site that calls them directly inherits that churn. WritersAPI takes it on once, for all of them.

01 / Retirements

A model is retired. Your requests don't notice.

Ask for a model that no longer exists and the request goes to its successor instead of failing. The response tells you it happened, and the dashboard tells us.

  • Provider model lists checked every six hours
  • Retired models served by a successor or the family's best
  • Ask for a family, like "gemini", and always get the newest that works
request and response200 OK
// your site, unchanged since 2025
{ "model": "deepseek-v3",
  "template": "article" }
{ "model": {
    "id": "deepseek-v4-pro" },
  "upgraded_from":
    "deepseek-v3" }
02 / Outages

A provider goes down at the worst moment. The article still ships.

When a model errors, times out or is overloaded, the same request moves to the next model that can do the job. Three failures in a row take a model out of rotation; it's re-tested every 30 minutes and comes back on its own.

  • Up to 4 models per request, in your preferred order
  • A bad provider key skips that provider, not the request
  • Only the model that answered is billed
attempts for one request6.6 s total
  • gemini-3.8-flash503, 0.4s
  • gpt-6.1-sol200, 6.2s
  • deepseek-v4-pronot needed
03 / Voice

Every site keeps its own voice, in any language.

Your prompt reaches the model exactly as you wrote it. Templates add structure for common jobs, options set language, style and length, and your own instructions always have the last word.

  • 14 templates, from press releases to SEO metadata
  • Markdown, HTML, plain text, or JSON that matches your schema
  • Web search with sources, when the facts must be current
same prompt, French, formalexample output
{ "template":
    "press-release",
  "language": "French",
  "style": "formal",
  "system":
    "House style: no
    exclamation marks." }

OutputACCRA, 3 novembre 2026. La société inaugure ses nouveaux bureaux au cœur du quartier d'Airport City...

04 / Cost

Know what every article costs, per site and per model.

Every response carries its exact cost. The dashboard adds it up by site and by model, flags failing models, and emails us when one breaks.

  • Provider-reported costs where available, list prices otherwise
  • Monthly budget and rate limit per key
  • Hosted keys at cost plus 5%, your own keys at $0
usage by site, 30 daysexample
SiteRequestsTop modelBilled
lagosledger.com4,812gemini-3.8-flash$14.90
techbrief.io2,377gpt-6.1-sol$21.38
homegoods.shop1,054deepseek-v4-pro$0, own keys

Integration

One request. The same answer shape from every model.

Send a prompt and, if you like, a template, model, language or style. Read the content, which model wrote it, whether a fallback was needed and what it cost.

curl https://writersapi.com/v1/write \
  -H "Authorization: Bearer $WRITERSAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Announce our new office in Accra, opening 3 November.",
    "template": "press-release",
    "model": "auto",
    "fallback": true
  }'
Response
{
  "success": true,
  "data": {
    "content": "ACCRA, 3 November 2026: ...",
    "model": {
      "id": "gpt-6.1-sol",
      "family": "chatgpt"
    },
    "fallback_used": true,
    "attempts": [
      { "model": "gemini-3.8-flash",
        "outcome": "unavailable" },
      { "model": "gpt-6.1-sol",
        "outcome": "ok" }
    ],
    "usage": {
      "cost_usd": 0.0102,
      "billing": "hosted"
    }
  }
}

Templates

Start from a template, or send your own prompt.

Pick one to see exactly what the model is told. Your prompt and your own instructions are always added as they are.

Article

A news or feature article with a headline, a strong lead and clear sections.

template: "article"about 700 words at medium length

What the model is toldWrite an article. Start with a headline, then a lead paragraph that answers who, what, when, where and why. Follow with body paragraphs in order of importance, using subheadings where they help. Attribute claims to their sources.

Example request body
{
  "prompt": "Lagos State reopens the Third Mainland Bridge after six weeks of repairs.",
  "template": "article",
  "length": "medium"
}

Style

neutral, professional, journalistic, conversational, friendly, persuasive, formal, academic, witty, technical, storytelling, simple.

Language

English, Spanish, French, German, Italian, Portuguese, Dutch, Polish, Swedish, Turkish, and any other you name.

Images

photo, editorial, illustration, flat-vector, 3d, watercolor, line-art, cinematic, in seven aspect ratios.

Lineup

The models behind it, right now.

Live status. New models join this list without any change on your side.

Google Geminiwriting

  • gemini-3.8-flashown key
  • gemini-4-argonown key
  • gemini-3.1-flash-liteown key

ChatGPTwriting

  • gpt-6.1-solown key
  • gpt-6-astraown key
  • gpt-6-lunaown key

DeepSeekwriting

  • deepseek-v4-proown key
  • deepseek-flashown key

FLUXimages

  • flux-2-proown key
  • flux-3own key
  • flux-2-kleinown key

Nano Bananaimages

  • nano-banana-2-liteown key
  • nano-banana-2.1own key

ChatGPTimages

  • gpt-image-2own key
  • gpt-image-miniown key

Pricing

Free. Pay the provider, not us.

Hosted keys

+5% on provider cost

Use our accounts with every provider. Nothing to set up, exact cost on every response.

  • Every model in the lineup
  • Optional monthly budget per key
See model prices
Your own keys

$0 forever

Add your DeepSeek, Gemini, OpenRouter or FLUX keys. Your providers bill you directly.

  • Same routing, fallback and dashboard
  • Optional fallback to hosted keys
Start building

FAQ

Questions developers ask first.

What happens when a provider retires a model?

WritersAPI checks every provider's model list every six hours. When a model disappears, it's retired and its traffic moves to the successor we set, or to the best working model of the same family. Requests that named the old model still succeed, and the response says which model replaced it in upgraded_from.

What if every model fails?

Each request tries up to 4 models. If all of them fail you get a 503 with Retry-After and the list of attempts, never an empty or partial answer, and nothing is billed.

Can I pin one model?

Yes. Send its id as "model" and set "fallback": false to use that model and nothing else. Or send a family name like "gemini" to always get that family's best working model.

Do you keep my prompts or the content you return?

No. We log who called, which model answered, token counts, cost and timing, so we can route, bill and spot failures. The text of prompts and outputs isn't stored.

How can it be free?

PRNow runs WritersAPI as a free tool. With our provider keys you pay the provider's price plus 5%, which covers running costs. With your own keys you pay your providers directly and nothing to us.

Can I use it from a browser?

No, call it from your server. A key in browser code can be copied by anyone, so the API sends no CORS headers.

Stop rewriting your AI integration every time a model changes.

One endpoint, every model, and a router that deals with deprecations, outages and new releases.