Public API · v1

Tài liệu API

Một API key duy nhất cho ảnh, video, giọng đọc (TTS), LLM chatnâng cấp ảnh/video. REST thuần, trả job id, poll tới khi xong.

docs.md cho AI agent
Base URLhttps://tramsangtao.com/v1
HeaderAuthorization: Bearer sk_live_...
Rate limit100 request / phút

Bắt đầu nhanh

Tạo key → gọi endpoint → poll job. Toàn bộ endpoint đều nhận JSON hoặc form-data.

1. API key của bạn

Key dạng sk_live_.... Quản lý chi tiết tại /developers/keys.

Đăng nhập để tạo và quản lý API key.

2. Request đầu tiên

Tạo ảnh
curl -X POST https://tramsangtao.com/v1/image/generate \
  -H "Authorization: Bearer sk_live_your_key" \
  -F "prompt=A futuristic city" \
  -F "model=nano-banana-pro"
Lấy kết quả
curl https://tramsangtao.com/v1/jobs/JOB_ID \
  -H "Authorization: Bearer sk_live_your_key"

Job bất đồng bộ

Ảnh/video/upscale trả job_id ngay, poll /v1/jobs/{id} để lấy link.

Trả ngay

TTS Edge/CapCut và LLM chat trả kết quả trong chính response.

Trừ credit

Tính theo bảng giá model; job fail được hoàn credit tự động.

Xác thực & Base URL

Mọi request dùng Bearer token. Không nhúng key vào code phía client (web, app).

Header
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx

Giữ key an toàn

Key gọi được toàn bộ API và trừ credit thật. Nếu nghi ngờ lộ, thu hồi key trong /developers/keys rồi tạo key mới.
Base URL (v1)
https://tramsangtao.com/v1

Loại key

shared trừ credit của tài khoản · budgeted có hạn mức riêng · standalone dùng pool credit do admin nạp. Response trả kèm poolbalance_remaining.

Dùng với AI Agent

Đưa link markdown cho Claude / ChatGPT / Cursor — agent fetch toàn bộ docs (model, endpoint, ví dụ curl) trong 1 request.

/docs.md
Mở raw markdown Tải .md Prompt mẫu: “Đọc /docs.md và viết script tạo ảnh”

Kết nối qua MCP Server

Thêm 1 dòng cấu hình vào Claude Code / Cursor / Claude Desktop — AI agent của bạn tự generate ảnh/video bằng API key, không cần viết code.

https://mcp.tramsangtao.com/mcp
Terminal — flags đứng TRƯỚC tên server
claude mcp add --transport http --header "Authorization: Bearer sk_live_..." tramsangtao https://mcp.tramsangtao.com/mcp
Xem 13 tools có sẵn
generate_imageTạo ảnh (T2I / I2I)
generate_videoTạo video (T2V / I2V, tự route Seedance)
generate_motionMotion Control từ video tham chiếu
generate_kol_videoAvatar nói theo audio (KOL AI)
wait_for_jobChờ job xong, trả URL kết quả
get_jobXem trạng thái 1 job
get_balanceXem số credit còn lại
get_limitsXem giới hạn chạy song song / hàng đợi
list_modelsDanh sách model + giá (live)
upload_from_urlNhập ảnh/video/audio ngoài vào CDN
extract_mediaTách media từ link TikTok/YouTube (miễn phí)
llm_chatChat LLM (Gemini/GPT), tính theo token
list_llm_modelsDanh sách model LLM + giá token

Ảnh

Text-to-Image và Image-to-Image. Chọn model để xem đúng tham số, giới hạn và giá của model đó.

Video

Text-to-Video, Image-to-Video và Seedance 2.0 (ảnh + video + audio tham chiếu).

TTS — Giọng đọc

3 engine: Edge (miễn phí), CapCut (miễn phí, ≤300 ký tự) và Resona (premium, đa giọng hội thoại). Tính tiền theo mỗi 100 ký tự.

Edge / CapCut trả audio ngay

Hai engine này tạo audio đồng bộ nên response của /tts/generate đã có audio_url (status=completed). Resona chạy job thật → poll GET /v1/tts/jobs/{job_id}. Không đủ slot đồng thời thì API trả 429 thay vì xếp hàng.

LLM Chat — thuần text

API tương thích OpenAI: đổi base_url + api_key là dùng được OpenAI SDK. Tính tiền theo token (input + output).

Cách tính tiền

max(min_charge, ceil(input/1M × giá_in + output/1M × giá_out)). Nếu ví không đủ cho input + min charge, API trả 402 TRƯỚC khi gọi model. Response có thêm x_credits_charged, x_remaining_balance, x_conversation_id.

Upscale — Nâng cấp ảnh & video

Tăng độ nét bằng Topaz. Không đổi nội dung, không cần prompt. Ảnh tính theo mỗi ảnh; video tính theo giây của video gốc.

Motion Control & KOL AI

Ghép ảnh nhân vật với video chuyển động, hoặc tạo avatar nói theo audio.

Upload file

Mọi media đầu vào nên nằm trên CDN trước khi gọi generate. Chọn cách upload theo kích thước file.

Standard

File nhỏ. Gửi trực tiếp qua API — đơn giản nhất.

/files/upload/image · /video · /audio

Presigned

File lớn (video 50MB+). Upload thẳng lên CDN, không qua backend.

/files/upload/presign → PUT → /confirm

Từ URL

Đã có URL? Backend tự tải về và đẩy lên CDN.

/files/upload-url → poll status

Standard upload

gửi file trực tiếp

Presigned upload

file lớn, không timeout

Upload từ URL

backend tự tải hộ

Job & Tiện ích

Poll trạng thái job ảnh/video/motion/upscale, và trích link tải từ mạng xã hội.

Tài khoản & Models

Số dư, giới hạn đồng thời, danh sách model và bảng giá chi tiết theo server.

Dashboard

Thông tin key, lịch sử job và thống kê sử dụng — dùng để dựng dashboard riêng cho khách của bạn.

Mã lỗi

Lỗi trả về dạng { detail: ... }; các endpoint mới (TTS, Upscale) dùng envelope { detail: { error: { code, message, details } } }.

LỗiXử lý
400Bad RequestThiếu tham số, sai định dạng, hoặc gọi sai endpoint (vd model seedance ở /video/generate).
401UnauthorizedAPI key sai hoặc thiếu header Authorization.
402Insufficient FundsKhông đủ credit. Nạp thêm hoặc dùng key có pool riêng.
403ForbiddenKey không có quyền, hoặc model đang bị tắt.
404Not FoundJob ID / tài nguyên không tồn tại (hoặc không thuộc key này).
429Too Many RequestsVượt rate limit (100 req/phút) hoặc hết slot đồng thời — chờ rồi thử lại.
500Internal Server ErrorLỗi phía chúng tôi — báo support kèm job_id.
502Provider ErrorProvider từ chối/lỗi (TTS, LLM). Credit đã trừ được hoàn tự động.
503Service UnavailableProvider quá tải hoặc engine chưa cấu hình.