Doitong Tomokanga Kaiwhakawhanake

Te Pae API Whakaputa Ihirangi AI Katoa

Tomo atu ki ngā tauira AI matatau 30+ mā te API kotahi. Whakaputaina he ataata, he whakaahua, he avatar, he reo hoki me te kounga kairangi rawa atu.

30+
AI Models
8
Video APIs
9
Image Models
99.9%
Uptime SLA
<2s
Avg Response

Ngā API Kuputuhi-ki-te-Ataata

Hurihia ngā kupu hei ataata whakamiharo me ngā tauira ataata AI matatau rawa atu o te ao

🎬
Kling
Kuaishou Technology

Te whakaputa ataata matua o te ahumahi me ngā putanga e 6 (1.0-2.1). E tautoko ana i ngā aratau Paerewa me te Pro, ngā ataata 5-10 hēkona, me te hononga nekehanga tino pai.

v1.0 - v2.1 5-10 hēkona Aratau Pro 1080p
🚀
Minimax / Hailuo-02
Minimax Technology

Te whakaputa ataata matatau me te māramatanga whakaaturanga tino pai me te nekehanga māhorahora. Ko ngā tauira e wātea ana ko Hailuo-02 me HailuoI2V.

1280x720 5 hēkona Nekehanga māhorahora Whakaputa tere
Veo-3
Google DeepMind

Te tauira ataata hou a Google me te tino tūturu me te tika o te ahupūngao. He whakaputanga kounga kairangi.

Tino tūturu Tika te ahupūngao Kounga Google Kua reri mō te 4K
🎨
Runway Gen4
Runway ML

Hākoritanga whakaahua ngaio me ngā tauira Gen-2, Gen-3, me te Gen4. Ngā hua kounga whitiāhua.

Gen-2, Gen-3, Gen4 Hākoritanga whakaahua Kounga whitiāhua Ngā āhuatanga Pro
🌟
Luma Labs
Luma AI

Te whakaputa ataata toi me te Dream Machine. Waihangahia he ataata pohewa, auaha hoki me te rerehua ahurei.

Dream Machine Kāhua toi Auaha 5 hēkona
💎
Seedance
ByteDance

Te whakakotahitanga kanikani matatau me te tautoko mō te kanikani tahi a te tini. Waihangahia he ataata kanikani tukutahi mai i ngā ataata tohutoro.

Whakakotahitanga kanikani Tini tāngata Mahi tahi I runga i te tohutoro
🎯
Wan 2.2
Wan Technology

He tohunga ki ngā topenga 5-hēkona pūmau. E wātea ana i roto i ngā whakataunga 480p me te 1080p me te kounga whakaputa pono.

v2.2 5 hēkona 480p/1080p Whakaputanga pūmau
🛍️
Vidu
Vidu AI

Whakaputa ataata e arotahi ana ki te tauhokohoko-hiko. Kua whakapai ake mō ngā whakaaturanga hua me ngā ihirangi hokohoko.

Tauhokohoko-hiko Ataata hua 8 hēkona Kua reri mō te hokohoko

Ngā API Kuputuhi-ki-te-Whakaahua

Whaia he whakaahua mīharo mai i ngā whakaahuatanga kuputuhi mā te whakamahi i ngā tauira diffusion hou rawa atu

🎨
Google Imagen 3
Google AI

Google's most advanced image model with photorealistic quality and exceptional prompt adherence. Multiple sub-models available.

Photorealistic Large/Medium Fast turbo High resolution
Flux Dev
Black Forest Labs

Tauira whanaketanga tere mō ngā nganatanga tere. He toha pai i waenga i te tere me te kounga mō te hanga tauira.

Whakaputa tere Whanaketanga 50 whiwhinga Ngā wehenga katoa
💎
Flux Pro
Black Forest Labs

Te whakaputa whakaahua ngaio me te taipitopito kua whakapai ake me te mana whakahaere toi. He tino pūmau.

Ngaio Kounga tiketike 100 whiwhinga Mana whakahaere matatau
🚀
Flux Pro 1.1
Black Forest Labs

Enhanced version with improved prompt understanding and faster generation times. Better composition.

