rawugc-api

📁 tfcbot/rawugc-skills 📅 11 days ago
4
总安装量
4
周安装量
#52133
全站排名
安装命令
npx skills add https://github.com/tfcbot/rawugc-skills --skill rawugc-api

Agent 安装分布

opencode 4
gemini-cli 4
claude-code 4
github-copilot 4
codex 4
cursor 4

Skill 文档

RawUGC Video Generation API

Procedural knowledge for agents to call the RawUGC Video Generation API. All requests require an API key from the RawUGC dashboard, passed via environment variable.

Authentication

  • Environment variable: Read the API key from RAWUGC_API_KEY. The key is created in the RawUGC dashboard and must be kept secret; do not hardcode or log it.
  • Header: Send on every request: Authorization: Bearer <value of RAWUGC_API_KEY>.
  • If RAWUGC_API_KEY is missing or empty, inform the user they must set it and obtain a key from the RawUGC dashboard.

Base URL

  • Production: https://rawugc.com/api/v1
  • All paths below are relative to this base.

Endpoints

POST /videos/generate

Initiate video generation.

Request body (JSON):

Field Type Required Description
model string Yes One of: sora-2-text-to-video, sora-2-image-to-video, kling-2.6/motion-control, veo3, veo3_fast
prompt string For text-to-video / veo3 Text description (1–5000 chars). Required for sora-2-text-to-video, veo3, veo3_fast
imageUrls string[] For image-to-video / kling Array of image URLs (max 10). Required for sora-2-image-to-video; for kling-2.6/motion-control also requires videoUrls
videoUrls string[] For kling Array of video URLs (max 1). Required only for kling-2.6/motion-control
aspectRatio string No portrait or landscape (some models also support 16:9, 9:16, Auto)
nFrames string No "10" or "15" (video length)
selectedCharacter string No Character username (e.g. rawugc.mia)
characterOrientation string No image or video
mode string No 720p or 1080p (for supported models)

Response (201): taskId, model, status (e.g. pending), creditsUsed, newBalance, estimatedCompletionTime, createdAt.

GET /videos/:taskId

Get status of a generation task. Path parameter: taskId (from the generate response).

Response (200): taskId, status (pending | processing | completed | failed), model, prompt, creditsUsed, resultUrl (when status === 'completed'), createdAt, completedAt, failCode, failMessage, progress (0–100).

GET /videos

List the user’s videos with optional filters and pagination.

Query parameters: status (optional: pending | processing | completed | failed), limit (1–100, default 50), page (default 1).

Response (200): videos (array of same shape as GET /videos/:taskId), pagination: total, page, pageSize, hasMore.

Errors

Responses use RFC 7807 Problem Details (JSON): type, title, status (HTTP code), detail, optional instance, optional errors (field-specific validation messages).

Status Meaning
400 Validation error (invalid body or params). Surface detail and errors to the user.
401 Authentication error (missing or invalid API key). Tell user to check RAWUGC_API_KEY.
402 Insufficient credits. User must add credits in RawUGC dashboard.
404 Video not found (GET /videos/:taskId).
429 Rate limit exceeded. Retry after the time indicated by response or back off.
500 Internal server error. Suggest retry or contact support.

Workflow: Generate then poll

  1. Generate: POST /videos/generate with the desired body. On 201, note taskId.
  2. Poll: Call GET /videos/:taskId periodically (e.g. every 10–30 seconds). Optionally use exponential backoff.
  3. Finish: When status === 'completed', use resultUrl for the video. When status === 'failed', surface failCode and failMessage to the user.

For full request/response shapes and status codes, see reference.md.