AI Generation overview — what you can create

Last updated: May 19, 2026

AI Generation overview — what you can create

Wevion's Creative Hub supports 5 generation types powered by 12 verified providers. All generation is async: POST returns 202 Accepted with a job_id; client polls GET /api/v1/creative-hub/jobs/:jobId until status = completed. Output stored in your Drive folder + recorded to creative_job table with cost_cents for credit accounting.

Who is this for

Anyone considering AI generation. Reference page for what's possible and which provider to pick.

The 5 generation types

1. Images

Static images for feed / Stories / posters.

Provider

Strengths

flux_2_pro

Photoreal + product photography (default)

gpt_image_1_5

Text-aware (posters with copy on image)

seedream_4_5

Stylized + artistic

Endpoint: POST /api/v1/creative-hub/generate/image. See ch-113.

2. Videos

Short videos for Reels / TikTok / in-stream.

Provider

Strengths

luma_ray3

Cinematic motion

runway_gen4

Text-to-video + image-to-video

kling_2_6

Strong physics (Chinese-developed)

kling_3_0

Newer Kling model

veo_3_1

Google high-quality model

Endpoint: POST /api/v1/creative-hub/generate/video. See ch-114.

3. Avatars (UGC videos)

Lip-synced spokesperson videos.

Provider

Strengths

heygen

Stock avatars + custom (uploaded via HeyGen UI); strong lip-sync

Endpoint: POST /api/v1/creative-hub/generate/avatar. See ch-115.

4. Text-to-speech (TTS)

Voice narration / multilingual VO.

Provider

Strengths

elevenlabs

High quality, multilingual, voice cloning

openai_tts

Good baseline, faster + cheaper

Endpoint: POST /api/v1/creative-hub/generate/tts. See ch-116.

5. Compositing

Assemble clips + text + audio into final ad.

Provider

Strengths

creatomate

Template-based compositing

Endpoint: POST /api/v1/creative-hub/generate/composite. See ch-117.

The async job pattern

All generation endpoints behave identically at the lifecycle level:

  1. Submit: POST /api/v1/creative-hub/generate/{type} with params → returns 202 Accepted + {job_id, status: "pending"}

  2. Process: SQS worker picks up; status flips pendingprocessing

  3. Complete: worker writes result_urls, cost_cents, marks status: completed

  4. Or fail: on error, status: failed + error_message populated

  5. Poll: client polls GET /api/v1/creative-hub/jobs/:jobId every 5-10 sec

  6. Download: once completed, client fetches result_urls

Generation time varies:

  • Images: 10-60 sec

  • Short videos (5-10s clips): 1-5 min

  • Avatar videos: 2-10 min (longer scripts = longer)

  • TTS: 5-30 sec

  • Compositing: 30 sec - 5 min depending on complexity

creative_job table

Each generation creates a creative_job row with:

  • id (UUID), user_id, team_id

  • type (image / video / avatar / tts / composite)

  • status (pending / processing / completed / failed)

  • provider (one of the 12 verified)

  • prompt (text input)

  • settings (JSON — provider-specific params)

  • result_urls (JSON array of output file URLs)

  • cost_cents (Int — charged amount)

  • drive_folder_id (where output stored)

  • metadata (JSON), error_message (on failure)

  • created_at, completed_at

Used by /jobs/:id for status + by Jobs panel UI.

Cost accounting

Each generation deducts from team credit balance:

  • Cost varies by provider + type + duration + resolution

  • Recorded in cost_cents (integer cents)

  • Ledger entry in credit_transaction (debit)

  • Failed jobs do not charge (cost_cents = 0)

View balance + transactions at /settings/team/billing. See ch-112 AI credits.

Choosing a provider

For images

  • Product photography: flux_2_pro

  • Posters with text: gpt_image_1_5

  • Artistic / stylized: seedream_4_5

For videos

  • Cinematic ads: luma_ray3

  • Text-to-video first try: runway_gen4

  • Physics-heavy scenes: kling_2_6 / kling_3_0

  • Highest quality (Google): veo_3_1

For avatars

  • Only heygen — no choice. Pick avatar + voice in HeyGen library first.

For TTS

  • Premium / cloned voice: elevenlabs

  • Baseline / multilingual default: openai_tts

Best practices

Generate variants

AI is cheap relative to manual. Generate 3-5 per concept, pick winners.

Match aspect ratio to placement

  • 9:16 for Reels / Stories / TikTok

  • 1:1 for feed

  • 16:9 for in-stream

Pair generations

  • TTS narration + video (compositing in ch-117)

  • AI image background + uploaded logo (compositing)

  • Multiple language variants of same avatar (different voice_id per locale)

Watch your credit balance

Generations add up. Set alerts at /settings/team/billing for low-balance warnings.

Common mistakes

  • Picking provider blindly: each has strengths; match to use case

  • Generating long videos for short ad placements: 30s video for a 6s placement = waste of credits; generate target duration

  • Forgetting failed jobs are free: don't over-engineer retries

  • Polling too aggressively: every 5-10 sec is plenty; faster polling doesn't speed up generation

Related