Version 1.1 250 credits Faster Improved
👑
Flux Pro 1.1 Ultra
Black Forest Labs

Te whakaputa whakaahua kounga teitei rawa atu. He taipitopito me te whakataunga tino nui mō ngā kaupapa uaua.

Kounga Ultra Whakaputa 4K 200 whiwhinga Taipitopito mōrahi
🎯
Flux Kontext
Kontext AI

Specialized for context-aware generation with Pro and Max modes. Excellent for specific style requirements.

Pro/Max modes Context-aware Style control Reference support
Flux Krea
Krea AI

Whakatinanatanga Flux kua arotauhia me ngā taumata kounga maha mō te whakaputa tere.

Maha ngā taumata Whakaputa tere Kua arotauhia Utu taurangi
🖼️
Minimax Image
Minimax

Tauira whakaahua Hainamana matatau me te māramatanga toi tino pai me te whakahaere kāhua.

Kāhua toi Kua arotauhia mō te Hainamana Kounga tiketike Tautoko puranga
🎨
Stable Diffusion
Stability AI

Tauira paerewa ahumahi puna-tuwhera me ngā kōwhiringa whakaritenga whānui.

Puna-tuwhera Ka taea te whakarite ControlNet Tautoko LoRA

Ngā API Whakaahua-ki-te-Ataata

Whakaorangia ngā whakaahua tūmau me te nekehanga me te hākoritanga mohio

🎬
Kling Animation
Kuaishou

Transform images into smooth videos with natural motion. Multiple versions and quality modes available.

Image-to-video 5-10 seconds Natural motion Pro mode
🎥
Runway Animation
Runway ML

Professional image animation with Gen-2, Gen-3, and Gen4 models. Cinema-quality results.

Gen2/3/4 Cinema quality 16:9/9:16 Pro tools

Ngā API Avatar, Tukutahi Ngutu & TTS

Whaia he avatar kōrero, ka whakaputa reo māhorahora me te tukutahi tino tika

👄
Hedra Lip Sync
Hedra AI

Hākoritanga kirihua me te tukutahi oro tino tika. Whakaorangia ngā whakaahua me ngā whakaaturanga me ngā nekehanga māhorahora.

Hākoritanga kirihua Tukutahi oro Whakaahua Whakahaere whakaaturanga
🎙️
ElevenLabs TTS
ElevenLabs

Ngā reo AI māhorahora rawa atu me te whakahaere kare-ā-roto me ngā reo maha.

Reo māhorahora Whakahaere kare-ā-roto 29 reo Tārua reo
🔊
Google TTS
Google Cloud

Google's neural text-to-speech with WaveNet voices. Over 380 voices in 50+ languages with SSML support.

380+ voices 50+ languages WaveNet SSML

Kotahi te API, He Mutunga Kore ngā Huarahi

🎯 Whakaputanga Whānui

He tikanga 'generate' kotahi mō ngā momo ihirangi katoa - ataata, whakaahua, oro, avatar. Whakangāwaritia tō whakaurunga me te API kotahi e rite tonu ana.

🤖 Kōwhiringa Kaiwhakarato Atamai

Mā tō mātou AI e kōwhiri te kaiwhakarato pai rawa atu i runga i ō whakaritenga, ka tohu rānei i tō kaiwhakarato pai mō te mana whakahaere katoa.

🔄 Ngā Tono Idempotent

He ngana anō haumaru me ngā pane Idempotency-Key. Kaua rawa e māharahara mō ngā utu tāpiri nā ngā take whatunga.

📊 Te Tepe Reiti Atamai

Ko ngā pane tepe reiti mārama (X-RateLimit-*) ka āwhina i a koe ki te whakapai ake i te wā o ngā tono me te karo i ngā hapa 429.

🔔 Ngā Webhook Haumaru

He webhook kua hainatia ki te HMAC mō ngā whakamōhiotanga tukutahi haumaru. Kia mōhio i te wā e reri ana tō ihirangi.

⚡ Ngā Waehere Hapa Mārama

Ko ngā waehere hapa ka taea e te miihini te pānui pēnei i te INSUFFICIENT_CREDITS me te RATE_LIMIT ka ngāwari ai te whakatika hapa.

Ngā Waehere Hapa Noa

Waehere Whakaahuatanga Mahi
INSUFFICIENT_CREDITS Kāore i ranea ngā whiwhinga mō tēnei mahi Whakakiia ngā whiwhinga o tō pūkete
RATE_LIMIT He maha rawa ngā tono Tirohia te pane X-RateLimit-Reset
INVALID_INPUT He hē ngā tawhā i homai Tirohia te whakauru ki te schema
PROVIDER_UNAVAILABLE Kāore te kaiwhakarato i tīpakohia i te wātea i tēnei wā Ngana anō, tuku rānei mā te kōwhiringa-a-uno e whiriwhiri
GENERATION_FAILED I hapa te whakaputa ihirangi Ngana anō me ngā tawhā rerekē

Ngā Tepe Reiti mā te Mahere

Mahere Tono/min Tukutahi Tepe ia Rā
Free 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise Custom Custom Unlimited

Ngā Tauira Waehere Tīmata Tere

# Universal generation API - Video example
curl -X POST https://api.doitong.com/graphql \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: unique-request-id-123" \
  -d '{
    "query": "mutation Generate($input: GenerateInput!) { generate(input: $input) { id status type provider url metadata { duration resolution } creditCost estimatedTime } }",
    "variables": {
      "input": {
        "type": "VIDEO",
        "provider": "minimax",
        "input": {
          "text": "A serene mountain landscape at sunset"
        },
        "options": {
          "duration": 10,
          "resolution": "1080p",
          "style": "cinematic"
        }
      }
    }
  }'

# Auto-select best provider for quality
curl -X POST https://api.doitong.com/graphql \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "mutation { generate(input: { type: VIDEO, input: { text: \"Epic dragon battle\" }, priority: QUALITY }) { id status provider creditCost } }"
  }'

# Check generation status
curl -X POST https://api.doitong.com/graphql \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query { generation(id: \"gen_abc123\") { status progress url error { code message } } }"
  }'
// Doitong Universal API Client
class DoitongAPI {
  constructor(apiKey) {
    this.apiKey = apiKey;
    this.endpoint = 'https://api.doitong.com/graphql';
  }

  async generate(input) {
    const response = await fetch(this.endpoint, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${this.apiKey}`,
        'Content-Type': 'application/json',
        'Idempotency-Key': crypto.randomUUID()
      },
      body: JSON.stringify({
        query: `
          mutation Generate($input: GenerateInput!) {
            generate(input: $input) {
              id
              status
              type
              provider
              url
              metadata
              creditCost
              estimatedTime
              error {
                code
                message
              }
            }
          }
        `,
        variables: { input }
      })
    });

    const data = await response.json();
    
    // Check for rate limits
    const remaining = response.headers.get('X-RateLimit-Remaining');
    if (remaining && parseInt(remaining) < 10) {
      console.warn(`Low rate limit: ${remaining} requests remaining`);
    }
    
    if (data.errors) {
      throw new Error(data.errors[0].message);
    }
    
    return data.data.generate;
  }

  async checkStatus(id) {
    const response = await fetch(this.endpoint, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${this.apiKey}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        query: `
          query GetGeneration($id: ID!) {
            generation(id: $id) {
              id
              status
              progress
              url
              error {
                code
                message
              }
            }
          }
        `,
        variables: { id }
      })
    });
    
    const data = await response.json();
    return data.data.generation;
  }

  async waitForCompletion(id, pollInterval = 2000) {
    while (true) {
      const result = await this.checkStatus(id);
      
      if (result.status === 'COMPLETED') {
        return result;
      } else if (result.status === 'FAILED') {
        throw new Error(result.error?.message || 'Generation failed');
      }
      
      await new Promise(resolve => setTimeout(resolve, pollInterval));
    }
  }
}

// Usage examples
const api = new DoitongAPI('YOUR_API_KEY');

// Simple video generation - let AI choose provider
const video = await api.generate({
  type: 'VIDEO',
  input: { text: 'A serene mountain landscape' }
});

// Specific provider with options
const video = await api.generate({
  type: 'VIDEO',
  provider: 'minimax',
  input: { text: 'Epic battle scene' },
  options: {
    duration: 10,
    resolution: '1080p',
    style: 'cinematic'
  }
});

// Image generation with auto-provider selection for quality
const image = await api.generate({
  type: 'IMAGE',
  input: { text: 'Photorealistic portrait' },
  priority: 'QUALITY'
});

// Wait for completion
const result = await api.waitForCompletion(video.id);
console.log('Video ready:', result.url);

// Using Apollo Client for GraphQL
import { ApolloClient, gql } from '@apollo/client';

const CREATE_VIDEO = gql`
  mutation CreateVideo($input: VideoCreateInput!) {
    videoCreate(input: $input) {
      id
      status
      videoUrl
    }
  }
`;

const client = new ApolloClient({
  uri: 'https://api.doitong.com/graphql',
  headers: {
    authorization: 'Bearer YOUR_API_KEY'
  }
});

const result = await client.mutate({
  mutation: CREATE_VIDEO,
  variables: {
    input: {
      prompt: 'Beautiful sunset over ocean',
      model: 'luma',
      duration: 9
    }
  }
});
import requests
import time
import json
import uuid
from typing import Dict, Optional, Any

class DoitongAPI:
    def __init__(self, api_key: str):
        self.api_key = api_key
        self.base_url = "https://api.doitong.com/graphql"
        self.headers = {
            "Authorization": f"Bearer {api_key}",
            "Content-Type": "application/json"
        }
    
    def generate(self, 
                 content_type: str,
                 input_data: Dict[str, Any],
                 provider: Optional[str] = None,
                 options: Optional[Dict] = None,
                 idempotency_key: Optional[str] = None) -> Dict:
        """Universal generation method for all content types"""
        
        # Add idempotency key for safe retries
        headers = self.headers.copy()
        if idempotency_key:
            headers["Idempotency-Key"] = idempotency_key
        else:
            headers["Idempotency-Key"] = str(uuid.uuid4())
        
        query = """
        mutation Generate($input: GenerateInput!) {
          generate(input: $input) {
            id
            status
            type
            provider
            url
            metadata
            creditCost
            estimatedTime
            error
            errorCode
          }
        }
        """
        
        variables = {
            "input": {
                "type": content_type.upper(),
                "input": input_data
            }
        }
        
        if provider:
            variables["input"]["provider"] = provider
        if options:
            variables["input"]["options"] = options
        
        response = requests.post(
            self.base_url,
            headers=headers,
            json={"query": query, "variables": variables}
        )
        
        # Handle rate limiting
        if response.status_code == 429:
            retry_after = response.headers.get("X-RateLimit-Reset", 60)
            raise Exception(f"Rate limited. Retry after {retry_after} seconds")
        
        data = response.json()
        
        if "errors" in data:
            error = data["errors"][0]
            raise Exception(f"API Error: {error.get('message', 'Unknown error')}")
        
        return data["data"]["generate"]
    
    def check_status(self, generation_id: str) -> Dict:
        """Check the status of a generation"""
        query = """
        query GetGeneration($id: ID!) {
          generation(id: $id) {
            id
            status
            type
            url
            progress
            error
            errorCode
            metadata
          }
        }
        """
        
        response = requests.post(
            self.base_url,
            headers=self.headers,
            json={
                "query": query,
                "variables": {"id": generation_id}
            }
        )
        
        return response.json()["data"]["generation"]
    
    def wait_for_completion(self, generation_id: str, max_wait: int = 300) -> Dict:
        """Poll until generation is complete"""
        start_time = time.time()
        
        while time.time() - start_time < max_wait:
            result = self.check_status(generation_id)
            
            if result["status"] == "completed":
                return result
            elif result["status"] == "failed":
                error_code = result.get("errorCode", "UNKNOWN_ERROR")
                error_msg = result.get("error", "Generation failed")
                raise Exception(f"[{error_code}] {error_msg}")
            
            # Adaptive polling - start fast, slow down over time
            wait_time = 2 if time.time() - start_time < 30 else 5
            time.sleep(wait_time)
        
        raise TimeoutError("Generation timed out")

# Example usage
if __name__ == "__main__":
    api = DoitongAPI("YOUR_API_KEY")
    
    try:
        # Generate a video (auto-selects best provider)
        video = api.generate(
            content_type="video",
            input_data={"text": "A majestic eagle soaring through clouds"},
            options={"duration": 10, "resolution": "1080p"}
        )
        print(f"Video generation started: {video['id']}")
        
        # Wait for completion
        result = api.wait_for_completion(video['id'])
        print(f"Video ready: {result['url']}")
        print(f"Credits used: {result['creditCost']}")
        
        # Generate with specific provider
        image = api.generate(
            content_type="image",
            provider="flux-ultra",
            input_data={"text": "Professional product photography"},
            options={"aspectRatio": "16:9", "quality": "ultra"}
        )
        
        # Generate audio/TTS
        audio = api.generate(
            content_type="audio",
            provider="elevenlabs",
            input_data={"text": "Welcome to the future of AI"},
            options={"voice": "rachel", "emotion": "excited"}
        )
        
    except Exception as e:
        print(f"Error: {e}")
# Universal generation mutation - works for all content types
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
    estimatedTime
    progress
    error
    errorCode
  }
}

# Example: Generate video (auto-select provider)
# Variables:
{
  "input": {
    "type": "VIDEO",
    "input": {
      "text": "A bustling Tokyo street at night with neon lights"
    },
    "options": {
      "duration": 10,
      "resolution": "1080p",
      "style": "cinematic"
    }
  }
}

# Example: Generate video with specific provider
# Variables:
{
  "input": {
    "type": "VIDEO",
    "provider": "kling",
    "input": {
      "text": "Epic space battle scene"
    },
    "options": {
      "mode": "pro",
      "duration": 10,
      "aspectRatio": "16:9"
    }
  }
}

# Example: Image-to-video generation
# Variables:
{
  "input": {
    "type": "VIDEO",
    "provider": "runway",
    "input": {
      "text": "Make the character dance",
      "image": "https://example.com/character.jpg"
    },
    "options": {
      "motionIntensity": "high",
      "model": "gen-3"
    }
  }
}

# Example: Generate image
# Variables:
{
  "input": {
    "type": "IMAGE",
    "provider": "flux-ultra",
    "input": {
      "text": "Photorealistic portrait in Rembrandt style"
    },
    "options": {
      "aspectRatio": "16:9",
      "quality": "ultra",
      "seed": 42
    }
  }
}

# Example: Generate audio/TTS
# Variables:
{
  "input": {
    "type": "AUDIO",
    "provider": "elevenlabs",
    "input": {
      "text": "Welcome to the future of artificial intelligence"
    },
    "options": {
      "voice": "rachel",
      "emotion": "excited",
      "speed": 1.0
    }
  }
}

# Example: Generate avatar video
# Variables:
{
  "input": {
    "type": "AVATAR",
    "provider": "heygen",
    "input": {
      "text": "Hello, I'm your AI assistant",
      "voice": "professional_female"
    },
    "options": {
      "avatarId": "kate",
      "background": "modern_office",
      "gesture": "friendly"
    },
    "webhookUrl": "https://your-app.com/webhook"
  }
}

# Query generation status
query GetGeneration($id: ID!) {
  generation(id: $id) {
    id
    status
    type
    provider
    url
    progress
    metadata {
      width
      height
      duration
      format
    }
    creditCost
    error
    errorCode
    createdAt
    completedAt
  }
}

# Cancel a generation
mutation CancelGeneration($id: ID!) {
  cancelGeneration(id: $id)
}

# Get available providers for a content type
query GetProviders($type: GenerationType!) {
  providers(type: $type) {
    id
    name
    description
    features
    limitations
    pricing {
      creditCost
      estimatedTime
    }
    options {
      name
      type
      required
      description
      allowedValues
    }
  }
}
}

Kua reri ki te Hanga i tētahi Mea Whakamiharo?

Hono atu ki ngā mano o ngā kaiwhakawhanake e whakamahi ana i tā mātou API ki te hanga ihirangi AI o te reanga hou